From 6b86b18e3ecdcef228de017dede8b9a3a3b21aa6 Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Wed, 3 Apr 2024 08:51:25 -0400 Subject: [PATCH 01/50] fix: avoid panic when calculating label for block (#2997) --- internal/hcl/block.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/hcl/block.go b/internal/hcl/block.go index 7c3713cbfcc..f98fd8d4952 100644 --- a/internal/hcl/block.go +++ b/internal/hcl/block.go @@ -1298,6 +1298,10 @@ func (b *Block) Key() *string { } func (b *Block) Label() string { + if b == nil || b.HCLBlock == nil { + return "" + } + return strings.Join(b.HCLBlock.Labels, ".") } From 8370af2d20220b289082c02792769b58426a5e94 Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Thu, 4 Apr 2024 12:03:27 +0200 Subject: [PATCH 02/50] fix(autodetect): only use directories that contain var files when associating children (#3000) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves issues with autodetect where we fail to properly associate child Terraform var files if the root directory also has children that contain root directories. Take the following example: ``` . └── terraform ├── config │ ├── dev │ │ └── terraform.tfvars │ └── prod │ └── terraform.tfvars ├── main.tf └── foo ├── main.tf └── config ├── dev │ └── terraform.tfvars └── prod └── terraform.tfvars ``` In this case, prior to this change, when we called `AssociateChildVarFiles` on the `terraform` directory we stopped traversing at the depth of the `foo` directory. This meant that we were not able to associate `config/dev/terraform.tfvars` to the project. I've now made a fix to add a method `ChildTerraformVarFiles` which traverses the tree only returning directories that contain only tfvar files. This is safe to use in the `AssociateChildVarFiles` context as this is only concerned with traversing to find child var files. --- .../generate/root_with_leafs/expected.golden | 24 ++++++++++++++++ .../generate/root_with_leafs/tree.txt | 14 ++++++++++ internal/hcl/project_locator.go | 28 +++++++++++++++++-- 3 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 cmd/infracost/testdata/generate/root_with_leafs/expected.golden create mode 100644 cmd/infracost/testdata/generate/root_with_leafs/tree.txt diff --git a/cmd/infracost/testdata/generate/root_with_leafs/expected.golden b/cmd/infracost/testdata/generate/root_with_leafs/expected.golden new file mode 100644 index 00000000000..06039f5d370 --- /dev/null +++ b/cmd/infracost/testdata/generate/root_with_leafs/expected.golden @@ -0,0 +1,24 @@ +version: 0.1 + +projects: + - path: terraform + name: terraform-dev + terraform_var_files: + - config/dev/terraform.tfvars + skip_autodetect: true + - path: terraform + name: terraform-prod + terraform_var_files: + - config/prod/terraform.tfvars + skip_autodetect: true + - path: terraform/foo + name: terraform-foo-dev + terraform_var_files: + - dev/terraform.tfvars + skip_autodetect: true + - path: terraform/foo + name: terraform-foo-prod + terraform_var_files: + - prod/terraform.tfvars + skip_autodetect: true + diff --git a/cmd/infracost/testdata/generate/root_with_leafs/tree.txt b/cmd/infracost/testdata/generate/root_with_leafs/tree.txt new file mode 100644 index 00000000000..cdb60d2ef96 --- /dev/null +++ b/cmd/infracost/testdata/generate/root_with_leafs/tree.txt @@ -0,0 +1,14 @@ +. +└── terraform + ├── config + │ ├── dev + │ │ └── terraform.tfvars + │ └── prod + │ └── terraform.tfvars + ├── main.tf + └── foo + ├── main.tf + ├── dev + │ └── terraform.tfvars + └── prod + └── terraform.tfvars diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index 644e8b8b773..9ca0a927019 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -611,6 +611,27 @@ func (t *TreeNode) ChildNodes() []*TreeNode { return children } +// ChildTerraformVarFiles returns the first set of child nodes that contain just terraform +// var files. +func (t *TreeNode) ChildTerraformVarFiles() []*TreeNode { + var children []*TreeNode + for _, child := range t.Children { + if child.TerraformVarFiles != nil && child.RootPath == nil { + children = append(children, child) + } + } + + if len(children) > 0 { + return children + } + + for _, child := range t.Children { + children = append(children, child.ChildTerraformVarFiles()...) + } + + return children +} + // AddTerraformVarFiles adds a directory that contains Terraform var files to the tree. func (t *TreeNode) AddTerraformVarFiles(basePath, dir string, files []RootPathVarFile) { rel, _ := filepath.Rel(basePath, dir) @@ -716,8 +737,11 @@ func (t *TreeNode) AssociateChildVarFiles() { return } - for _, child := range t.ChildNodes() { - if child.TerraformVarFiles == nil { + for _, child := range t.ChildTerraformVarFiles() { + // if the child has already been associated with a project skip it as the var + // directory has already been associated with a root module which is a closer + // relation to it than the current root path. + if child.TerraformVarFiles.Used { continue } From cdc11adb680cb93dfcdfe8c3beb72fdc823725a2 Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Thu, 4 Apr 2024 09:27:03 -0400 Subject: [PATCH 03/50] enhance: remove usage api feature flag (#2999) * enhance: remove usageApiEnabled feature flags * test: update golden files * test: update golden file * test: update golden file --- ...wn_auto_with_multi_varfile_projects.golden | 87 +- ...n_config_file_with_skip_auto_detect.golden | 63 +- ...eakdown_config_file_with_usage_file.golden | 43 +- .../breakdown_format_table.golden | 57 +- .../breakdown_invalid_path.golden | 13 +- .../breakdown_multi_project_autodetect.golden | 63 +- .../breakdown_multi_project_skip_paths.golden | 35 +- ...multi_project_skip_paths_root_level.golden | 35 +- ...kdown_multi_project_with_all_errors.golden | 15 +- .../breakdown_multi_project_with_error.golden | 41 +- .../breakdown_plan_error.golden | 13 +- .../breakdown_terraform_directory.golden | 45 +- ...rm_directory_with_default_var_files.golden | 41 +- ...rm_directory_with_recursive_modules.golden | 197 +- .../breakdown_terraform_fields_all.golden | 57 +- .../breakdown_terraform_fields_invalid.golden | 57 +- .../infracost_output.golden | 87 +- .../breakdown_terraform_plan_json.golden | 57 +- .../breakdown_terraform_show_skipped.golden | 31 +- ...breakdown_terraform_sync_usage_file.golden | 69 +- .../breakdown_terraform_usage_file.golden | 57 +- ...wn_terraform_usage_file_invalid_key.golden | 83 +- ...erraform_usage_file_wildcard_module.golden | 181 +- ...breakdown_terraform_use_state_v0_12.golden | 89 +- ...breakdown_terraform_use_state_v0_14.golden | 89 +- .../breakdown_terraform_v0_12.golden | 159 +- .../breakdown_terraform_v0_14.golden | 159 +- .../breakdown_terraform_wrapper.golden | 45 +- .../breakdown_terragrunt.golden | 77 +- .../breakdown_terragrunt_extra_args.golden | 35 +- .../breakdown_terragrunt_get_env.golden | 77 +- ...down_terragrunt_get_env_config_file.golden | 49 +- ...n_terragrunt_get_env_with_whitelist.golden | 51 +- ...breakdown_terragrunt_hcldeps_output.golden | 119 +- ...n_terragrunt_hcldeps_output_include.golden | 45 +- ...wn_terragrunt_hcldeps_output_mocked.golden | 111 +- ...grunt_hcldeps_output_single_project.golden | 45 +- ...erragrunt_hclmodule_output_for_each.golden | 39 +- .../breakdown_terragrunt_hclmulti.golden | 77 +- ...kdown_terragrunt_hclmulti_no_source.golden | 77 +- .../breakdown_terragrunt_hclsingle.golden | 45 +- .../breakdown_terragrunt_iamroles.golden | 45 +- .../breakdown_terragrunt_include_deps.golden | 63 +- .../breakdown_terragrunt_nested.golden | 77 +- .../breakdown_terragrunt_skip_paths.golden | 115 +- .../breakdown_terragrunt_source_map.golden | 45 +- ...n_terragrunt_with_dashboard_enabled.golden | 77 +- ...wn_terragrunt_with_mocked_functions.golden | 45 +- ...down_terragrunt_with_parent_include.golden | 35 +- ...kdown_terragrunt_with_remote_source.golden | 281 ++- ...reakdown_with_data_blocks_in_submod.golden | 73 +- .../breakdown_with_deep_merge_module.golden | 19 +- .../breakdown_with_depends_upon_module.golden | 31 +- .../breakdown_with_dynamic_iterator.golden | 63 +- ...reakdown_with_local_path_data_block.golden | 45 +- .../breakdown_with_mocked_merge.golden | 39 +- .../breakdown_with_multiple_providers.golden | 67 +- .../breakdown_with_nested_foreach.golden | 35 +- ...akdown_with_nested_provider_aliases.golden | 29 +- .../breakdown_with_optional_variables.golden | 67 +- ...h_private_terraform_registry_module.golden | 79 +- ...wn_with_providers_depending_on_data.golden | 39 +- .../breakdown_with_target.golden | 29 +- .../breakdown_with_workspace.golden | 35 +- .../comment_azure_repos_pull_request.golden | 34 +- .../comment_bitbucket_commit.golden | 26 +- .../comment_bitbucket_exclude_details.golden | 14 +- .../comment_bitbucket_pull_request.golden | 26 +- .../comment_git_hub_commit.golden | 34 +- .../comment_git_hub_no_diff.golden | 7 +- .../comment_git_hub_pull_request.golden | 34 +- .../comment_git_hub_show_all_projects.golden | 40 +- ...mment_git_hub_show_changed_projects.golden | 22 +- ...it_hub_with_additional_comment_path.golden | 22 +- .../comment_git_lab_commit.golden | 34 +- .../comment_git_lab_merge_request.golden | 34 +- .../config_file_nil_projects_errors.golden | 3 + .../diff_prior_empty_project.golden | 12 +- .../diff_project_name.golden | 28 +- .../diff_terraform_directory.golden | 12 +- .../infracost_output.golden | 12 +- .../diff_terraform_plan_json.golden | 12 +- .../diff_terraform_show_skipped.golden | 12 +- .../diff_terraform_usage_file.golden | 12 +- .../diff_terraform_v0_12.golden | 12 +- .../diff_terraform_v0_14.golden | 12 +- .../diff_terragrunt/diff_terragrunt.golden | 14 +- .../diff_terragrunt_nested.golden | 14 +- .../diff_with_compare_to.golden | 12 +- .../diff_with_config_file_compare_to.golden | 14 +- ...fig_file_compare_to_deleted_project.golden | 14 +- .../diff_with_infracost_json.golden | 12 +- .../diff_with_target/diff_with_target.golden | 12 +- ...ig_file_and_terraform_workspace_env.golden | 45 +- ...rs_terraform_workspace_flag_and_env.golden | 45 +- .../hcllocal_object_mock.golden | 29 +- .../hclmodule_count/hclmodule_count.golden | 51 +- .../hclmodule_for_each.golden | 51 +- .../hclmodule_output_counts.golden | 19 +- .../hclmodule_output_counts_nested.golden | 19 +- ...lmodule_reevaluated_on_input_change.golden | 35 +- .../hclmodule_relative_filesets.golden | 43 +- .../hclmulti_project_infra.hcl.golden | 213 +- .../hclmulti_var_files.golden | 45 +- .../hclmulti_workspace.golden | 83 +- .../hclprovider_alias.golden | 35 +- ...stance_with_attachment_after_deploy.golden | 35 +- ...tance_with_attachment_before_deploy.golden | 35 +- .../output_format_azure_repos_comment.golden | 40 +- ...zure_repos_comment_multiple_skipped.golden | 40 +- ...ormat_azure_repos_comment_no_change.golden | 4 +- ...ut_format_bitbucket_comment_summary.golden | 6 +- ...itbucket_comment_with_project_names.golden | 46 +- .../output_format_git_hub_comment.golden | 40 +- ...at_git_hub_comment_multiple_skipped.golden | 40 +- ...ut_format_git_hub_comment_no_change.golden | 4 +- ...t_format_git_hub_comment_no_project.golden | 4 +- ...t_git_hub_comment_show_all_projects.golden | 52 +- ...rmat_git_hub_comment_with_all_error.golden | 7 +- ...git_hub_comment_with_project_errors.golden | 34 +- ..._git_hub_comment_with_project_names.golden | 58 +- ...nt_with_project_names_with_metadata.golden | 64 +- ...git_hub_comment_without_module_path.golden | 24 +- .../output_format_git_lab_comment.golden | 40 +- ...at_git_lab_comment_multiple_skipped.golden | 40 +- ...ut_format_git_lab_comment_no_change.golden | 4 +- .../output_format_slack_message.golden | 2 +- ..._format_slack_message_more_projects.golden | 2 +- ...rmat_slack_message_multiple_skipped.golden | 2 +- .../output_format_table.golden | 111 +- .../output_format_table_with_error.golden | 39 +- .../output_jsonarray_path.golden | 281 ++- .../output_terraform_fields_all.golden | 115 +- .../infracost_output.golden | 59 +- internal/output/diff.go | 71 +- internal/output/markdown.go | 14 +- internal/output/table.go | 69 +- .../acm_certificate_test.golden | 23 +- .../acmpca_certificate_authority_test.golden | 71 +- .../api_gateway_rest_api_test.golden | 35 +- .../api_gateway_stage_test.golden | 31 +- .../apigatewayv2_api_test.golden | 49 +- .../autoscaling_group_test.golden | 385 +-- .../backup_vault_test.golden | 73 +- .../cloudformation_stack_set_test.golden | 31 +- .../cloudformation_stack_test.golden | 31 +- .../cloudfront_distribution_test.golden | 363 +-- .../cloudhsm_v2_hsm_test.golden | 29 +- .../cloudtrail_test/cloudtrail_test.golden | 51 +- .../cloudwatch_dashboard_test.golden | 25 +- .../cloudwatch_event_bus_test.golden | 45 +- .../cloudwatch_log_group_test.golden | 67 +- .../cloudwatch_metric_alarm_test.golden | 43 +- .../codebuild_project_test.golden | 47 +- .../config_config_rule_test.golden | 33 +- .../config_configuration_recorder_test.golden | 33 +- ...onfig_organization_custom_rule_test.golden | 33 +- ...nfig_organization_managed_rule_test.golden | 33 +- .../data_transfer_test.golden | 451 ++-- .../db_instance_test/db_instance_test.golden | 627 ++--- .../directory_service_directory_test.golden | 65 +- .../aws/testdata/dms_test/dms_test.golden | 33 +- .../docdb_cluster_instance_test.golden | 85 +- .../docdb_cluster_snapshot_test.golden | 41 +- .../docdb_cluster_test.golden | 41 +- .../dx_connection_test.golden | 41 +- .../dx_gateway_association_test.golden | 33 +- .../dynamodb_table_test.golden | 149 +- .../ebs_snapshot_copy_test.golden | 43 +- .../ebs_snapshot_test.golden | 51 +- .../ebs_volume_test/ebs_volume_test.golden | 77 +- .../ec2_client_vpn_endpoint_test.golden | 25 +- ...client_vpn_network_association_test.golden | 25 +- .../ec2_host_test/ec2_host_test.golden | 67 +- .../ec2_traffic_mirror_session_test.golden | 25 +- ...sit_gateway_peering_attachment_test.golden | 25 +- ...transit_gateway_vpc_attachment_test.golden | 27 +- .../ecr_repository_test.golden | 29 +- .../ecs_service_test/ecs_service_test.golden | 99 +- .../efs_file_system_test.golden | 67 +- .../aws/testdata/eip_test/eip_test.golden | 51 +- .../eks_cluster_test/eks_cluster_test.golden | 67 +- .../eks_fargate_profile_test.golden | 33 +- .../eks_node_group_test.golden | 145 +- .../elastic_beanstalk_environment_test.golden | 157 +- .../elasticache_cluster_test.golden | 63 +- .../elasticache_replication_group_test.golden | 55 +- .../elasticsearch_domain_test.golden | 133 +- .../aws/testdata/elb_test/elb_test.golden | 33 +- .../fsx_openzfs_file_system_test.golden | 61 +- .../fsx_windows_file_system_test.golden | 57 +- ...bal_accelerator_endpoint_group_test.golden | 69 +- .../global_accelerator_test.golden | 25 +- .../glue_catalog_database_test.golden | 33 +- .../glue_crawler_test.golden | 29 +- .../glue_job_test/glue_job_test.golden | 53 +- .../instance_test/instance_test.golden | 379 +-- ...nesis_firehose_delivery_stream_test.golden | 111 +- .../kinesis_stream_test.golden | 153 +- .../kinesisanalytics_application_test.golden | 29 +- ...alyticsv2_application_snapshot_test.golden | 53 +- ...kinesisanalyticsv2_application_test.golden | 47 +- .../kms_external_key_test.golden | 25 +- .../testdata/kms_key_test/kms_key_test.golden | 47 +- .../lambda_function_test.golden | 129 +- ...provisioned_concurrency_config_test.golden | 27 +- .../aws/testdata/lb_test/lb_test.golden | 57 +- .../lightsail_instance_test.golden | 31 +- .../mq_broker_test/mq_broker_test.golden | 57 +- .../msk_cluster_test/msk_cluster_test.golden | 49 +- .../mwaa_environment_test.golden | 53 +- .../nat_gateway_test/nat_gateway_test.golden | 33 +- .../neptune_cluster_instance_test.golden | 69 +- .../neptune_cluster_snapshot_test.golden | 63 +- .../neptune_cluster_test.golden | 45 +- .../networkfirewall_firewall_test.golden | 33 +- .../opensearch_domain_test.golden | 49 +- .../rds_cluster_instance_test.golden | 177 +- .../rds_cluster_test/rds_cluster_test.golden | 109 +- .../redshift_cluster_test.golden | 73 +- .../route53_health_check_test.golden | 95 +- .../route53_record_test.golden | 55 +- .../route53_resolver_endpoint_test.golden | 43 +- .../route53_zone_test.golden | 25 +- ...bucket_analytics_configuration_test.golden | 61 +- .../s3_bucket_inventory_test.golden | 93 +- ...bucket_lifecycle_configuration_test.golden | 427 ++-- .../s3_bucket_test/s3_bucket_test.golden | 157 +- .../s3_bucket_v3_test.golden | 269 +- .../secretsmanager_secret_test.golden | 33 +- .../sfn_state_machine_test.golden | 67 +- .../sns_topic_subscription_test.golden | 29 +- .../sns_topic_test/sns_topic_test.golden | 141 +- .../sqs_queue_test/sqs_queue_test.golden | 41 +- .../ssm_activation_test.golden | 29 +- .../ssm_parameter_test.golden | 33 +- .../transfer_server_test.golden | 41 +- .../vpc_endpoint_test.golden | 69 +- .../vpn_connection_test.golden | 49 +- .../waf_web_acl_test/waf_web_acl_test.golden | 53 +- .../wafv2_web_acl_test.golden | 45 +- ...ory_domain_service_replica_set_test.golden | 31 +- ...ctive_directory_domain_service_test.golden | 37 +- .../api_management_test.golden | 63 +- .../app_configuration_test.golden | 65 +- ...pp_service_certificate_binding_test.golden | 25 +- .../app_service_certificate_order_test.golden | 31 +- ...ervice_custom_hostname_binding_test.golden | 31 +- .../app_service_environment_test.golden | 67 +- .../app_service_plan_test.golden | 79 +- .../application_gateway_test.golden | 103 +- ...cation_insights_standard_web_t_test.golden | 49 +- .../application_insights_test.golden | 37 +- .../application_insights_web_t_test.golden | 31 +- .../automation_account_test.golden | 45 +- .../automation_dsc_configuration_test.golden | 39 +- ...tomation_dsc_nodeconfiguration_test.golden | 45 +- .../automation_job_schedule_test.golden | 29 +- .../bastion_host_test.golden | 35 +- .../cdn_endpoint_test.golden | 93 +- .../cognitive_account_test.golden | 579 ++--- .../cognitive_deployment_test.golden | 760 +++--- .../container_registry_test.golden | 75 +- .../cosmosdb_cassandra_keyspace_test.golden | 105 +- ...yspace_test_with_blank_geo_location.golden | 31 +- .../cosmosdb_cassandra_table_test.golden | 195 +- .../cosmosdb_gremlin_database_test.golden | 105 +- .../cosmosdb_gremlin_graph_test.golden | 123 +- .../cosmosdb_mongo_collection_test.golden | 195 +- .../cosmosdb_mongo_database_test.golden | 105 +- .../cosmosdb_sql_container_test.golden | 127 +- .../cosmosdb_sql_database_test.golden | 123 +- .../cosmosdb_table_test.golden | 105 +- ...integration_runtime_azure_ssis_test.golden | 45 +- ...tory_integration_runtime_azure_test.golden | 81 +- ...ry_integration_runtime_managed_test.golden | 67 +- ...ntegration_runtime_self_hosted_test.golden | 49 +- .../data_factory_test.golden | 33 +- .../databricks_workspace_test.golden | 47 +- .../dns_a_record_test.golden | 43 +- .../dns_aaaa_record_test.golden | 43 +- .../dns_caa_record_test.golden | 43 +- .../dns_cname_record_test.golden | 43 +- .../dns_mx_record_test.golden | 43 +- .../dns_ns_record_test.golden | 43 +- .../dns_ptr_record_test.golden | 43 +- .../dns_srv_record_test.golden | 43 +- .../dns_txt_record_test.golden | 43 +- .../dns_zone_test/dns_zone_test.golden | 31 +- .../event_hubs_namespace_test.golden | 85 +- .../eventgrid_system_topic_test.golden | 45 +- .../eventgrid_topic_test.golden | 29 +- .../express_route_connection_test.golden | 31 +- .../express_route_gateway_test.golden | 25 +- .../federated_identity_credential_test.golden | 37 +- .../firewall_test/firewall_test.golden | 65 +- .../frontdoor_firewall_policy_test.golden | 45 +- .../frontdoor_test/frontdoor_test.golden | 49 +- .../function_app_test.golden | 117 +- .../function_linux_app_test.golden | 357 +-- .../function_windows_app_test.golden | 357 +-- .../hdinsight_hadoop_cluster_test.golden | 61 +- .../hdinsight_hbase_cluster_test.golden | 49 +- ...ight_interactive_query_cluster_test.golden | 49 +- .../hdinsight_kafka_cluster_test.golden | 81 +- .../hdinsight_spark_cluster_test.golden | 49 +- .../testdata/image_test/image_test.golden | 151 +- ...ntegration_service_environment_test.golden | 39 +- .../testdata/iothub_test/iothub_test.golden | 41 +- .../key_vault_certificate_test.golden | 43 +- .../key_vault_key_test.golden | 119 +- ...naged_hardware_security_module_test.golden | 25 +- .../kubernetes_cluster_node_pool_test.golden | 113 +- .../kubernetes_cluster_test.golden | 103 +- .../lb_outbound_rule_test.golden | 37 +- .../lb_outbound_rule_v2_test.golden | 37 +- .../testdata/lb_rule_test/lb_rule_test.golden | 49 +- .../lb_rule_v2_test/lb_rule_v2_test.golden | 49 +- .../azure/testdata/lb_test/lb_test.golden | 29 +- ...inux_virtual_machine_scale_set_test.golden | 43 +- .../linux_virtual_machine_test.golden | 111 +- .../log_analytics_workspace_test.golden | 241 +- .../logic_app_integration_account_test.golden | 31 +- .../logic_app_standard_test.golden | 105 +- ...chine_learning_compute_cluster_test.golden | 467 ++-- ...hine_learning_compute_instance_test.golden | 143 +- .../managed_disk_test.golden | 49 +- .../mariadb_server_test.golden | 69 +- .../monitor_action_group_test.golden | 97 +- .../monitor_data_collection_rule_test.golden | 29 +- .../monitor_diagnostic_setting_test.golden | 29 +- .../monitor_metric_alert_test.golden | 47 +- ...or_scheduled_query_rules_alert_test.golden | 43 +- ...scheduled_query_rules_alert_v2_test.golden | 89 +- .../mssql_database_test.golden | 247 +- ...l_database_test_with_blank_location.golden | 29 +- .../mssql_elasticpool_test.golden | 89 +- .../mssql_managed_instance_test.golden | 55 +- .../mysql_flexible_server_test.golden | 69 +- .../mysql_server_test.golden | 69 +- .../nat_gateway_test/nat_gateway_test.golden | 47 +- .../network_connection_monitor_test.golden | 53 +- .../network_ddos_protection_plan_test.golden | 33 +- .../network_watcher_flow_log_test.golden | 61 +- .../network_watcher_test.golden | 29 +- .../notification_hub_namespace_test.golden | 83 +- .../point_to_site_vpn_gateway_test.golden | 31 +- .../postgresql_flexible_server_test.golden | 77 +- .../postgresql_server_test.golden | 69 +- .../powerbi_embedded_test.golden | 31 +- .../private_dns_a_record_test.golden | 43 +- .../private_dns_aaaa_record_test.golden | 43 +- .../private_dns_cname_record_test.golden | 43 +- .../private_dns_mx_record_test.golden | 43 +- .../private_dns_ptr_record_test.golden | 43 +- ...esolver_dns_forwarding_ruleset_test.golden | 31 +- ..._dns_resolver_inbound_endpoint_test.golden | 25 +- ...dns_resolver_outbound_endpoint_test.golden | 25 +- .../private_dns_srv_record_test.golden | 43 +- .../private_dns_txt_record_test.golden | 43 +- .../private_dns_zone_test.golden | 31 +- .../private_endpoint_test.golden | 89 +- .../public_ip_prefix_test.golden | 25 +- .../public_ip_test/public_ip_test.golden | 37 +- .../recovery_services_vault_test.golden | 419 ++-- .../redis_cache_test/redis_cache_test.golden | 61 +- .../search_service_test.golden | 59 +- ...ty_center_subscription_pricing_test.golden | 193 +- ...data_connector_aws_cloud_trail_test.golden | 59 +- ...nnector_azure_active_directory_test.golden | 59 +- ...ure_advanced_threat_protection_test.golden | 59 +- ...onnector_azure_security_center_test.golden | 59 +- ...r_microsoft_cloud_app_security_test.golden | 59 +- ...der_advanced_threat_protection_test.golden | 59 +- ...inel_data_connector_office_365_test.golden | 59 +- ..._connector_threat_intelligence_test.golden | 59 +- .../service_plan_test.golden | 1639 ++++++------ .../servicebus_namespace_test.golden | 117 +- .../signalr_service_test.golden | 49 +- .../snapshot_test/snapshot_test.golden | 51 +- .../sql_database_test.golden | 169 +- .../sql_elasticpool_test.golden | 39 +- .../sql_managed_instance_test.golden | 55 +- .../storage_account_test.golden | 797 +++--- .../storage_queue_test.golden | 237 +- .../storage_share_test.golden | 271 +- .../synapse_spark_pool_test.golden | 77 +- .../synapse_sql_pool_test.golden | 93 +- .../synapse_workspace_test.golden | 143 +- ...traffic_manager_azure_endpoint_test.golden | 47 +- ...ffic_manager_external_endpoint_test.golden | 47 +- ...raffic_manager_nested_endpoint_test.golden | 47 +- .../traffic_manager_profile_test.golden | 41 +- .../virtual_hub_test/virtual_hub_test.golden | 31 +- .../virtual_machine_scale_set_test.golden | 65 +- .../virtual_machine_test.golden | 97 +- ...ual_network_gateway_connection_test.golden | 131 +- .../virtual_network_gateway_test.golden | 95 +- .../virtual_network_peering_test.golden | 65 +- .../vpn_gateway_connection_test.golden | 31 +- .../vpn_gateway_test/vpn_gateway_test.golden | 31 +- ...dows_virtual_machine_scale_set_test.golden | 43 +- .../windows_virtual_machine_test.golden | 101 +- .../artifact_registry_repository_test.golden | 69 +- .../bigquery_dataset_test.golden | 29 +- .../bigquery_table_test.golden | 51 +- .../cloudfunctions_function_test.golden | 41 +- .../compute_address_test.golden | 79 +- .../compute_disk_test.golden | 115 +- .../compute_external_vpn_gateway_test.golden | 35 +- .../compute_forwarding_rule_test.golden | 41 +- .../compute_ha_vpn_gateway_test.golden | 37 +- .../compute_image_test.golden | 71 +- ...compute_instance_group_manager_test.golden | 31 +- .../compute_instance_test.golden | 189 +- .../compute_machine_image_test.golden | 37 +- .../compute_per_instance_config_test.golden | 27 +- ..._region_instance_group_manager_test.golden | 29 +- ...ute_region_per_instance_config_test.golden | 27 +- .../compute_router_nat_test.golden | 39 +- .../compute_snapshot_test.golden | 35 +- .../compute_target_grpc_proxy_test.golden | 81 +- .../compute_vpn_gateway_test.golden | 37 +- .../compute_vpn_tunnel_test.golden | 25 +- .../container_cluster_test.golden | 291 +-- .../container_node_pool_test.golden | 261 +- .../container_registry_test.golden | 89 +- .../dns_managed_zone_test.golden | 25 +- .../dns_record_set_test.golden | 29 +- .../kms_crypto_key_test.golden | 43 +- ..._billing_account_bucket_config_test.golden | 29 +- .../logging_billing_account_sink_test.golden | 29 +- .../logging_folder_bucket_config_test.golden | 29 +- .../logging_folder_sink_test.golden | 29 +- ...ing_organization_bucket_config_test.golden | 29 +- .../logging_organization_sink_test.golden | 29 +- .../logging_project_bucket_config_test.golden | 29 +- .../logging_project_sink_test.golden | 29 +- .../monitoring_metric_descriptor_test.golden | 37 +- .../pubsub_subscription_test.golden | 37 +- .../pubsub_topic_test.golden | 29 +- .../redis_instance_test.golden | 79 +- .../secret_manager_secret_test.golden | 47 +- .../secret_manager_secret_version_test.golden | 61 +- .../service_networking_connection_test.golden | 59 +- .../sql_database_instance_test.golden | 2227 +++++++++-------- .../storage_bucket_test.golden | 97 +- 447 files changed, 18633 insertions(+), 17209 deletions(-) diff --git a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden index 053bcce2ed7..2d7f8a58114 100644 --- a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden +++ b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden @@ -1,62 +1,65 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/multi-dev Module path: multi - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $747.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $747.64 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/multi-prod Module path: multi - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $1,308.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $1,308.28 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/single Module path: single - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $1,303.28 - - OVERALL TOTAL $3,359.20 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $1,303.28 + + OVERALL TOTAL $3,359.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...lti_varfile_projects/multi-dev ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...ti_varfile_projects/multi-prod ┃ $1,308 ┃ -┃ infracost/infracost/cmd/infraco..._multi_varfile_projects/single ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...lti_varfile_projects/multi-dev ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...ti_varfile_projects/multi-prod ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ infracost/infracost/cmd/infraco..._multi_varfile_projects/single ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden index dee92f9f720..c9e30d44a5d 100644 --- a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden +++ b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden @@ -1,45 +1,48 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/infra Module path: infra - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $1,303.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $1,303.28 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/infra/dev Module path: infra/dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $742.64 - - OVERALL TOTAL $2,045.92 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $742.64 + + OVERALL TOTAL $2,045.92 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...le_with_skip_auto_detect/infra ┃ $1,303 ┃ -┃ infracost/infracost/cmd/infraco...ith_skip_auto_detect/infra/dev ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...le_with_skip_auto_detect/infra ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┃ infracost/infracost/cmd/infraco...ith_skip_auto_detect/infra/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden b/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden index f27d4c671c3..3765ce42156 100644 --- a/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden +++ b/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden @@ -1,37 +1,40 @@ Project: default_usage Module path: flag_usage - Name Monthly Qty Unit Monthly Cost - - aws_lambda_function.hello_world - ├─ Requests 10 1M requests $2.00 - └─ Duration (first 6B) 5,000,000 GB-seconds $83.33 - - Project total $85.33 + Name Monthly Qty Unit Monthly Cost + + aws_lambda_function.hello_world + ├─ Requests 10 1M requests $2.00 * + └─ Duration (first 6B) 5,000,000 GB-seconds $83.33 * + + Project total $85.33 ────────────────────────────────── Project: config_usage Module path: config_usage - Name Monthly Qty Unit Monthly Cost - - aws_lambda_function.hello_world - ├─ Requests 900 1M requests $180.00 - └─ Duration (first 6B) 810,000,000 GB-seconds $13,500.03 - - Project total $13,680.03 + Name Monthly Qty Unit Monthly Cost + + aws_lambda_function.hello_world + ├─ Requests 900 1M requests $180.00 * + └─ Duration (first 6B) 810,000,000 GB-seconds $13,500.03 * + + Project total $13,680.03 OVERALL TOTAL $13,765.36 + +*Usage costs were estimated using values from the config files. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ default_usage ┃ $85 ┃ -┃ config_usage ┃ $13,680 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ default_usage ┃ $0.00 ┃ $85 ┃ $85 ┃ +┃ config_usage ┃ $0.00 ┃ $13,680 ┃ $13,680 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_format_table/breakdown_format_table.golden b/cmd/infracost/testdata/breakdown_format_table/breakdown_format_table.golden index 5dcbf7ae578..2a48c60ab1c 100644 --- a/cmd/infracost/testdata/breakdown_format_table/breakdown_format_table.golden +++ b/cmd/infracost/testdata/breakdown_format_table/breakdown_format_table.golden @@ -1,37 +1,40 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests 100 1M requests $20.00 - └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests 100 1M requests $20.00 * + └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 * + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + OVERALL TOTAL $1,361.31 + +*Usage costs were estimated using ./testdata/example_usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,361 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $925 ┃ $437 ┃ $1,361 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden index 3424be48688..0e21612f9fe 100644 --- a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden +++ b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden @@ -6,14 +6,17 @@ Errors: Try adding a config-file to configure how Infracost should run. See https://infracost.io/config-file for details and examples. OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/invalid ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/invalid ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden index 5f3661bf6c6..45b9aef4098 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden @@ -1,45 +1,48 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_autodetect/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $742.64 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_autodetect/prod Module path: prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $1,303.28 - - OVERALL TOTAL $2,045.92 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $1,303.28 + + OVERALL TOTAL $2,045.92 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_multi_project_autodetect/dev ┃ $743 ┃ -┃ infracost/infracost/cmd/infraco..._multi_project_autodetect/prod ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_multi_project_autodetect/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ infracost/infracost/cmd/infraco..._multi_project_autodetect/prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden index fbe83c60bbe..d69956dab2c 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_skip_paths/shown Module path: shown - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - OVERALL TOTAL $1,303.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + OVERALL TOTAL $1,303.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...multi_project_skip_paths/shown ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...multi_project_skip_paths/shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden index f31907a7814..c5806e0cb0b 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/shown Module path: shown - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - OVERALL TOTAL $1,303.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + OVERALL TOTAL $1,303.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ct_skip_paths_root_level/shown ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ct_skip_paths_root_level/shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden index 8956da286de..547bcf63466 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden @@ -18,15 +18,18 @@ Errors: Invalid block definition; Either a quoted string block label or an opening brace ("{") is expected here., and 1 other diagnostic(s) OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ti_project_with_all_errors/dev ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco...i_project_with_all_errors/prod ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ti_project_with_all_errors/dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ infracost/infracost/cmd/infraco...i_project_with_all_errors/prod ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden index 3823ca5accc..62d2b296fdd 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden @@ -11,29 +11,32 @@ Errors: Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/prod Module path: prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $1,303.28 - - OVERALL TOTAL $1,303.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $1,303.28 + + OVERALL TOTAL $1,303.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_multi_project_with_error/dev ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_multi_project_with_error/dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_plan_error/breakdown_plan_error.golden b/cmd/infracost/testdata/breakdown_plan_error/breakdown_plan_error.golden index 8d1630415d6..045864e687d 100644 --- a/cmd/infracost/testdata/breakdown_plan_error/breakdown_plan_error.golden +++ b/cmd/infracost/testdata/breakdown_plan_error/breakdown_plan_error.golden @@ -16,14 +16,17 @@ You have two options: 2. Set --path to a Terraform plan JSON file. See https://infracost.io/troubleshoot for how to generate this. OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terraform ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden index e56cc417ba8..b726deaee14 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/examples/terraform - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $742.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden index 24ccab7cb68..2d7a05d64d7 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden @@ -1,28 +1,31 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.2xlarge) 730 hours $280.32 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - ├─ ebs_block_device[0] - │ ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - │ └─ Provisioned IOPS 1,000 IOPS $65.00 - └─ ebs_block_device[1] - ├─ Storage (provisioned IOPS SSD, io1) 2,000 GB $250.00 - └─ Provisioned IOPS 500 IOPS $32.50 - - OVERALL TOTAL $757.82 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.2xlarge) 730 hours $280.32 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + ├─ ebs_block_device[0] + │ ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + │ └─ Provisioned IOPS 1,000 IOPS $65.00 + └─ ebs_block_device[1] + ├─ Storage (provisioned IOPS SSD, io1) 2,000 GB $250.00 + └─ Provisioned IOPS 500 IOPS $32.50 + + OVERALL TOTAL $757.82 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...rectory_with_default_var_files ┃ $758 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...rectory_with_default_var_files ┃ $758 ┃ $0.00 ┃ $758 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden index 583491f0d65..2d73b50e973 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden @@ -1,106 +1,109 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules - Name Monthly Qty Unit Monthly Cost - - module.small_app.module.child_instance.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - module.small_app_gp2.module.child_instance.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - module.big_app.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - └─ Storage (general purpose SSD, gp2) 1,000 GB $100.00 - - module.big_app_gp2.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - └─ Storage (general purpose SSD, gp2) 1,000 GB $100.00 - - module.big_app_with_output.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - └─ Storage (general purpose SSD, gp2) 1,000 GB $100.00 - - module.big_app.module.child_instance.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - module.big_app_gp2.module.child_instance.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - module.big_app_with_output.module.child_instance.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - module.small_app.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - module.small_app_gp2.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - └─ Storage (general purpose SSD, gp2) 1,000 GB $100.00 - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.2xlarge) 730 hours $280.32 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $10,383.92 + Name Monthly Qty Unit Monthly Cost + + module.small_app.module.child_instance.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + module.small_app_gp2.module.child_instance.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + module.big_app.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + └─ Storage (general purpose SSD, gp2) 1,000 GB $100.00 + + module.big_app_gp2.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + └─ Storage (general purpose SSD, gp2) 1,000 GB $100.00 + + module.big_app_with_output.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + └─ Storage (general purpose SSD, gp2) 1,000 GB $100.00 + + module.big_app.module.child_instance.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + module.big_app_gp2.module.child_instance.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + module.big_app_with_output.module.child_instance.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + module.small_app.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + module.small_app_gp2.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + └─ Storage (general purpose SSD, gp2) 1,000 GB $100.00 + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.2xlarge) 730 hours $280.32 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $10,383.92 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 12 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...rectory_with_recursive_modules ┃ $10,384 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...rectory_with_recursive_modules ┃ $10,384 ┃ $0.00 ┃ $10,384 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_fields_all/breakdown_terraform_fields_all.golden b/cmd/infracost/testdata/breakdown_terraform_fields_all/breakdown_terraform_fields_all.golden index 471f20e6f54..ff3d89f90ff 100644 --- a/cmd/infracost/testdata/breakdown_terraform_fields_all/breakdown_terraform_fields_all.golden +++ b/cmd/infracost/testdata/breakdown_terraform_fields_all/breakdown_terraform_fields_all.golden @@ -1,37 +1,40 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json - Name Price Monthly Qty Unit Hourly Cost Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) $0.77 730 hours $0.77 $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) $0.10 50 GB $0.01 $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) $0.13 1,000 GB $0.17 $125.00 - └─ Provisioned IOPS $0.065 800 IOPS $0.07 $52.00 - - aws_lambda_function.hello_world - ├─ Requests $0.20 100 1M requests $0.03 $20.00 - └─ Duration (first 6B) $0.0000166667 25,000,000 GB-seconds $0.57 $416.67 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) $0.00 730 hours $0.00 $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) $0.10 50 GB $0.01 $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) $0.13 1,000 GB $0.17 $125.00 - └─ Provisioned IOPS $0.065 800 IOPS $0.07 $52.00 - + Name Price Monthly Qty Unit Hourly Cost Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) $0.77 730 hours $0.77 $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) $0.10 50 GB $0.01 $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) $0.13 1,000 GB $0.17 $125.00 + └─ Provisioned IOPS $0.065 800 IOPS $0.07 $52.00 + + aws_lambda_function.hello_world + ├─ Requests $0.20 100 1M requests $0.03 $20.00 * + └─ Duration (first 6B) $0.0000166667 25,000,000 GB-seconds $0.57 $416.67 * + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) $0.00 730 hours $0.00 $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) $0.10 50 GB $0.01 $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) $0.13 1,000 GB $0.17 $125.00 + └─ Provisioned IOPS $0.065 800 IOPS $0.07 $52.00 + OVERALL TOTAL $1,361.31 + +*Usage costs were estimated using ./testdata/example_usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,361 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $925 ┃ $437 ┃ $1,361 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden index 7aa1dc834bf..391f95f4265 100644 --- a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden +++ b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden @@ -1,37 +1,40 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json - Name Price Hourly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) $0.77 $0.77 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) $0.10 $0.01 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) $0.13 $0.17 - └─ Provisioned IOPS $0.065 $0.07 - - aws_lambda_function.hello_world - ├─ Requests $0.20 $0.03 - └─ Duration (first 6B) $0.0000166667 $0.57 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) $0.00 $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) $0.10 $0.01 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) $0.13 $0.17 - └─ Provisioned IOPS $0.065 $0.07 - + Name Price Hourly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) $0.77 $0.77 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) $0.10 $0.01 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) $0.13 $0.17 + └─ Provisioned IOPS $0.065 $0.07 + + aws_lambda_function.hello_world + ├─ Requests $0.20 $0.03 * + └─ Duration (first 6B) $0.0000166667 $0.57 * + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) $0.00 $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) $0.10 $0.01 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) $0.13 $0.17 + └─ Provisioned IOPS $0.065 $0.07 + OVERALL TOTAL $1,361.31 + +*Usage costs were estimated using ./testdata/example_usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,361 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $925 ┃ $437 ┃ $1,361 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: Warning: Invalid field 'invalid' specified, valid fields are: [price monthlyQuantity unit hourlyCost monthlyCost] or 'all' to include all fields diff --git a/cmd/infracost/testdata/breakdown_terraform_out_file_table/infracost_output.golden b/cmd/infracost/testdata/breakdown_terraform_out_file_table/infracost_output.golden index df8f7948c55..4864a885832 100644 --- a/cmd/infracost/testdata/breakdown_terraform_out_file_table/infracost_output.golden +++ b/cmd/infracost/testdata/breakdown_terraform_out_file_table/infracost_output.golden @@ -1,48 +1,51 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - aws_lambda_function.zero_cost_lambda - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - aws_s3_bucket.usage - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - OVERALL TOTAL $1,485.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + aws_lambda_function.zero_cost_lambda + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + aws_s3_bucket.usage + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + OVERALL TOTAL $1,485.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,485 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,485 ┃ $0.00 ┃ $1,485 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/cmd/infracost/testdata/breakdown_terraform_plan_json/breakdown_terraform_plan_json.golden b/cmd/infracost/testdata/breakdown_terraform_plan_json/breakdown_terraform_plan_json.golden index 5dcbf7ae578..2a48c60ab1c 100644 --- a/cmd/infracost/testdata/breakdown_terraform_plan_json/breakdown_terraform_plan_json.golden +++ b/cmd/infracost/testdata/breakdown_terraform_plan_json/breakdown_terraform_plan_json.golden @@ -1,37 +1,40 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests 100 1M requests $20.00 - └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests 100 1M requests $20.00 * + └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 * + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + OVERALL TOTAL $1,361.31 + +*Usage costs were estimated using ./testdata/example_usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,361 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $925 ┃ $437 ┃ $1,361 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_show_skipped/breakdown_terraform_show_skipped.golden b/cmd/infracost/testdata/breakdown_terraform_show_skipped/breakdown_terraform_show_skipped.golden index 9ab04586c4c..51b9f3fc542 100644 --- a/cmd/infracost/testdata/breakdown_terraform_show_skipped/breakdown_terraform_show_skipped.golden +++ b/cmd/infracost/testdata/breakdown_terraform_show_skipped/breakdown_terraform_show_skipped.golden @@ -1,14 +1,17 @@ Project: infracost/infracost/cmd/infracost/testdata/express_route_gateway_plan.json - Name Monthly Qty Unit Monthly Cost - - azurerm_express_route_gateway.express_route - └─ ER scale units (2 Gbps) 1 scale units $306.60 - - azurerm_express_route_connection.express_route_conn - └─ ER Connections 730 hours $36.50 - - OVERALL TOTAL $343.10 + Name Monthly Qty Unit Monthly Cost + + azurerm_express_route_gateway.express_route + └─ ER scale units (2 Gbps) 1 scale units $306.60 + + azurerm_express_route_connection.express_route_conn + └─ ER Connections 730 hours $36.50 + + OVERALL TOTAL $343.10 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 2 were estimated @@ -18,11 +21,11 @@ Project: infracost/infracost/cmd/infracost/testdata/express_route_gateway_plan.j ∙ 1 x azurerm_express_route_circuit_peering ∙ 1 x azurerm_express_route_port -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...xpress_route_gateway_plan.json ┃ $343 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...xpress_route_gateway_plan.json ┃ $343 ┃ $0.00 ┃ $343 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/breakdown_terraform_sync_usage_file.golden b/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/breakdown_terraform_sync_usage_file.golden index 3ef207dac49..0bd3638baf2 100644 --- a/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/breakdown_terraform_sync_usage_file.golden +++ b/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/breakdown_terraform_sync_usage_file.golden @@ -1,43 +1,46 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/sync_usage_file.json - Name Monthly Qty Unit Monthly Cost - - aws_cloudwatch_log_group.production_logs["media"] - ├─ Data ingested 1,000 GB $500.00 - ├─ Archival Storage 1,000 GB $30.00 - └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB - - aws_cloudwatch_log_group.production_logs["assets"] - ├─ Data ingested 100 GB $50.00 - ├─ Archival Storage 1,000 GB $30.00 - └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB - - aws_nat_gateway.example_count[0] - ├─ NAT gateway 730 hours $32.85 - └─ Data processed 200 GB $9.00 - - aws_nat_gateway.example_count[1] - ├─ NAT gateway 730 hours $32.85 - └─ Data processed 10 GB $0.45 - - aws_nat_gateway.example_each["assets"] - ├─ NAT gateway 730 hours $32.85 - └─ Data processed 4 GB $0.18 - - aws_nat_gateway.example_each["media"] - ├─ NAT gateway 730 hours $32.85 - └─ Data processed 2 GB $0.09 - + Name Monthly Qty Unit Monthly Cost + + aws_cloudwatch_log_group.production_logs["media"] + ├─ Data ingested 1,000 GB $500.00 * + ├─ Archival Storage 1,000 GB $30.00 * + └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB + + aws_cloudwatch_log_group.production_logs["assets"] + ├─ Data ingested 100 GB $50.00 * + ├─ Archival Storage 1,000 GB $30.00 * + └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB + + aws_nat_gateway.example_count[0] + ├─ NAT gateway 730 hours $32.85 + └─ Data processed 200 GB $9.00 * + + aws_nat_gateway.example_count[1] + ├─ NAT gateway 730 hours $32.85 + └─ Data processed 10 GB $0.45 * + + aws_nat_gateway.example_each["assets"] + ├─ NAT gateway 730 hours $32.85 + └─ Data processed 4 GB $0.18 * + + aws_nat_gateway.example_each["media"] + ├─ NAT gateway 730 hours $32.85 + └─ Data processed 2 GB $0.09 * + OVERALL TOTAL $751.12 + +*Usage costs were estimated using ./testdata/breakdown_terraform_sync_usage_file/infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...sage_file/sync_usage_file.json ┃ $751 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...sage_file/sync_usage_file.json ┃ $131 ┃ $620 ┃ $751 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file/breakdown_terraform_usage_file.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file/breakdown_terraform_usage_file.golden index 5dcbf7ae578..2a48c60ab1c 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file/breakdown_terraform_usage_file.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file/breakdown_terraform_usage_file.golden @@ -1,37 +1,40 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests 100 1M requests $20.00 - └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests 100 1M requests $20.00 * + └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 * + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + OVERALL TOTAL $1,361.31 + +*Usage costs were estimated using ./testdata/example_usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,361 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $925 ┃ $437 ┃ $1,361 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden index 41f3941c2a8..5745bf3c07b 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden @@ -1,50 +1,53 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests 100 1M requests $20.00 - └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 - - aws_lambda_function.zero_cost_lambda - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - aws_s3_bucket.usage - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests 100 1M requests $20.00 * + └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 * + + aws_lambda_function.zero_cost_lambda + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + aws_s3_bucket.usage + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + OVERALL TOTAL $1,921.95 + +*Usage costs were estimated using ./testdata/infracost-usage-invalid-key.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,922 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ $1,485 ┃ $437 ┃ $1,922 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: Warning: The following usage file parameters are invalid and will be ignored: dup_invalid_key, invalid_key_1, invalid_key_2, invalid_key_3 diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden index dda83885a98..a69654e97ec 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden @@ -1,99 +1,102 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module - Name Monthly Qty Unit Monthly Cost - - module.mod["test2"].aws_lambda_function.test["baz"] - ├─ Requests 700 1M requests $140.00 - └─ Duration (first 6B) 525,000,000 GB-seconds $8,750.02 - - aws_lambda_function.test - ├─ Requests 500 1M requests $100.00 - └─ Duration (first 6B) 275,000,000 GB-seconds $4,583.34 - - module.mod2["test2"].aws_lambda_function.test["baz"] - ├─ Requests 900 1M requests $180.00 - └─ Duration (first 6B) 180,000,000 GB-seconds $3,000.01 - - module.mod2["test2"].aws_lambda_function.test["foo"] - ├─ Requests 900 1M requests $180.00 - └─ Duration (first 6B) 90,000,000 GB-seconds $1,500.00 - - module.mod["test"].aws_lambda_function.test2 - ├─ Requests 200 1M requests $40.00 - └─ Duration (first 6B) 70,000,000 GB-seconds $1,166.67 - - module.mod["test2"].aws_lambda_function.test2 - ├─ Requests 200 1M requests $40.00 - └─ Duration (first 6B) 70,000,000 GB-seconds $1,166.67 - - module.mod["test"].aws_lambda_function.test["baz"] - ├─ Requests 100 1M requests $20.00 - └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 - - module.mod["test"].aws_lambda_function.test["foo"] - ├─ Requests 100 1M requests $20.00 - └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 - - module.mod["test2"].aws_lambda_function.test["foo"] - ├─ Requests 400 1M requests $80.00 - └─ Duration (first 6B) 20,000,000 GB-seconds $333.33 - - module.mod3["test"].aws_lambda_function.test["baz"] - ├─ Requests 200 1M requests $40.00 - └─ Duration (first 6B) 10,000,000 GB-seconds $166.67 - - module.mod3["test2"].aws_lambda_function.test["baz"] - ├─ Requests 200 1M requests $40.00 - └─ Duration (first 6B) 10,000,000 GB-seconds $166.67 - - module.mod3["test"].aws_lambda_function.test["foo"] - ├─ Requests 200 1M requests $40.00 - └─ Duration (first 6B) 2,000,000 GB-seconds $33.33 - - module.mod3["test2"].aws_lambda_function.test["foo"] - ├─ Requests 200 1M requests $40.00 - └─ Duration (first 6B) 2,000,000 GB-seconds $33.33 - - module.mod2["test"].aws_lambda_function.test2 - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - module.mod2["test"].aws_lambda_function.test["baz"] - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - module.mod2["test"].aws_lambda_function.test["foo"] - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - module.mod2["test2"].aws_lambda_function.test2 - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - module.mod3["test"].aws_lambda_function.test2 - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - module.mod3["test2"].aws_lambda_function.test2 - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - + Name Monthly Qty Unit Monthly Cost + + module.mod["test2"].aws_lambda_function.test["baz"] + ├─ Requests 700 1M requests $140.00 * + └─ Duration (first 6B) 525,000,000 GB-seconds $8,750.02 * + + aws_lambda_function.test + ├─ Requests 500 1M requests $100.00 * + └─ Duration (first 6B) 275,000,000 GB-seconds $4,583.34 * + + module.mod2["test2"].aws_lambda_function.test["baz"] + ├─ Requests 900 1M requests $180.00 * + └─ Duration (first 6B) 180,000,000 GB-seconds $3,000.01 * + + module.mod2["test2"].aws_lambda_function.test["foo"] + ├─ Requests 900 1M requests $180.00 * + └─ Duration (first 6B) 90,000,000 GB-seconds $1,500.00 * + + module.mod["test"].aws_lambda_function.test2 + ├─ Requests 200 1M requests $40.00 * + └─ Duration (first 6B) 70,000,000 GB-seconds $1,166.67 * + + module.mod["test2"].aws_lambda_function.test2 + ├─ Requests 200 1M requests $40.00 * + └─ Duration (first 6B) 70,000,000 GB-seconds $1,166.67 * + + module.mod["test"].aws_lambda_function.test["baz"] + ├─ Requests 100 1M requests $20.00 * + └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 * + + module.mod["test"].aws_lambda_function.test["foo"] + ├─ Requests 100 1M requests $20.00 * + └─ Duration (first 6B) 25,000,000 GB-seconds $416.67 * + + module.mod["test2"].aws_lambda_function.test["foo"] + ├─ Requests 400 1M requests $80.00 * + └─ Duration (first 6B) 20,000,000 GB-seconds $333.33 * + + module.mod3["test"].aws_lambda_function.test["baz"] + ├─ Requests 200 1M requests $40.00 * + └─ Duration (first 6B) 10,000,000 GB-seconds $166.67 * + + module.mod3["test2"].aws_lambda_function.test["baz"] + ├─ Requests 200 1M requests $40.00 * + └─ Duration (first 6B) 10,000,000 GB-seconds $166.67 * + + module.mod3["test"].aws_lambda_function.test["foo"] + ├─ Requests 200 1M requests $40.00 * + └─ Duration (first 6B) 2,000,000 GB-seconds $33.33 * + + module.mod3["test2"].aws_lambda_function.test["foo"] + ├─ Requests 200 1M requests $40.00 * + └─ Duration (first 6B) 2,000,000 GB-seconds $33.33 * + + module.mod2["test"].aws_lambda_function.test2 + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + module.mod2["test"].aws_lambda_function.test["baz"] + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + module.mod2["test"].aws_lambda_function.test["foo"] + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + module.mod2["test2"].aws_lambda_function.test2 + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + module.mod3["test"].aws_lambda_function.test2 + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + module.mod3["test2"].aws_lambda_function.test2 + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + OVERALL TOTAL $22,693.38 + +*Usage costs were estimated using testdata/breakdown_terraform_usage_file_wildcard_module/infracost-usage.yml. + ────────────────────────────────── 19 cloud resources were detected: ∙ 19 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...orm_usage_file_wildcard_module ┃ $22,693 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...orm_usage_file_wildcard_module ┃ $0.00 ┃ $22,693 ┃ $22,693 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_use_state_v0_12/breakdown_terraform_use_state_v0_12.golden b/cmd/infracost/testdata/breakdown_terraform_use_state_v0_12/breakdown_terraform_use_state_v0_12.golden index 20e561fc8c4..0be8da0b585 100644 --- a/cmd/infracost/testdata/breakdown_terraform_use_state_v0_12/breakdown_terraform_use_state_v0_12.golden +++ b/cmd/infracost/testdata/breakdown_terraform_use_state_v0_12/breakdown_terraform_use_state_v0_12.golden @@ -1,53 +1,56 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.12_state.json - Name Monthly Qty Unit Monthly Cost - - module.db.module.db_1.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_instance.instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $186.56 + Name Monthly Qty Unit Monthly Cost + + module.db.module.db_1.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_instance.instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $186.56 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 14 cloud resources were detected: ∙ 7 were estimated ∙ 7 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ata/terraform_v0.12_state.json ┃ $187 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ata/terraform_v0.12_state.json ┃ $187 ┃ $0.00 ┃ $187 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_use_state_v0_14/breakdown_terraform_use_state_v0_14.golden b/cmd/infracost/testdata/breakdown_terraform_use_state_v0_14/breakdown_terraform_use_state_v0_14.golden index 26e7c194c0b..eae49108177 100644 --- a/cmd/infracost/testdata/breakdown_terraform_use_state_v0_14/breakdown_terraform_use_state_v0_14.golden +++ b/cmd/infracost/testdata/breakdown_terraform_use_state_v0_14/breakdown_terraform_use_state_v0_14.golden @@ -1,53 +1,56 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_state.json - Name Monthly Qty Unit Monthly Cost - - module.db.module.db_1.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_instance.instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $186.56 + Name Monthly Qty Unit Monthly Cost + + module.db.module.db_1.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_instance.instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $186.56 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 14 cloud resources were detected: ∙ 7 were estimated ∙ 7 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ata/terraform_v0.14_state.json ┃ $187 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ata/terraform_v0.14_state.json ┃ $187 ┃ $0.00 ┃ $187 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_v0_12/breakdown_terraform_v0_12.golden b/cmd/infracost/testdata/breakdown_terraform_v0_12/breakdown_terraform_v0_12.golden index 9a31d31be08..50902bb8b44 100644 --- a/cmd/infracost/testdata/breakdown_terraform_v0_12/breakdown_terraform_v0_12.golden +++ b/cmd/infracost/testdata/breakdown_terraform_v0_12/breakdown_terraform_v0_12.golden @@ -1,88 +1,91 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.12_plan.json - Name Monthly Qty Unit Monthly Cost - - module.db.module.db_1.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - module.db.module.db_2.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_instance.instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_2 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[1] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.2"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_2 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[1] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.2"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $373.12 + Name Monthly Qty Unit Monthly Cost + + module.db.module.db_1.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + module.db.module.db_2.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_instance.instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_2 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[1] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.2"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_2 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[1] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.2"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $373.12 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.12_plan.json ┃ $373 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.12_plan.json ┃ $373 ┃ $0.00 ┃ $373 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_v0_14/breakdown_terraform_v0_14.golden b/cmd/infracost/testdata/breakdown_terraform_v0_14/breakdown_terraform_v0_14.golden index 374d93e9d0b..51249f9c5e6 100644 --- a/cmd/infracost/testdata/breakdown_terraform_v0_14/breakdown_terraform_v0_14.golden +++ b/cmd/infracost/testdata/breakdown_terraform_v0_14/breakdown_terraform_v0_14.golden @@ -1,88 +1,91 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json - Name Monthly Qty Unit Monthly Cost - - module.db.module.db_1.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - module.db.module.db_2.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_instance.instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_2 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[1] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.2"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_2 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[1] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.2"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $373.12 + Name Monthly Qty Unit Monthly Cost + + module.db.module.db_1.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + module.db.module.db_2.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + ├─ Storage (general purpose SSD, gp2) 5 GB $0.58 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_instance.instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_2 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[1] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.2"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_2 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[1] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.2"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $373.12 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ $373 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ $373 ┃ $0.00 ┃ $373 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_wrapper/breakdown_terraform_wrapper.golden b/cmd/infracost/testdata/breakdown_terraform_wrapper/breakdown_terraform_wrapper.golden index 13660735b79..53a27190f43 100644 --- a/cmd/infracost/testdata/breakdown_terraform_wrapper/breakdown_terraform_wrapper.golden +++ b/cmd/infracost/testdata/breakdown_terraform_wrapper/breakdown_terraform_wrapper.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/cmd/infracost/testdata/plan_with_terraform_wrapper.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $742.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...an_with_terraform_wrapper.json ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...an_with_terraform_wrapper.json ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden index 0efb0ede01e..6205a7cb50c 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden @@ -1,55 +1,58 @@ Project: infracost/infracost/examples/terragrunt/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 - -────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod -Module path: prod - - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - Project total $747.64 + Project total $51.97 + +────────────────────────────────── +Project: infracost/infracost/examples/terragrunt/prod +Module path: prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 + + OVERALL TOTAL $799.61 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $799.61 ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden b/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden index 22b52367d78..c43b2d0ee80 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_extra_args/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - OVERALL TOTAL $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + OVERALL TOTAL $742.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...down_terragrunt_extra_args/dev ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...down_terragrunt_extra_args/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden index 643e3db0bf4..2fbb1d5fade 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden @@ -1,55 +1,58 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 - -────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env/prod -Module path: prod - - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - Project total $747.64 + Project total $51.97 + +────────────────────────────────── +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env/prod +Module path: prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 + + OVERALL TOTAL $799.61 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $799.61 ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...eakdown_terragrunt_get_env/dev ┃ $52 ┃ -┃ infracost/infracost/cmd/infraco...akdown_terragrunt_get_env/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...eakdown_terragrunt_get_env/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/cmd/infraco...akdown_terragrunt_get_env/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_config_file/breakdown_terragrunt_get_env_config_file.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env_config_file/breakdown_terragrunt_get_env_config_file.golden index b0d03805da0..fb5abb81e1a 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_config_file/breakdown_terragrunt_get_env_config_file.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env_config_file/breakdown_terragrunt_get_env_config_file.golden @@ -1,37 +1,40 @@ Project: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - - Project total $13.47 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + + Project total $13.47 ────────────────────────────────── Project: prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - - Project total $38.87 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + + Project total $38.87 + + OVERALL TOTAL $52.34 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. - OVERALL TOTAL $52.34 ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ dev ┃ $13 ┃ -┃ prod ┃ $39 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $13 ┃ $0.00 ┃ $13 ┃ +┃ prod ┃ $39 ┃ $0.00 ┃ $39 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden index a10df1fafac..44c9a85c703 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden @@ -12,34 +12,37 @@ Errors: Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/prod Module path: prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $747.64 - - OVERALL TOTAL $747.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 + + OVERALL TOTAL $747.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ragrunt_get_env_with_whitelist ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco...nt_get_env_with_whitelist/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ragrunt_get_env_with_whitelist ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ infracost/infracost/cmd/infraco...nt_get_env_with_whitelist/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden index bb5330af62b..c795c66d47d 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden @@ -1,86 +1,89 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 600 IOPS $39.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $64.97 - -────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/prod -Module path: prod - - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 600 IOPS $39.00 aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - Project total $747.64 + Project total $64.97 + +────────────────────────────────── +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/prod +Module path: prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/prod2 Module path: prod2 - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $747.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/stag Module path: stag - Name Monthly Qty Unit Monthly Cost - - Project total $0.00 + Name Monthly Qty Unit Monthly Cost + + Project total $0.00 + + OVERALL TOTAL $1,560.25 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $1,560.25 ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco..._terragrunt_hcldeps_output/dev ┃ $65 ┃ -┃ infracost/infracost/cmd/infraco...terragrunt_hcldeps_output/prod ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...erragrunt_hcldeps_output/prod2 ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...terragrunt_hcldeps_output/stag ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco..._terragrunt_hcldeps_output/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ +┃ infracost/infracost/cmd/infraco...terragrunt_hcldeps_output/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...erragrunt_hcldeps_output/prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...terragrunt_hcldeps_output/stag ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden index 432de7fbb82..b4acb3dbdbb 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 1,000 IOPS $65.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $90.97 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 1,000 IOPS $65.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $90.97 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...unt_hcldeps_output_include/dev ┃ $91 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...unt_hcldeps_output_include/dev ┃ $91 ┃ $0.00 ┃ $91 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden index 8a4f18a87a3..1ae1c5a5df6 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden @@ -1,77 +1,80 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 600 IOPS $39.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $64.97 - -────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/prod -Module path: prod - - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 600 IOPS $39.00 aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - Project total $747.64 + Project total $64.97 + +────────────────────────────────── +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/prod +Module path: prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/prod2 Module path: prod2 - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $747.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 + + OVERALL TOTAL $1,560.25 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $1,560.25 ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...runt_hcldeps_output_mocked/dev ┃ $65 ┃ -┃ infracost/infracost/cmd/infraco...unt_hcldeps_output_mocked/prod ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...nt_hcldeps_output_mocked/prod2 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...runt_hcldeps_output_mocked/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ +┃ infracost/infracost/cmd/infraco...unt_hcldeps_output_mocked/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...nt_hcldeps_output_mocked/prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden index 687a0c6427f..b5aa39d3143 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 600 IOPS $39.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $64.97 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 600 IOPS $39.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $64.97 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...deps_output_single_project/dev ┃ $65 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...deps_output_single_project/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden index 720d0b9049b..caa63a86516 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden @@ -1,27 +1,30 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each - Name Monthly Qty Unit Monthly Cost - - module.mod2["instance2"].aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t3.small) 730 hours $15.18 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.mod2["instance1"].aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t3.micro) 730 hours $7.59 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $24.38 + Name Monthly Qty Unit Monthly Cost + + module.mod2["instance2"].aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t3.small) 730 hours $15.18 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod2["instance1"].aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t3.micro) 730 hours $7.59 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $24.38 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...runt_hclmodule_output_for_each ┃ $24 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...runt_hclmodule_output_for_each ┃ $24 ┃ $0.00 ┃ $24 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden index 0efb0ede01e..6205a7cb50c 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden @@ -1,55 +1,58 @@ Project: infracost/infracost/examples/terragrunt/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 - -────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod -Module path: prod - - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - Project total $747.64 + Project total $51.97 + +────────────────────────────────── +Project: infracost/infracost/examples/terragrunt/prod +Module path: prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 + + OVERALL TOTAL $799.61 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $799.61 ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden index 234950fe9fe..6c3c83767d2 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden @@ -1,55 +1,58 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/example/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 - -────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/example/prod -Module path: prod - - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - Project total $747.64 + Project total $51.97 + +────────────────────────────────── +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/example/prod +Module path: prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 + + OVERALL TOTAL $799.61 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $799.61 ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...hclmulti_no_source/example/dev ┃ $52 ┃ -┃ infracost/infracost/cmd/infraco...clmulti_no_source/example/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...hclmulti_no_source/example/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/cmd/infraco...clmulti_no_source/example/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden index cdd6b9a8945..06a4edd90ea 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/examples/terragrunt/prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $747.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $747.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden b/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden index c2e38d3f8bc..5c0e02aa4ee 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_iamroles - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $742.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco.../breakdown_terragrunt_iamroles ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco.../breakdown_terragrunt_iamroles ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden b/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden index 78a1ce3c3cd..cd3051a896c 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden @@ -1,45 +1,48 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_include_deps/eu/baz Module path: eu/baz - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $1,308.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $1,308.28 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_include_deps/eu/foo Module path: eu/foo - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $747.64 - - OVERALL TOTAL $2,055.92 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $747.64 + + OVERALL TOTAL $2,055.92 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...terragrunt_include_deps/eu/baz ┃ $1,308 ┃ -┃ infracost/infracost/cmd/infraco...terragrunt_include_deps/eu/foo ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...terragrunt_include_deps/eu/baz ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ infracost/infracost/cmd/infraco...terragrunt_include_deps/eu/foo ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden b/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden index 4a584bb9bb7..22ee9cc92ed 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden @@ -1,55 +1,58 @@ Project: infracost/infracost/examples/terragrunt/dev Module path: terragrunt/dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 - -────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod -Module path: terragrunt/prod - - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - Project total $747.64 + Project total $51.97 + +────────────────────────────────── +Project: infracost/infracost/examples/terragrunt/prod +Module path: terragrunt/prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 + + OVERALL TOTAL $799.61 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $799.61 ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden b/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden index 5cb21046369..403e25ffbac 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden @@ -1,77 +1,80 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/glob/test/shown Module path: glob/test/shown - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $51.97 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/glob/test2/shown Module path: glob/test2/shown - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $51.97 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/shown Module path: shown - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $51.97 + + OVERALL TOTAL $155.90 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $155.90 ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...unt_skip_paths/glob/test/shown ┃ $52 ┃ -┃ infracost/infracost/cmd/infraco...nt_skip_paths/glob/test2/shown ┃ $52 ┃ -┃ infracost/infracost/cmd/infraco...wn_terragrunt_skip_paths/shown ┃ $52 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...unt_skip_paths/glob/test/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/cmd/infraco...nt_skip_paths/glob/test2/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/cmd/infraco...wn_terragrunt_skip_paths/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden b/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden index d19f6b5cb47..7e4c321b3f1 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_source_map - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $742.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...reakdown_terragrunt_source_map ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...reakdown_terragrunt_source_map ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden index bb5d98584d2..b59c4cd7787 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden @@ -1,57 +1,60 @@ Project: infracost/infracost/examples/terragrunt/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $51.97 - -────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod -Module path: prod - - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 400 IOPS $26.00 aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - Project total $747.64 + Project total $51.97 + +────────────────────────────────── +Project: infracost/infracost/examples/terragrunt/prod +Module path: prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 + + OVERALL TOTAL $799.61 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $799.61 ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated Share this cost estimate: https://dashboard.infracost.io/share/REPLACED_SHARE_CODE -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden index 847d6aa1e23..19763710787 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden @@ -1,31 +1,34 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/prod Module path: prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $747.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $747.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...unt_with_mocked_functions/prod ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...unt_with_mocked_functions/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden index 7eae452a2c3..9e6749c5836 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/infra/us-east-1/dev Module path: infra/us-east-1/dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 800 IOPS $52.00 - - OVERALL TOTAL $630.14 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 800 IOPS $52.00 + + OVERALL TOTAL $630.14 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...nt_include/infra/us-east-1/dev ┃ $630 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...nt_include/infra/us-east-1/dev ┃ $630 ┃ $0.00 ┃ $630 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden index 1e6d500df1d..dcf4861d582 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden @@ -1,176 +1,179 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref1 Module path: submod-ref1 - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.16xlarge) 730 hours $2,242.56 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $2,429.56 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.16xlarge) 730 hours $2,242.56 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $2,429.56 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref1-2 Module path: submod-ref1-2 - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $747.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $747.64 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref3 Module path: submod-ref3 - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $1,308.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $1,308.28 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref1 Module path: ref1 - Name Monthly Qty Unit Monthly Cost - - module.self_managed_node_group["one"].aws_autoscaling_group.this[0] - └─ module.self_managed_node_group["one"].aws_launch_template.this[0] - ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 1,460 hours $140.16 - └─ EC2 detailed monitoring 14 metrics $4.20 - - aws_eks_cluster.this[0] - └─ EKS cluster 730 hours $73.00 - - module.eks_managed_node_group["blue"].aws_eks_node_group.this[0] - └─ module.eks_managed_node_group["blue"].aws_launch_template.this[0] - ├─ Instance usage (Linux/UNIX, on-demand, m6i.large) 730 hours $70.08 - └─ EC2 detailed monitoring 7 metrics $2.10 - - module.eks_managed_node_group["green"].aws_eks_node_group.this[0] - └─ module.eks_managed_node_group["green"].aws_launch_template.this[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 730 hours $60.74 - └─ EC2 detailed monitoring 7 metrics $2.10 - - module.fargate_profile["default"].aws_eks_fargate_profile.this[0] - ├─ Per GB per hour 1 GB $3.24 - └─ Per vCPU per hour 1 CPU $29.55 - - module.kms.aws_kms_key.this[0] - ├─ Customer master key 1 months $1.00 - ├─ Requests Monthly cost depends on usage: $0.03 per 10k requests - ├─ ECC GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests - └─ RSA GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests - - aws_cloudwatch_log_group.this[0] - ├─ Data ingested Monthly cost depends on usage: $0.50 per GB - ├─ Archival Storage Monthly cost depends on usage: $0.03 per GB - └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB - - Project total $386.17 + Name Monthly Qty Unit Monthly Cost + + module.self_managed_node_group["one"].aws_autoscaling_group.this[0] + └─ module.self_managed_node_group["one"].aws_launch_template.this[0] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 1,460 hours $140.16 + └─ EC2 detailed monitoring 14 metrics $4.20 + + aws_eks_cluster.this[0] + └─ EKS cluster 730 hours $73.00 + + module.eks_managed_node_group["blue"].aws_eks_node_group.this[0] + └─ module.eks_managed_node_group["blue"].aws_launch_template.this[0] + ├─ Instance usage (Linux/UNIX, on-demand, m6i.large) 730 hours $70.08 + └─ EC2 detailed monitoring 7 metrics $2.10 + + module.eks_managed_node_group["green"].aws_eks_node_group.this[0] + └─ module.eks_managed_node_group["green"].aws_launch_template.this[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 730 hours $60.74 + └─ EC2 detailed monitoring 7 metrics $2.10 + + module.fargate_profile["default"].aws_eks_fargate_profile.this[0] + ├─ Per GB per hour 1 GB $3.24 + └─ Per vCPU per hour 1 CPU $29.55 + + module.kms.aws_kms_key.this[0] + ├─ Customer master key 1 months $1.00 + ├─ Requests Monthly cost depends on usage: $0.03 per 10k requests + ├─ ECC GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests + └─ RSA GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests + + aws_cloudwatch_log_group.this[0] + ├─ Data ingested Monthly cost depends on usage: $0.50 per GB + ├─ Archival Storage Monthly cost depends on usage: $0.03 per GB + └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB + + Project total $386.17 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref1-submod Module path: ref1-submod - Name Monthly Qty Unit Monthly Cost - - aws_eks_fargate_profile.this[0] - ├─ Per GB per hour 1 GB $3.24 - └─ Per vCPU per hour 1 CPU $29.55 - - Project total $32.80 + Name Monthly Qty Unit Monthly Cost + + aws_eks_fargate_profile.this[0] + ├─ Per GB per hour 1 GB $3.24 + └─ Per vCPU per hour 1 CPU $29.55 + + Project total $32.80 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref2 Module path: ref2 - Name Monthly Qty Unit Monthly Cost - - module.self_managed_node_group["one"].aws_autoscaling_group.this[0] - └─ module.self_managed_node_group["one"].aws_launch_template.this[0] - ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 1,460 hours $140.16 - └─ EC2 detailed monitoring 14 metrics $4.20 - - aws_eks_cluster.this[0] - └─ EKS cluster 730 hours $73.00 - - module.eks_managed_node_group["blue"].aws_eks_node_group.this[0] - └─ module.eks_managed_node_group["blue"].aws_launch_template.this[0] - ├─ Instance usage (Linux/UNIX, on-demand, m6i.large) 730 hours $70.08 - └─ EC2 detailed monitoring 7 metrics $2.10 - - module.eks_managed_node_group["green"].aws_eks_node_group.this[0] - └─ module.eks_managed_node_group["green"].aws_launch_template.this[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 730 hours $60.74 - └─ EC2 detailed monitoring 7 metrics $2.10 - - module.fargate_profile["default"].aws_eks_fargate_profile.this[0] - ├─ Per GB per hour 1 GB $3.24 - └─ Per vCPU per hour 1 CPU $29.55 - - module.kms.aws_kms_key.this[0] - ├─ Customer master key 1 months $1.00 - ├─ Requests Monthly cost depends on usage: $0.03 per 10k requests - ├─ ECC GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests - └─ RSA GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests - - aws_cloudwatch_log_group.this[0] - ├─ Data ingested Monthly cost depends on usage: $0.50 per GB - ├─ Archival Storage Monthly cost depends on usage: $0.03 per GB - └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB - - Project total $386.17 - - OVERALL TOTAL $5,290.62 + Name Monthly Qty Unit Monthly Cost + + module.self_managed_node_group["one"].aws_autoscaling_group.this[0] + └─ module.self_managed_node_group["one"].aws_launch_template.this[0] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 1,460 hours $140.16 + └─ EC2 detailed monitoring 14 metrics $4.20 + + aws_eks_cluster.this[0] + └─ EKS cluster 730 hours $73.00 + + module.eks_managed_node_group["blue"].aws_eks_node_group.this[0] + └─ module.eks_managed_node_group["blue"].aws_launch_template.this[0] + ├─ Instance usage (Linux/UNIX, on-demand, m6i.large) 730 hours $70.08 + └─ EC2 detailed monitoring 7 metrics $2.10 + + module.eks_managed_node_group["green"].aws_eks_node_group.this[0] + └─ module.eks_managed_node_group["green"].aws_launch_template.this[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 730 hours $60.74 + └─ EC2 detailed monitoring 7 metrics $2.10 + + module.fargate_profile["default"].aws_eks_fargate_profile.this[0] + ├─ Per GB per hour 1 GB $3.24 + └─ Per vCPU per hour 1 CPU $29.55 + + module.kms.aws_kms_key.this[0] + ├─ Customer master key 1 months $1.00 + ├─ Requests Monthly cost depends on usage: $0.03 per 10k requests + ├─ ECC GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests + └─ RSA GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests + + aws_cloudwatch_log_group.this[0] + ├─ Data ingested Monthly cost depends on usage: $0.50 per GB + ├─ Archival Storage Monthly cost depends on usage: $0.03 per GB + └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB + + Project total $386.17 + + OVERALL TOTAL $5,290.62 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. + ────────────────────────────────── 115 cloud resources were detected: ∙ 21 were estimated ∙ 93 were free ∙ 1 is not supported yet, rerun with --show-skipped to see details -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...with_remote_source/submod-ref1 ┃ $2,430 ┃ -┃ infracost/infracost/cmd/infraco...th_remote_source/submod-ref1-2 ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...with_remote_source/submod-ref3 ┃ $1,308 ┃ -┃ infracost/infracost/cmd/infraco...agrunt_with_remote_source/ref1 ┃ $386 ┃ -┃ infracost/infracost/cmd/infraco...with_remote_source/ref1-submod ┃ $33 ┃ -┃ infracost/infracost/cmd/infraco...agrunt_with_remote_source/ref2 ┃ $386 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...with_remote_source/submod-ref1 ┃ $2,430 ┃ $0.00 ┃ $2,430 ┃ +┃ infracost/infracost/cmd/infraco...th_remote_source/submod-ref1-2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...with_remote_source/submod-ref3 ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ infracost/infracost/cmd/infraco...agrunt_with_remote_source/ref1 ┃ $386 ┃ $0.00 ┃ $386 ┃ +┃ infracost/infracost/cmd/infraco...with_remote_source/ref1-submod ┃ $33 ┃ $0.00 ┃ $33 ┃ +┃ infracost/infracost/cmd/infraco...agrunt_with_remote_source/ref2 ┃ $386 ┃ $0.00 ┃ $386 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden b/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden index e3e16943777..75eb0e4e63d 100644 --- a/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden +++ b/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden @@ -1,44 +1,47 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod - Name Monthly Qty Unit Monthly Cost - - module.vpc.aws_eip.available["eu-central-1-ham-1a"] - └─ IP address (if unused) 730 hours $3.65 - - module.vpc.aws_eip.available["eu-central-1-waw-1a"] - └─ IP address (if unused) 730 hours $3.65 - - module.vpc.aws_eip.available["eu-central-1-wl1-ber-wlz-1"] - └─ IP address (if unused) 730 hours $3.65 - - module.vpc.aws_eip.available["eu-central-1-wl1-dtm-wlz-1"] - └─ IP address (if unused) 730 hours $3.65 - - module.vpc.aws_eip.available["eu-central-1-wl1-muc-wlz-1"] - └─ IP address (if unused) 730 hours $3.65 - - module.vpc.aws_eip.available["eu-central-1a"] - └─ IP address (if unused) 730 hours $3.65 - - module.vpc.aws_eip.available["eu-central-1b"] - └─ IP address (if unused) 730 hours $3.65 - - module.vpc.aws_eip.available["eu-central-1c"] - └─ IP address (if unused) 730 hours $3.65 - - module.vpc.aws_eip.current["eu-central-1"] - └─ IP address (if unused) 730 hours $3.65 - - OVERALL TOTAL $32.85 + Name Monthly Qty Unit Monthly Cost + + module.vpc.aws_eip.available["eu-central-1-ham-1a"] + └─ IP address (if unused) 730 hours $3.65 + + module.vpc.aws_eip.available["eu-central-1-waw-1a"] + └─ IP address (if unused) 730 hours $3.65 + + module.vpc.aws_eip.available["eu-central-1-wl1-ber-wlz-1"] + └─ IP address (if unused) 730 hours $3.65 + + module.vpc.aws_eip.available["eu-central-1-wl1-dtm-wlz-1"] + └─ IP address (if unused) 730 hours $3.65 + + module.vpc.aws_eip.available["eu-central-1-wl1-muc-wlz-1"] + └─ IP address (if unused) 730 hours $3.65 + + module.vpc.aws_eip.available["eu-central-1a"] + └─ IP address (if unused) 730 hours $3.65 + + module.vpc.aws_eip.available["eu-central-1b"] + └─ IP address (if unused) 730 hours $3.65 + + module.vpc.aws_eip.available["eu-central-1c"] + └─ IP address (if unused) 730 hours $3.65 + + module.vpc.aws_eip.current["eu-central-1"] + └─ IP address (if unused) 730 hours $3.65 + + OVERALL TOTAL $32.85 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 9 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...own_with_data_blocks_in_submod ┃ $33 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...own_with_data_blocks_in_submod ┃ $33 ┃ $0.00 ┃ $33 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden b/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden index a82bf7b9706..75893b6df1a 100644 --- a/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden +++ b/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden @@ -1,16 +1,19 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_deep_merge_module - Name Monthly Qty Unit Monthly Cost - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...eakdown_with_deep_merge_module ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...eakdown_with_deep_merge_module ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden b/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden index cc1787473b6..1c0abe43e76 100644 --- a/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden +++ b/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden @@ -1,23 +1,26 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_depends_upon_module - Name Monthly Qty Unit Monthly Cost - - module.database.module.primary.aws_eip.test[0] - └─ IP address (if unused) 730 hours $3.65 - - module.database.module.replica.aws_eip.test[0] - └─ IP address (if unused) 730 hours $3.65 - - OVERALL TOTAL $7.30 + Name Monthly Qty Unit Monthly Cost + + module.database.module.primary.aws_eip.test[0] + └─ IP address (if unused) 730 hours $3.65 + + module.database.module.replica.aws_eip.test[0] + └─ IP address (if unused) 730 hours $3.65 + + OVERALL TOTAL $7.30 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...kdown_with_depends_upon_module ┃ $7 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...kdown_with_depends_upon_module ┃ $7 ┃ $0.00 ┃ $7 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden b/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden index 82946c10f71..ca6207c2b8c 100644 --- a/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden +++ b/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden @@ -1,39 +1,42 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_dynamic_iterator - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - ├─ ebs_block_device[0] - │ ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - │ └─ Provisioned IOPS 800 IOPS $52.00 - └─ ebs_block_device[1] - ├─ Storage (provisioned IOPS SSD, io1) 500 GB $62.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_instance.web_app2 - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - ├─ ebs_block_device[0] - │ ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - │ └─ Provisioned IOPS 800 IOPS $52.00 - └─ ebs_block_device[1] - ├─ Storage (provisioned IOPS SSD, io1) 500 GB $62.50 - └─ Provisioned IOPS 400 IOPS $26.00 - - OVERALL TOTAL $1,662.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + ├─ ebs_block_device[0] + │ ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + │ └─ Provisioned IOPS 800 IOPS $52.00 + └─ ebs_block_device[1] + ├─ Storage (provisioned IOPS SSD, io1) 500 GB $62.50 + └─ Provisioned IOPS 400 IOPS $26.00 + + aws_instance.web_app2 + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + ├─ ebs_block_device[0] + │ ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + │ └─ Provisioned IOPS 800 IOPS $52.00 + └─ ebs_block_device[1] + ├─ Storage (provisioned IOPS SSD, io1) 500 GB $62.50 + └─ Provisioned IOPS 400 IOPS $26.00 + + OVERALL TOTAL $1,662.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...reakdown_with_dynamic_iterator ┃ $1,662 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...reakdown_with_dynamic_iterator ┃ $1,662 ┃ $0.00 ┃ $1,662 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden b/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden index 44cf55d6d64..968c49e3209 100644 --- a/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden +++ b/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden @@ -1,31 +1,34 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_local_path_data_block/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 70 GB $7.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 3,000 GB $375.00 - └─ Provisioned IOPS 1,200 IOPS $78.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $1,581.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 70 GB $7.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 3,000 GB $375.00 + └─ Provisioned IOPS 1,200 IOPS $78.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $1,581.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...with_local_path_data_block/dev ┃ $1,581 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...with_local_path_data_block/dev ┃ $1,581 ┃ $0.00 ┃ $1,581 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden b/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden index b1a84cdb655..4705321f968 100644 --- a/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden +++ b/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden @@ -1,27 +1,30 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_mocked_merge - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.web_app2 - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $1,122.88 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.web_app2 + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $1,122.88 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ta/breakdown_with_mocked_merge ┃ $1,123 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ta/breakdown_with_mocked_merge ┃ $1,123 ┃ $0.00 ┃ $1,123 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden b/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden index 4eb8cd08df2..fc85eb8553a 100644 --- a/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden +++ b/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden @@ -1,41 +1,44 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_multiple_providers - Name Monthly Qty Unit Monthly Cost - - aws_instance.ap_northeast_1 - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $724.16 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $6.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $142.00 - └─ Provisioned IOPS 800 IOPS $59.20 - - aws_instance.us_east_1 - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - google_compute_instance.europe_west2 - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $4.91 - └─ Standard provisioned storage (pd-standard) 10 GB $0.48 - - google_compute_instance.us_central1 - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - OVERALL TOTAL $1,683.67 + Name Monthly Qty Unit Monthly Cost + + aws_instance.ap_northeast_1 + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $724.16 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $6.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $142.00 + └─ Provisioned IOPS 800 IOPS $59.20 + + aws_instance.us_east_1 + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + google_compute_instance.europe_west2 + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $4.91 + └─ Standard provisioned storage (pd-standard) 10 GB $0.48 + + google_compute_instance.us_central1 + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + OVERALL TOTAL $1,683.67 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...akdown_with_multiple_providers ┃ $1,684 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...akdown_with_multiple_providers ┃ $1,684 ┃ $0.00 ┃ $1,684 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden b/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden index 4a3652ac16d..dbddcd2aedc 100644 --- a/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden +++ b/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_foreach - Name Monthly Qty Unit Monthly Cost - - aws_nat_gateway.public_nat["a"] - ├─ NAT gateway 730 hours $32.85 - └─ Data processed Monthly cost depends on usage: $0.045 per GB - - aws_nat_gateway.public_nat["b"] - ├─ NAT gateway 730 hours $32.85 - └─ Data processed Monthly cost depends on usage: $0.045 per GB - - OVERALL TOTAL $65.70 + Name Monthly Qty Unit Monthly Cost + + aws_nat_gateway.public_nat["a"] + ├─ NAT gateway 730 hours $32.85 + └─ Data processed Monthly cost depends on usage: $0.045 per GB + + aws_nat_gateway.public_nat["b"] + ├─ NAT gateway 730 hours $32.85 + └─ Data processed Monthly cost depends on usage: $0.045 per GB + + OVERALL TOTAL $65.70 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 2 were estimated ∙ 6 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco.../breakdown_with_nested_foreach ┃ $66 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco.../breakdown_with_nested_foreach ┃ $66 ┃ $0.00 ┃ $66 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden b/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden index ee09d15d68c..6975c55b14b 100644 --- a/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden +++ b/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden @@ -1,22 +1,25 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_provider_aliases - Name Monthly Qty Unit Monthly Cost - - aws_instance.web - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $9.64 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.93 - - OVERALL TOTAL $10.56 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $9.64 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.93 + + OVERALL TOTAL $10.56 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_with_nested_provider_aliases ┃ $11 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_with_nested_provider_aliases ┃ $11 ┃ $0.00 ┃ $11 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden b/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden index 801dbe9fd09..0ccf90a4a58 100644 --- a/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden +++ b/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden @@ -1,41 +1,44 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_optional_variables-dev - Name Monthly Qty Unit Monthly Cost - - aws_eip.test1[0] - └─ IP address (if unused) 730 hours $3.65 - - aws_eip.test1[1] - └─ IP address (if unused) 730 hours $3.65 - - aws_eip.test2[0] - └─ IP address (if unused) 730 hours $3.65 - - aws_eip.test2[1] - └─ IP address (if unused) 730 hours $3.65 - - aws_eip.test3[0] - └─ IP address (if unused) 730 hours $3.65 - - aws_eip.test3[1] - └─ IP address (if unused) 730 hours $3.65 - - aws_eip.test4[0] - └─ IP address (if unused) 730 hours $3.65 - - aws_eip.test4[1] - └─ IP address (if unused) 730 hours $3.65 - - OVERALL TOTAL $29.20 + Name Monthly Qty Unit Monthly Cost + + aws_eip.test1[0] + └─ IP address (if unused) 730 hours $3.65 + + aws_eip.test1[1] + └─ IP address (if unused) 730 hours $3.65 + + aws_eip.test2[0] + └─ IP address (if unused) 730 hours $3.65 + + aws_eip.test2[1] + └─ IP address (if unused) 730 hours $3.65 + + aws_eip.test3[0] + └─ IP address (if unused) 730 hours $3.65 + + aws_eip.test3[1] + └─ IP address (if unused) 730 hours $3.65 + + aws_eip.test4[0] + └─ IP address (if unused) 730 hours $3.65 + + aws_eip.test4[1] + └─ IP address (if unused) 730 hours $3.65 + + OVERALL TOTAL $29.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...wn_with_optional_variables-dev ┃ $29 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...wn_with_optional_variables-dev ┃ $29 ┃ $0.00 ┃ $29 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden index 34065e2f0cd..263fd5e741a 100644 --- a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden +++ b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden @@ -1,47 +1,50 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module - Name Monthly Qty Unit Monthly Cost - - module.ec2_cluster.aws_instance.this[0] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.ec2_cluster.aws_instance.this[1] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.ec2_cluster.aws_instance.this[2] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.ec2_cluster.aws_instance.this[3] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.ec2_cluster.aws_instance.this[4] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $56.84 + Name Monthly Qty Unit Monthly Cost + + module.ec2_cluster.aws_instance.this[0] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.ec2_cluster.aws_instance.this[1] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.ec2_cluster.aws_instance.this[2] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.ec2_cluster.aws_instance.this[3] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.ec2_cluster.aws_instance.this[4] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $56.84 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...vate_terraform_registry_module ┃ $57 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...vate_terraform_registry_module ┃ $57 ┃ $0.00 ┃ $57 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden b/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden index baed80edf90..16271f953cb 100644 --- a/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden +++ b/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden @@ -1,27 +1,30 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_providers_depending_on_data - Name Monthly Qty Unit Monthly Cost - - module.mod_eu1.aws_instance.instance_eu1[0] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $9.20 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.88 - - module.mod_us2.aws_instance.instance_us2[0] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $19.35 + Name Monthly Qty Unit Monthly Cost + + module.mod_eu1.aws_instance.instance_eu1[0] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $9.20 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.88 + + module.mod_us2.aws_instance.instance_us2[0] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $19.35 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...th_providers_depending_on_data ┃ $19 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...th_providers_depending_on_data ┃ $19 ┃ $0.00 ┃ $19 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_target/breakdown_with_target.golden b/cmd/infracost/testdata/breakdown_with_target/breakdown_with_target.golden index 311236d4bc2..dd94e78e0a6 100644 --- a/cmd/infracost/testdata/breakdown_with_target/breakdown_with_target.golden +++ b/cmd/infracost/testdata/breakdown_with_target/breakdown_with_target.golden @@ -1,22 +1,25 @@ Project: infracost/infracost/cmd/infracost/testdata/plan_with_target.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.small) 730 hours $15.18 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - - OVERALL TOTAL $16.18 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.small) 730 hours $15.18 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + + OVERALL TOTAL $16.18 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/plan_with_target.json ┃ $16 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/plan_with_target.json ┃ $16 ┃ $0.00 ┃ $16 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden b/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden index 46b276ee615..0dda404098f 100644 --- a/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden +++ b/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_workspace Workspace: prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - OVERALL TOTAL $1,303.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + OVERALL TOTAL $1,303.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...tdata/breakdown_with_workspace ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...tdata/breakdown_with_workspace ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden b/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden index 2179ae149f0..fb8a3b45823 100644 --- a/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden +++ b/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will increase by $41 📈

+

💰 Infracost report

+

Monthly cost will increase by $41 📈

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -106,16 +116,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $41 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
This comment will be updated when code changes. diff --git a/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden b/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden index 75d0179bb9b..a89400f6552 100644 --- a/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden +++ b/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden @@ -1,14 +1,16 @@ -# Infracost report # +#### 💰 Infracost report #### -## Monthly cost will increase by $41 ↑ ## +#### Monthly cost will increase by $41 ↑ #### -| **Project** | **Cost change** | **New monthly cost** | -| ----------- | --------------: | -------------------- | -| infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 (+100%) | $81 | +| **Changed project** | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| ----------- | --------------: | --------------: | --------------: | --------------: | +| infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | -### Cost details ### +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). + +##### Cost details ##### ``` Key: * usage cost, ~ changed, + added, - removed @@ -98,16 +100,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $41 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ``` Comment not posted to Bitbucket (--dry-run was specified) diff --git a/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden b/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden index 9e7e2ece28c..0af98b5e575 100644 --- a/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden +++ b/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden @@ -1,12 +1,16 @@ -# Infracost report # +#### 💰 Infracost report #### -## Monthly cost will increase by $41 ↑ ## +#### Monthly cost will increase by $41 ↑ #### -| **Project** | **Cost change** | **New monthly cost** | -| ----------- | --------------: | -------------------- | -| infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 (+100%) | $81 | +| **Changed project** | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| ----------- | --------------: | --------------: | --------------: | --------------: | +| infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). + +Cost details were left out because expandable comment sections are not supported. This comment will be updated when code changes. diff --git a/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden b/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden index 38b12e529c5..1e1110a5cde 100644 --- a/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden +++ b/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden @@ -1,14 +1,16 @@ -# Infracost report # +#### 💰 Infracost report #### -## Monthly cost will increase by $41 ↑ ## +#### Monthly cost will increase by $41 ↑ #### -| **Project** | **Cost change** | **New monthly cost** | -| ----------- | --------------: | -------------------- | -| infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 (+100%) | $81 | +| **Changed project** | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| ----------- | --------------: | --------------: | --------------: | --------------: | +| infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | -### Cost details ### +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). + +##### Cost details ##### ``` Key: * usage cost, ~ changed, + added, - removed @@ -98,16 +100,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $41 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ``` This comment will be updated when code changes. diff --git a/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden b/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden index 5fc982e1acf..3eae23c9f9f 100644 --- a/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden +++ b/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will increase by $41 📈

+

💰 Infracost report

+

Monthly cost will increase by $41 📈

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -106,16 +116,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $41 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden b/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden index 30246f7a3fd..b51f5cf0c71 100644 --- a/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden +++ b/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden @@ -1,8 +1,9 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

-Cost details + +Cost details (includes details of unsupported resources) ``` ────────────────────────────────── diff --git a/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden b/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden index 0b4402c2425..dbb094d61ab 100644 --- a/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden +++ b/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will increase by $41 📈

+

💰 Infracost report

+

Monthly cost will increase by $41 📈

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -106,16 +116,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $41 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
This comment will be updated when code changes. diff --git a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden index f42ea4a4ffe..e1f4d4da7c2 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden @@ -1,27 +1,39 @@ -

Infracost report

-

💰 Monthly cost will increase by $41 📈

+

💰 Infracost report

+

Monthly cost will increase by $41 📈

- - + + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json+$0+$0-+$0 $41
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -111,17 +123,19 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $41 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┃ infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json ┃ +$0 ┃ $41 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┃ infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json ┃ +$0 ┃ - ┃ +$0 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden index 269dafd726b..fd417baf5a7 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/internal/hc.../multi_project_with_module/dev+$0+$0-+$0 $566
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` ────────────────────────────────── diff --git a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden index 31313dca3d5..bc534ae9f78 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/internal/hc.../multi_project_with_module/dev+$0+$0-+$0 $566
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` ────────────────────────────────── diff --git a/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden b/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden index d4be4168bac..1b9cc170c45 100644 --- a/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden +++ b/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will increase by $41 📈

+

💰 Infracost report

+

Monthly cost will increase by $41 📈

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -106,16 +116,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $41 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden b/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden index 496a6a49a87..bff802ce400 100644 --- a/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden +++ b/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will increase by $41 📈

+

💰 Infracost report

+

Monthly cost will increase by $41 📈

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -106,16 +116,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $41 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
This comment will be updated when code changes. diff --git a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden index b42fdf395f2..75778e584ed 100644 --- a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden +++ b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden @@ -1,5 +1,8 @@ OVERALL TOTAL - +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. + + Err: diff --git a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden index 456a1a1cd70..95f73fd6dfc 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden @@ -28,15 +28,17 @@ Amount: +$743 ($0.00 → $743) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 1 cloud resource was detected: ∙ 1 was estimated Infracost estimate: Monthly cost will increase by $743 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...tdata/diff_prior_empty_project ┃ +$743 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...tdata/diff_prior_empty_project ┃ +$743 ┃ +$0 ┃ +$743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_project_name/diff_project_name.golden b/cmd/infracost/testdata/diff_project_name/diff_project_name.golden index 081c170bdb4..6a262294f28 100644 --- a/cmd/infracost/testdata/diff_project_name/diff_project_name.golden +++ b/cmd/infracost/testdata/diff_project_name/diff_project_name.golden @@ -186,23 +186,25 @@ Percent: -57% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. + 18 cloud resources were detected: ∙ 18 were estimated Infracost estimate: Monthly cost will decrease by $750 ↓ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ my first project ┃ -$420 (-57%) ┃ $322 ┃ -┃ my first project again ┃ -$420 (-57%) ┃ $322 ┃ -┃ my terragrunt dev project ┃ -$8 (-14%) ┃ $52 ┃ -┃ my terragrunt multi project ┃ +$52 ┃ $52 ┃ -┃ my terragrunt multi project ┃ +$280 (+60%) ┃ $748 ┃ -┃ my terragrunt prod project ┃ -$561 (-43%) ┃ $748 ┃ -┃ my terragrunt workspace ┃ +$0.88 (+2%) ┃ $52 ┃ -┃ my terragrunt workspace ┃ +$748 ┃ $748 ┃ -┃ my workspace project ┃ -$420 (-57%) ┃ $322 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ my first project ┃ -$420 ┃ +$0 ┃ -$420 (-57%) ┃ +┃ my first project again ┃ -$420 ┃ +$0 ┃ -$420 (-57%) ┃ +┃ my terragrunt dev project ┃ -$8 ┃ +$0 ┃ -$8 (-14%) ┃ +┃ my terragrunt multi project ┃ +$52 ┃ +$0 ┃ +$52 ┃ +┃ my terragrunt multi project ┃ +$280 ┃ +$0 ┃ +$280 (+60%) ┃ +┃ my terragrunt prod project ┃ -$561 ┃ +$0 ┃ -$561 (-43%) ┃ +┃ my terragrunt workspace ┃ +$0.88 ┃ +$0 ┃ +$0.88 (+2%) ┃ +┃ my terragrunt workspace ┃ +$748 ┃ +$0 ┃ +$748 ┃ +┃ my workspace project ┃ -$420 ┃ +$0 ┃ -$420 (-57%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden index b3f61c722f4..4e89b171ad9 100644 --- a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden +++ b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden @@ -43,15 +43,17 @@ Amount: +$743 ($0.00 → $743) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 2 cloud resources were detected: ∙ 2 were estimated Infracost estimate: Monthly cost will increase by $743 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ +$743 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terraform ┃ +$743 ┃ +$0 ┃ +$743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_terraform_out_file/infracost_output.golden b/cmd/infracost/testdata/diff_terraform_out_file/infracost_output.golden index ba4a3d9fd5b..7c95c508055 100644 --- a/cmd/infracost/testdata/diff_terraform_out_file/infracost_output.golden +++ b/cmd/infracost/testdata/diff_terraform_out_file/infracost_output.golden @@ -102,12 +102,14 @@ Amount: +$1,485 ($0.00 → $1,485) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 5 cloud resources were detected: ∙ 5 were estimated Infracost estimate: Monthly cost will increase by $1,485 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ +$1,485 ┃ $1,485 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ +$1,485 ┃ +$0 ┃ +$1,485 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/cmd/infracost/testdata/diff_terraform_plan_json/diff_terraform_plan_json.golden b/cmd/infracost/testdata/diff_terraform_plan_json/diff_terraform_plan_json.golden index 04b81fef817..09378a41aa9 100644 --- a/cmd/infracost/testdata/diff_terraform_plan_json/diff_terraform_plan_json.golden +++ b/cmd/infracost/testdata/diff_terraform_plan_json/diff_terraform_plan_json.golden @@ -62,15 +62,17 @@ Amount: +$1,361 ($0.00 → $1,361) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs were estimated using ./testdata/example_usage.yml. + 5 cloud resources were detected: ∙ 5 were estimated Infracost estimate: Monthly cost will increase by $1,361 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ +$1,361 ┃ $1,361 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ +$925 ┃ +$437 ┃ +$1,361 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_terraform_show_skipped/diff_terraform_show_skipped.golden b/cmd/infracost/testdata/diff_terraform_show_skipped/diff_terraform_show_skipped.golden index 9fcc2fd6efa..6801d0ee65d 100644 --- a/cmd/infracost/testdata/diff_terraform_show_skipped/diff_terraform_show_skipped.golden +++ b/cmd/infracost/testdata/diff_terraform_show_skipped/diff_terraform_show_skipped.golden @@ -21,6 +21,8 @@ Amount: +$343 ($0.00 → $343) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 8 cloud resources were detected: ∙ 2 were estimated ∙ 3 were free @@ -30,11 +32,11 @@ Key: * usage cost, ~ changed, + added, - removed ∙ 1 x azurerm_express_route_port Infracost estimate: Monthly cost will increase by $343 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...xpress_route_gateway_plan.json ┃ +$343 ┃ $343 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...xpress_route_gateway_plan.json ┃ +$343 ┃ +$0 ┃ +$343 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_terraform_usage_file/diff_terraform_usage_file.golden b/cmd/infracost/testdata/diff_terraform_usage_file/diff_terraform_usage_file.golden index 04b81fef817..09378a41aa9 100644 --- a/cmd/infracost/testdata/diff_terraform_usage_file/diff_terraform_usage_file.golden +++ b/cmd/infracost/testdata/diff_terraform_usage_file/diff_terraform_usage_file.golden @@ -62,15 +62,17 @@ Amount: +$1,361 ($0.00 → $1,361) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs were estimated using ./testdata/example_usage.yml. + 5 cloud resources were detected: ∙ 5 were estimated Infracost estimate: Monthly cost will increase by $1,361 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ +$1,361 ┃ $1,361 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/example_plan.json ┃ +$925 ┃ +$437 ┃ +$1,361 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_terraform_v0_12/diff_terraform_v0_12.golden b/cmd/infracost/testdata/diff_terraform_v0_12/diff_terraform_v0_12.golden index 2436fcb4a0b..83297f916f9 100644 --- a/cmd/infracost/testdata/diff_terraform_v0_12/diff_terraform_v0_12.golden +++ b/cmd/infracost/testdata/diff_terraform_v0_12/diff_terraform_v0_12.golden @@ -88,16 +88,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $187 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.12_plan.json ┃ +$187 (+100%) ┃ $373 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.12_plan.json ┃ +$187 ┃ +$0 ┃ +$187 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_terraform_v0_14/diff_terraform_v0_14.golden b/cmd/infracost/testdata/diff_terraform_v0_14/diff_terraform_v0_14.golden index 43ff67712d2..9e3e6ffdcf2 100644 --- a/cmd/infracost/testdata/diff_terraform_v0_14/diff_terraform_v0_14.golden +++ b/cmd/infracost/testdata/diff_terraform_v0_14/diff_terraform_v0_14.golden @@ -88,16 +88,18 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $187 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$187 (+100%) ┃ $373 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$187 ┃ +$0 ┃ +$187 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_terragrunt/diff_terragrunt.golden b/cmd/infracost/testdata/diff_terragrunt/diff_terragrunt.golden index 31498d1a7d4..5dfc1012cf6 100644 --- a/cmd/infracost/testdata/diff_terragrunt/diff_terragrunt.golden +++ b/cmd/infracost/testdata/diff_terragrunt/diff_terragrunt.golden @@ -85,16 +85,18 @@ Amount: +$748 ($0.00 → $748) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 4 cloud resources were detected: ∙ 4 were estimated Infracost estimate: Monthly cost will increase by $800 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ +$52 ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ +$748 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terragrunt/dev ┃ +$52 ┃ +$0 ┃ +$52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ +$748 ┃ +$0 ┃ +$748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_terragrunt_nested/diff_terragrunt_nested.golden b/cmd/infracost/testdata/diff_terragrunt_nested/diff_terragrunt_nested.golden index a51ad4e5a72..abfce4b3c72 100644 --- a/cmd/infracost/testdata/diff_terragrunt_nested/diff_terragrunt_nested.golden +++ b/cmd/infracost/testdata/diff_terragrunt_nested/diff_terragrunt_nested.golden @@ -85,16 +85,18 @@ Amount: +$748 ($0.00 → $748) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 4 cloud resources were detected: ∙ 4 were estimated Infracost estimate: Monthly cost will increase by $800 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ +$52 ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ +$748 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terragrunt/dev ┃ +$52 ┃ +$0 ┃ +$52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ +$748 ┃ +$0 ┃ +$748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden index cab717c482f..a435db46660 100644 --- a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden @@ -35,15 +35,17 @@ Percent: -36% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 1 cloud resource was detected: ∙ 1 was estimated Infracost estimate: Monthly cost will decrease by $743 ↓ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/diff_with_compare_to ┃ -$743 (-36%) ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/diff_with_compare_to ┃ -$743 ┃ +$0 ┃ -$743 (-36%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden index 75100a39913..7cc5a4ef340 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden @@ -31,16 +31,18 @@ Percent: +75% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. + 2 cloud resources were detected: ∙ 2 were estimated Infracost estimate: Monthly cost will increase by $350 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ith_config_file_compare_to/dev ┃ -$210 (-45%) ┃ $252 ┃ -┃ infracost/infracost/cmd/infraco...th_config_file_compare_to/prod ┃ +$561 (+75%) ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ith_config_file_compare_to/dev ┃ -$210 ┃ +$0 ┃ -$210 (-45%) ┃ +┃ infracost/infracost/cmd/infraco...th_config_file_compare_to/prod ┃ +$561 ┃ +$0 ┃ +$561 (+75%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden index d1f567116ef..2d6935ec29d 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden @@ -43,16 +43,18 @@ Percent: +75% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. + 1 cloud resource was detected: ∙ 1 was estimated Infracost estimate: Monthly cost will increase by $98 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...compare_to_deleted_project/dev ┃ -$462 ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco...ompare_to_deleted_project/prod ┃ +$561 (+75%) ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...compare_to_deleted_project/dev ┃ -$462 ┃ +$0 ┃ -$462 ┃ +┃ infracost/infracost/cmd/infraco...ompare_to_deleted_project/prod ┃ +$561 ┃ +$0 ┃ +$561 (+75%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/diff_with_infracost_json/diff_with_infracost_json.golden b/cmd/infracost/testdata/diff_with_infracost_json/diff_with_infracost_json.golden index 726390b9376..f6919e91086 100644 --- a/cmd/infracost/testdata/diff_with_infracost_json/diff_with_infracost_json.golden +++ b/cmd/infracost/testdata/diff_with_infracost_json/diff_with_infracost_json.golden @@ -35,12 +35,14 @@ Percent: -36% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 1 cloud resource was detected: ∙ 1 was estimated Infracost estimate: Monthly cost will decrease by $743 ↓ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...tdata/diff_with_infracost_json ┃ -$743 (-36%) ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...tdata/diff_with_infracost_json ┃ -$743 ┃ +$0 ┃ -$743 (-36%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ diff --git a/cmd/infracost/testdata/diff_with_target/diff_with_target.golden b/cmd/infracost/testdata/diff_with_target/diff_with_target.golden index f62b14c9305..fce71282f90 100644 --- a/cmd/infracost/testdata/diff_with_target/diff_with_target.golden +++ b/cmd/infracost/testdata/diff_with_target/diff_with_target.golden @@ -16,15 +16,17 @@ Percent: +88% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 1 cloud resource was detected: ∙ 1 was estimated Infracost estimate: Monthly cost will increase by $8 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/plan_with_target.json ┃ +$8 (+88%) ┃ $16 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/plan_with_target.json ┃ +$8 ┃ +$0 ┃ +$8 (+88%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden index 08666cdea2a..be7226e9001 100644 --- a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden +++ b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden @@ -2,31 +2,34 @@ Project: infracost/infracost/examples/terraform Module path: ../../../examples/terraform Workspace: dev - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $742.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden index 931ea538c1c..e5838fa2709 100644 --- a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden +++ b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden @@ -1,31 +1,34 @@ Project: infracost/infracost/examples/terraform Workspace: prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $742.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden index 31578dffd4a..02e02ef1747 100644 --- a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden +++ b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden @@ -1,22 +1,25 @@ Project: infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock - Name Monthly Qty Unit Monthly Cost - - aws_instance.workers_launch_template - ├─ Instance usage (Linux/UNIX, on-demand, m4.large) 730 hours $73.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $73.80 + Name Monthly Qty Unit Monthly Cost + + aws_instance.workers_launch_template + ├─ Instance usage (Linux/UNIX, on-demand, m4.large) 730 hours $73.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $73.80 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock ┃ $74 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden index 48c2f562c64..bed1fbb41e1 100644 --- a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden +++ b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden @@ -1,33 +1,36 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_count - Name Monthly Qty Unit Monthly Cost - - module.this[0].aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - module.this[1].aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - OVERALL TOTAL $933.11 + Name Monthly Qty Unit Monthly Cost + + module.this[0].aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + module.this[1].aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + OVERALL TOTAL $933.11 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmodule_count ┃ $933 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclmodule_count ┃ $933 ┃ $0.00 ┃ $933 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden index 12691197ff4..f9f26e8c9cf 100644 --- a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden +++ b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden @@ -1,33 +1,36 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_for_each - Name Monthly Qty Unit Monthly Cost - - module.this[0].aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - module.this[1].aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - OVERALL TOTAL $933.11 + Name Monthly Qty Unit Monthly Cost + + module.this[0].aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + module.this[1].aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + OVERALL TOTAL $933.11 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmodule_for_each ┃ $933 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclmodule_for_each ┃ $933 ┃ $0.00 ┃ $933 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden index 0760412a4cf..95ae67dc71d 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden @@ -1,16 +1,19 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts - Name Monthly Qty Unit Monthly Cost - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...stdata/hclmodule_output_counts ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...stdata/hclmodule_output_counts ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden index 8186461de46..55dd743d048 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden @@ -1,16 +1,19 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts_nested - Name Monthly Qty Unit Monthly Cost - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...hclmodule_output_counts_nested ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...hclmodule_output_counts_nested ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden index 0a57c4484c6..0c64c4dd6c5 100644 --- a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden +++ b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden @@ -1,25 +1,28 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change - Name Monthly Qty Unit Monthly Cost - - module.test.aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - OVERALL TOTAL $742.64 + Name Monthly Qty Unit Monthly Cost + + module.test.aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + OVERALL TOTAL $742.64 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...le_reevaluated_on_input_change ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...le_reevaluated_on_input_change ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden index 25e14bc28a1..60f766ea27f 100644 --- a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden +++ b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_relative_filesets - Name Monthly Qty Unit Monthly Cost - - module.ecs_service_with_path_cwd.aws_ecs_service.service - ├─ Per GB per hour 4 GB $12.98 - └─ Per vCPU per hour 4 CPU $118.20 - - module.ecs_service_with_path_module.aws_ecs_service.service - ├─ Per GB per hour 2 GB $6.49 - └─ Per vCPU per hour 2 CPU $59.10 - - module.ecs_service.aws_ecs_service.service - ├─ Per GB per hour 0.5 GB $1.62 - └─ Per vCPU per hour 0.25 CPU $7.39 - - OVERALL TOTAL $205.78 + Name Monthly Qty Unit Monthly Cost + + module.ecs_service_with_path_cwd.aws_ecs_service.service + ├─ Per GB per hour 4 GB $12.98 + └─ Per vCPU per hour 4 CPU $118.20 + + module.ecs_service_with_path_module.aws_ecs_service.service + ├─ Per GB per hour 2 GB $6.49 + └─ Per vCPU per hour 2 CPU $59.10 + + module.ecs_service.aws_ecs_service.service + ├─ Per GB per hour 0.5 GB $1.62 + └─ Per vCPU per hour 0.25 CPU $7.39 + + OVERALL TOTAL $205.78 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 3 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ta/hclmodule_relative_filesets ┃ $206 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ta/hclmodule_relative_filesets ┃ $206 ┃ $0.00 ┃ $206 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden index b453533ccbd..2d7bfb3d193 100644 --- a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden +++ b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden @@ -1,122 +1,125 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmulti_project_infra/dev Module path: dev - Name Monthly Qty Unit Monthly Cost - - module.front.aws_db_instance.front - ├─ Database instance (on-demand, Single-AZ, db.t3.small) 730 hours $24.82 - └─ Storage (general purpose SSD, gp2) 100 GB $11.50 - - module.base.module.vpc.aws_nat_gateway.this[0] - ├─ NAT gateway 730 hours $32.85 - └─ Data processed Monthly cost depends on usage: $0.045 per GB - - module.front.aws_dynamodb_table.sessions - ├─ Write capacity unit (WCU) 50 WCU $23.73 - ├─ Read capacity unit (RCU) 50 RCU $4.75 - ├─ Data storage Monthly cost depends on usage: $0.25 per GB - ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB - ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB - ├─ Table data restored Monthly cost depends on usage: $0.15 per GB - └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs - - module.back_api.aws_db_instance.back_api_db - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - - module.back_api.aws_s3_bucket.back_api_db_data - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - module.front.aws_cloudfront_distribution.front_web - ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths - └─ US, Mexico, Canada - ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB - ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB - ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests - └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests - - module.front.aws_s3_bucket.front_web - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - Project total $112.35 + Name Monthly Qty Unit Monthly Cost + + module.front.aws_db_instance.front + ├─ Database instance (on-demand, Single-AZ, db.t3.small) 730 hours $24.82 + └─ Storage (general purpose SSD, gp2) 100 GB $11.50 + + module.base.module.vpc.aws_nat_gateway.this[0] + ├─ NAT gateway 730 hours $32.85 + └─ Data processed Monthly cost depends on usage: $0.045 per GB + + module.front.aws_dynamodb_table.sessions + ├─ Write capacity unit (WCU) 50 WCU $23.73 + ├─ Read capacity unit (RCU) 50 RCU $4.75 + ├─ Data storage Monthly cost depends on usage: $0.25 per GB + ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB + ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB + ├─ Table data restored Monthly cost depends on usage: $0.15 per GB + └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs + + module.back_api.aws_db_instance.back_api_db + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + + module.back_api.aws_s3_bucket.back_api_db_data + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + module.front.aws_cloudfront_distribution.front_web + ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths + └─ US, Mexico, Canada + ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB + ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB + ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests + └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests + + module.front.aws_s3_bucket.front_web + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + Project total $112.35 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/hclmulti_project_infra/prod Module path: prod - Name Monthly Qty Unit Monthly Cost - - module.back_api.aws_db_instance.back_api_db - ├─ Database instance (on-demand, Multi-AZ, db.t3.small) 730 hours $49.64 - ├─ Storage (general purpose SSD, gp2) 20 GB $4.60 - └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - - module.front.aws_db_instance.front - ├─ Database instance (on-demand, Single-AZ, db.t3.small) 730 hours $24.82 - └─ Storage (general purpose SSD, gp2) 100 GB $11.50 - - module.base.module.vpc.aws_nat_gateway.this[0] - ├─ NAT gateway 730 hours $32.85 - └─ Data processed Monthly cost depends on usage: $0.045 per GB - - module.front.aws_dynamodb_table.sessions - ├─ Write capacity unit (WCU) 50 WCU $23.73 - ├─ Read capacity unit (RCU) 50 RCU $4.75 - ├─ Data storage Monthly cost depends on usage: $0.25 per GB - ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB - ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB - ├─ Table data restored Monthly cost depends on usage: $0.15 per GB - └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs - - module.back_api.aws_s3_bucket.back_api_db_data - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - module.front.aws_cloudfront_distribution.front_web - ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths - └─ US, Mexico, Canada - ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB - ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB - ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests - └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests - - module.front.aws_s3_bucket.front_web - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - Project total $151.88 + Name Monthly Qty Unit Monthly Cost + + module.back_api.aws_db_instance.back_api_db + ├─ Database instance (on-demand, Multi-AZ, db.t3.small) 730 hours $49.64 + ├─ Storage (general purpose SSD, gp2) 20 GB $4.60 + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + + module.front.aws_db_instance.front + ├─ Database instance (on-demand, Single-AZ, db.t3.small) 730 hours $24.82 + └─ Storage (general purpose SSD, gp2) 100 GB $11.50 + + module.base.module.vpc.aws_nat_gateway.this[0] + ├─ NAT gateway 730 hours $32.85 + └─ Data processed Monthly cost depends on usage: $0.045 per GB + + module.front.aws_dynamodb_table.sessions + ├─ Write capacity unit (WCU) 50 WCU $23.73 + ├─ Read capacity unit (RCU) 50 RCU $4.75 + ├─ Data storage Monthly cost depends on usage: $0.25 per GB + ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB + ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB + ├─ Table data restored Monthly cost depends on usage: $0.15 per GB + └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs + + module.back_api.aws_s3_bucket.back_api_db_data + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + module.front.aws_cloudfront_distribution.front_web + ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths + └─ US, Mexico, Canada + ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB + ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB + ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests + └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests + + module.front.aws_s3_bucket.front_web + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + Project total $151.88 + + OVERALL TOTAL $264.23 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. - OVERALL TOTAL $264.23 ────────────────────────────────── 52 cloud resources were detected: ∙ 14 were estimated ∙ 38 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ata/hclmulti_project_infra/dev ┃ $112 ┃ -┃ infracost/infracost/cmd/infraco...ta/hclmulti_project_infra/prod ┃ $152 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ata/hclmulti_project_infra/dev ┃ $112 ┃ $0.00 ┃ $112 ┃ +┃ infracost/infracost/cmd/infraco...ta/hclmulti_project_infra/prod ┃ $152 ┃ $0.00 ┃ $152 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden index 9b3b6a05d32..df6ecbcf96a 100644 --- a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden +++ b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden @@ -1,30 +1,33 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmulti_var_files - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 4,000 GB $400.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 2,000 GB $250.00 - └─ Provisioned IOPS 1,000 IOPS $65.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - OVERALL TOTAL $1,836.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 4,000 GB $400.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 2,000 GB $250.00 + └─ Provisioned IOPS 1,000 IOPS $65.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + OVERALL TOTAL $1,836.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_var_files ┃ $1,836 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclmulti_var_files ┃ $1,836 ┃ $0.00 ┃ $1,836 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden index 6d1d91002b2..fcd7993b63b 100644 --- a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden +++ b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden @@ -1,55 +1,58 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmulti_workspace Workspace: blue - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $742.64 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $742.64 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/hclmulti_workspace Workspace: yellow - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $742.64 - - OVERALL TOTAL $1,485.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + Project total $742.64 + + OVERALL TOTAL $1,485.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden index ec028653bca..154aa931bcc 100644 --- a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden +++ b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/hclprovider_alias - Name Monthly Qty Unit Monthly Cost - - aws_nat_gateway.example2 - ├─ NAT gateway 730 hours $67.89 - └─ Data processed Monthly cost depends on usage: $0.093 per GB - - aws_nat_gateway.example - ├─ NAT gateway 730 hours $32.85 - └─ Data processed Monthly cost depends on usage: $0.045 per GB - - OVERALL TOTAL $100.74 + Name Monthly Qty Unit Monthly Cost + + aws_nat_gateway.example2 + ├─ NAT gateway 730 hours $67.89 + └─ Data processed Monthly cost depends on usage: $0.093 per GB + + aws_nat_gateway.example + ├─ NAT gateway 730 hours $32.85 + └─ Data processed Monthly cost depends on usage: $0.045 per GB + + OVERALL TOTAL $100.74 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclprovider_alias ┃ $101 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclprovider_alias ┃ $101 ┃ $0.00 ┃ $101 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/instance_with_attachment_after_deploy/instance_with_attachment_after_deploy.golden b/cmd/infracost/testdata/instance_with_attachment_after_deploy/instance_with_attachment_after_deploy.golden index 88b9ab5a722..7591493af07 100644 --- a/cmd/infracost/testdata/instance_with_attachment_after_deploy/instance_with_attachment_after_deploy.golden +++ b/cmd/infracost/testdata/instance_with_attachment_after_deploy/instance_with_attachment_after_deploy.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/instance_with_attachment_after_deploy.json - Name Monthly Qty Unit Monthly Cost - - aws_ebs_volume.storage - └─ Storage (general purpose SSD, gp2) 128 GB $12.80 - - aws_instance.ec2 - ├─ Instance usage (Linux/UNIX, on-demand, t2.nano) 730 hours $4.23 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $17.83 + Name Monthly Qty Unit Monthly Cost + + aws_ebs_volume.storage + └─ Storage (general purpose SSD, gp2) 128 GB $12.80 + + aws_instance.ec2 + ├─ Instance usage (Linux/UNIX, on-demand, t2.nano) 730 hours $4.23 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $17.83 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...h_attachment_after_deploy.json ┃ $18 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...h_attachment_after_deploy.json ┃ $18 ┃ $0.00 ┃ $18 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/instance_with_attachment_before_deploy/instance_with_attachment_before_deploy.golden b/cmd/infracost/testdata/instance_with_attachment_before_deploy/instance_with_attachment_before_deploy.golden index b11bc5bbf2a..ea023dc213b 100644 --- a/cmd/infracost/testdata/instance_with_attachment_before_deploy/instance_with_attachment_before_deploy.golden +++ b/cmd/infracost/testdata/instance_with_attachment_before_deploy/instance_with_attachment_before_deploy.golden @@ -1,26 +1,29 @@ Project: infracost/infracost/cmd/infracost/testdata/instance_with_attachment_before_deploy.json - Name Monthly Qty Unit Monthly Cost - - aws_ebs_volume.storage - └─ Storage (general purpose SSD, gp2) 128 GB $12.80 - - aws_instance.ec2 - ├─ Instance usage (Linux/UNIX, on-demand, t2.nano) 730 hours $4.23 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $17.83 + Name Monthly Qty Unit Monthly Cost + + aws_ebs_volume.storage + └─ Storage (general purpose SSD, gp2) 128 GB $12.80 + + aws_instance.ec2 + ├─ Instance usage (Linux/UNIX, on-demand, t2.nano) 730 hours $4.23 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $17.83 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco..._attachment_before_deploy.json ┃ $18 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco..._attachment_before_deploy.json ┃ $18 ┃ $0.00 ┃ $18 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden b/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden index 1340672ff13..1c9258ebb34 100644 --- a/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden +++ b/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden @@ -1,27 +1,39 @@ -

Infracost report

-

💰 Monthly cost will increase by $1,402 📈

+

💰 Infracost report

+

Monthly cost will increase by $1,402 📈

- - + + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infracost/testdata+$1,361+$1,361-+$1,361 $1,361
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -170,17 +182,19 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $1,402 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden index 1340672ff13..1c9258ebb34 100644 --- a/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden @@ -1,27 +1,39 @@ -

Infracost report

-

💰 Monthly cost will increase by $1,402 📈

+

💰 Infracost report

+

Monthly cost will increase by $1,402 📈

- - + + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infracost/testdata+$1,361+$1,361-+$1,361 $1,361
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -170,17 +182,19 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $1,402 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_azure_repos_comment_no_change/output_format_azure_repos_comment_no_change.golden b/cmd/infracost/testdata/output_format_azure_repos_comment_no_change/output_format_azure_repos_comment_no_change.golden index d394085e49d..a06d69c6b93 100644 --- a/cmd/infracost/testdata/output_format_azure_repos_comment_no_change/output_format_azure_repos_comment_no_change.golden +++ b/cmd/infracost/testdata/output_format_azure_repos_comment_no_change/output_format_azure_repos_comment_no_change.golden @@ -1,4 +1,4 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

diff --git a/cmd/infracost/testdata/output_format_bitbucket_comment_summary/output_format_bitbucket_comment_summary.golden b/cmd/infracost/testdata/output_format_bitbucket_comment_summary/output_format_bitbucket_comment_summary.golden index d77c40c29c7..774d3416ab6 100644 --- a/cmd/infracost/testdata/output_format_bitbucket_comment_summary/output_format_bitbucket_comment_summary.golden +++ b/cmd/infracost/testdata/output_format_bitbucket_comment_summary/output_format_bitbucket_comment_summary.golden @@ -1,6 +1,8 @@ -# Infracost report # +#### 💰 Infracost report #### -## Monthly cost will not change ## +#### Monthly cost will not change #### + +Cost details were left out because expandable comment sections are not supported. diff --git a/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden b/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden index 2ac1f539b83..94abeed6e4b 100644 --- a/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden +++ b/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden @@ -1,19 +1,21 @@ -# Infracost report # +#### 💰 Infracost report #### -## Monthly cost will decrease by $3,364 ↓ ## +#### Monthly cost will decrease by $3,364 ↓ #### -| **Project** | **Module path** | **Cost change** | **New monthly cost** | -| ----------- | ---------- | --------------: | -------------------- | -| my first project | | -$561 (-43%) | $743 | -| my first project again | | -$561 (-43%) | $743 | -| my terragrunt multi project | prod | -$561 (-43%) | $748 | -| my terragrunt prod project | | -$561 (-43%) | $748 | -| my terragrunt workspace | prod | -$561 (-43%) | $748 | -| my workspace project | | -$561 (-43%) | $743 | +| **Changed project** | **Module path** | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| ----------- | ---------- | --------------: | --------------: | --------------: | --------------: | +| my first project | | -$561 | - | -$561 (-43%) | $743 | +| my first project again | | -$561 | - | -$561 (-43%) | $743 | +| my terragrunt multi project | prod | -$561 | - | -$561 (-43%) | $748 | +| my terragrunt prod project | | -$561 | - | -$561 (-43%) | $748 | +| my terragrunt workspace | prod | -$561 | - | -$561 (-43%) | $748 | +| my workspace project | | -$561 | - | -$561 (-43%) | $743 | -### Cost details ### +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). + +##### Cost details ##### ``` Key: * usage cost, ~ changed, + added, - removed @@ -103,19 +105,21 @@ Percent: -43% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 18 cloud resources were detected: ∙ 18 were estimated Infracost estimate: Monthly cost will decrease by $3,364 ↓ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ my first project ┃ -$561 (-43%) ┃ $743 ┃ -┃ my first project again ┃ -$561 (-43%) ┃ $743 ┃ -┃ my terragrunt multi project ┃ -$561 (-43%) ┃ $748 ┃ -┃ my terragrunt prod project ┃ -$561 (-43%) ┃ $748 ┃ -┃ my terragrunt workspace ┃ -$561 (-43%) ┃ $748 ┃ -┃ my workspace project ┃ -$561 (-43%) ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ my first project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my first project again ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my terragrunt multi project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my terragrunt prod project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my terragrunt workspace ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my workspace project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ``` diff --git a/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden b/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden index 1340672ff13..1c9258ebb34 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden @@ -1,27 +1,39 @@ -

Infracost report

-

💰 Monthly cost will increase by $1,402 📈

+

💰 Infracost report

+

Monthly cost will increase by $1,402 📈

- - + + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infracost/testdata+$1,361+$1,361-+$1,361 $1,361
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -170,17 +182,19 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $1,402 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden index 1340672ff13..1c9258ebb34 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden @@ -1,27 +1,39 @@ -

Infracost report

-

💰 Monthly cost will increase by $1,402 📈

+

💰 Infracost report

+

Monthly cost will increase by $1,402 📈

- - + + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infracost/testdata+$1,361+$1,361-+$1,361 $1,361
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -170,17 +182,19 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $1,402 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_no_change/output_format_git_hub_comment_no_change.golden b/cmd/infracost/testdata/output_format_git_hub_comment_no_change/output_format_git_hub_comment_no_change.golden index d394085e49d..a06d69c6b93 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_no_change/output_format_git_hub_comment_no_change.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_no_change/output_format_git_hub_comment_no_change.golden @@ -1,4 +1,4 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_no_project/output_format_git_hub_comment_no_project.golden b/cmd/infracost/testdata/output_format_git_hub_comment_no_project/output_format_git_hub_comment_no_project.golden index d394085e49d..a06d69c6b93 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_no_project/output_format_git_hub_comment_no_project.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_no_project/output_format_git_hub_comment_no_project.golden @@ -1,4 +1,4 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden b/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden index a8bd8b3e562..b347f99d25e 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden @@ -1,37 +1,53 @@ -

Infracost report

-

💰 Monthly cost will increase by $1,402 📈

+

💰 Infracost report

+

Monthly cost will increase by $1,402 📈

- - + + + + - + + + - + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infracost/testdata+$1,361+$1,361-+$1,361 $1,361
infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json+$0+$0-+$0 $41
infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json+$0+$0-+$0 $41
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -180,19 +196,21 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $1,402 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┃ infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json ┃ +$0 ┃ $41 ┃ -┃ infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json ┃ +$0 ┃ $41 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┃ infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json ┃ +$0 ┃ - ┃ +$0 ┃ +┃ infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json ┃ +$0 ┃ - ┃ +$0 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_all_error/output_format_git_hub_comment_with_all_error.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_all_error/output_format_git_hub_comment_with_all_error.golden index 89b8aeec89d..716a2efd288 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_all_error/output_format_git_hub_comment_with_all_error.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_all_error/output_format_git_hub_comment_with_all_error.golden @@ -1,8 +1,9 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

-Cost details + +Cost details (includes details of skipped projects due to errors) ``` ────────────────────────────────── diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden index 5cbd12f1bdb..2a20cf4e2e4 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will increase by $1,303 📈

+

💰 Infracost report

+

Monthly cost will increase by $1,303 📈

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infraco..._multi_project_with_error/prod+$1,303+$1,303-+$1,303 $1,303
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details (includes details of skipped projects due to errors) ``` Key: * usage cost, ~ changed, + added, - removed @@ -59,15 +69,17 @@ Errors: ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 1 cloud resource was detected: ∙ 1 was estimated Infracost estimate: Monthly cost will increase by $1,303 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ +$1,303 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ +$1,303 ┃ - ┃ +$1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden index ede6e3f2b14..d5fa39f55ed 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden @@ -1,42 +1,60 @@ -

Infracost report

-

💰 Monthly cost will decrease by $2,242 📉

+

💰 Infracost report

+

Monthly cost will decrease by $2,242 📉

- - + + + + - + + + - + + + - + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
my first project-$561 (-43%)-$561--$561 (-43%) $743
my first project again-$561 (-43%)-$561--$561 (-43%) $743
my terragrunt dev project+$0.88 (+2%)+$0.88-+$0.88 (+2%) $52
my terragrunt prod project-$561 (-43%)-$561--$561 (-43%) $748
my workspace project-$561 (-43%)-$561--$561 (-43%) $743
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -110,19 +128,21 @@ Percent: -43% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 10 cloud resources were detected: ∙ 10 were estimated Infracost estimate: Monthly cost will decrease by $2,242 ↓ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ my first project ┃ -$561 (-43%) ┃ $743 ┃ -┃ my first project again ┃ -$561 (-43%) ┃ $743 ┃ -┃ my terragrunt dev project ┃ +$0.88 (+2%) ┃ $52 ┃ -┃ my terragrunt prod project ┃ -$561 (-43%) ┃ $748 ┃ -┃ my workspace project ┃ -$561 (-43%) ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ my first project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my first project again ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my terragrunt dev project ┃ +$0.88 ┃ - ┃ +$0.88 (+2%) ┃ +┃ my terragrunt prod project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my workspace project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden index a8d949c3ba4..f5805122896 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden @@ -1,12 +1,16 @@ -

Infracost report

-

💰 Monthly cost will decrease by $2,241 📉

+

💰 Infracost report

+

Monthly cost will decrease by $2,241 📉

- + - + + + @@ -14,48 +18,64 @@ - + + + - + + + - + + + - + + + - + + + - + + +
ProjectChanged project Module path WorkspaceCost changeBaseline costUsage cost*Total change New monthly cost
my terragrunt project dev +$0.88 (+2%)+$0.88-+$0.88 (+2%) $52
my terragrunt project dev ws2+$0.88 (+2%)+$0.88-+$0.88 (+2%) $52
my terragrunt project prod -$561 (-43%)-$561--$561 (-43%) $748
my terragrunt project prod ws2-$561 (-43%)-$561--$561 (-43%) $748
my tf project -$561 (-43%)-$561--$561 (-43%) $743
my tf project my tf workspace-$561 (-43%)-$561--$561 (-43%) $743
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -148,20 +168,22 @@ Percent: -43% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 12 cloud resources were detected: ∙ 12 were estimated Infracost estimate: Monthly cost will decrease by $2,241 ↓ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ my terragrunt project ┃ +$0.88 (+2%) ┃ $52 ┃ -┃ my terragrunt project ┃ -$561 (-43%) ┃ $748 ┃ -┃ my terragrunt project ┃ +$0.88 (+2%) ┃ $52 ┃ -┃ my terragrunt project ┃ -$561 (-43%) ┃ $748 ┃ -┃ my tf project ┃ -$561 (-43%) ┃ $743 ┃ -┃ my tf project ┃ -$561 (-43%) ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ my terragrunt project ┃ +$0.88 ┃ - ┃ +$0.88 (+2%) ┃ +┃ my terragrunt project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my terragrunt project ┃ +$0.88 ┃ - ┃ +$0.88 (+2%) ┃ +┃ my terragrunt project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my tf project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┃ my tf project ┃ -$561 ┃ - ┃ -$561 (-43%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden b/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden index 01f1d914449..47e49c00c97 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden @@ -1,22 +1,32 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

- - + + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
different_name_plan+$0+$0-+$0 $41
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -44,6 +54,8 @@ Percent: 0% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ```
diff --git a/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden b/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden index 1340672ff13..1c9258ebb34 100644 --- a/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden +++ b/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden @@ -1,27 +1,39 @@ -

Infracost report

-

💰 Monthly cost will increase by $1,402 📈

+

💰 Infracost report

+

Monthly cost will increase by $1,402 📈

- - + + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infracost/testdata+$1,361+$1,361-+$1,361 $1,361
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -170,17 +182,19 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $1,402 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden index 1340672ff13..1c9258ebb34 100644 --- a/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden @@ -1,27 +1,39 @@ -

Infracost report

-

💰 Monthly cost will increase by $1,402 📈

+

💰 Infracost report

+

Monthly cost will increase by $1,402 📈

- - + + + + - + + + - + + +
ProjectCost changeChanged projectBaseline costUsage cost*Total change New monthly cost
infracost/infracost/cmd/infracost/testdata+$1,361+$1,361-+$1,361 $1,361
infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json+$41 (+100%)+$41-+$41 (+100%) $81
+ + +*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml).
-Cost details + +Cost details ``` Key: * usage cost, ~ changed, + added, - removed @@ -170,17 +182,19 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free Infracost estimate: Monthly cost will increase by $1,402 ↑ -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ -┃ Project ┃ Cost change ┃ New monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ +┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ ```
diff --git a/cmd/infracost/testdata/output_format_git_lab_comment_no_change/output_format_git_lab_comment_no_change.golden b/cmd/infracost/testdata/output_format_git_lab_comment_no_change/output_format_git_lab_comment_no_change.golden index d394085e49d..a06d69c6b93 100644 --- a/cmd/infracost/testdata/output_format_git_lab_comment_no_change/output_format_git_lab_comment_no_change.golden +++ b/cmd/infracost/testdata/output_format_git_lab_comment_no_change/output_format_git_lab_comment_no_change.golden @@ -1,4 +1,4 @@ -

Infracost report

-

💰 Monthly cost will not change

+

💰 Infracost report

+

Monthly cost will not change

diff --git a/cmd/infracost/testdata/output_format_slack_message/output_format_slack_message.golden b/cmd/infracost/testdata/output_format_slack_message/output_format_slack_message.golden index b42efb74083..e1b26aced5d 100644 --- a/cmd/infracost/testdata/output_format_slack_message/output_format_slack_message.golden +++ b/cmd/infracost/testdata/output_format_slack_message/output_format_slack_message.golden @@ -7,7 +7,7 @@ "type": "section", "text": { "type": "mrkdwn", - "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\n\n+ module.db.module.db_2.module.db_instance.aws_db_instance.this[0]\n +$13\n\n + Database instance (on-demand, Single-AZ, db.t3.micro)\n +$12\n\n + Storage (general purpose SSD, gp2)\n +$0.58\n\n+ aws_instance.instance_2\n +$5\n\n + Instance\n\n...(truncated due to Slack message length)...\n\n+ Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_counted[1]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_named[\"test.2\"]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\nAmount: +$41 ($41 → $81)\nPercent: +100%\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n26 cloud resources were detected:\n∙ 14 were estimated\n∙ 12 were free\n\nInfracost estimate: Monthly cost will increase by $1,402 ↑\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓\n┃ Project ┃ Cost change ┃ New monthly cost ┃\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫\n┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃\n┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛```" + "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\n\n+ module.db.module.db_2.module.db_instance.aws_db_instance.this[0]\n +$13\n\n + Database instance (on-demand, Single-AZ, db.t3.micro)\n +$12\n\n + Storage (general purpose SSD, gp2)\n +$0.58\n\n+ aws_instance.instance_2\n +$5\n\n + Instance\n\n...(truncated due to Slack message length)...\n\n, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_named[\"test.2\"]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\nAmount: +$41 ($41 → $81)\nPercent: +100%\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml.\n\n26 cloud resources were detected:\n∙ 14 were estimated\n∙ 12 were free\n\nInfracost estimate: Monthly cost will increase by $1,402 ↑\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓\n┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫\n┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃\n┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛```" } } ] diff --git a/cmd/infracost/testdata/output_format_slack_message_more_projects/output_format_slack_message_more_projects.golden b/cmd/infracost/testdata/output_format_slack_message_more_projects/output_format_slack_message_more_projects.golden index 8efda6b4c8c..b4a0868101c 100644 --- a/cmd/infracost/testdata/output_format_slack_message_more_projects/output_format_slack_message_more_projects.golden +++ b/cmd/infracost/testdata/output_format_slack_message_more_projects/output_format_slack_message_more_projects.golden @@ -7,7 +7,7 @@ "type": "section", "text": { "type": "mrkdwn", - "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n \n\n...(truncated due to Slack message length)...\n\nSSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n```" + "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n \n\n...(truncated due to Slack message length)...\n\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml.\n```" } } ] diff --git a/cmd/infracost/testdata/output_format_slack_message_multiple_skipped/output_format_slack_message_multiple_skipped.golden b/cmd/infracost/testdata/output_format_slack_message_multiple_skipped/output_format_slack_message_multiple_skipped.golden index 4a0002c4e5e..023a010ee04 100644 --- a/cmd/infracost/testdata/output_format_slack_message_multiple_skipped/output_format_slack_message_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_slack_message_multiple_skipped/output_format_slack_message_multiple_skipped.golden @@ -7,7 +7,7 @@ "type": "section", "text": { "type": "mrkdwn", - "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\n\n+ module.db.module.db_2.module.db_instance.aws_db_instance.this[0]\n +$13\n\n + Database instance (on-demand, Single-AZ, db.t3.micro)\n +$12\n\n + Storage (general purpose SSD, gp2)\n +$0.58\n\n+ aws_instance.instance_2\n +$5\n\n + Instance\n\n...(truncated due to Slack message length)...\n\n+ Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_counted[1]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_named[\"test.2\"]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\nAmount: +$41 ($41 → $81)\nPercent: +100%\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n26 cloud resources were detected:\n∙ 14 were estimated\n∙ 12 were free\n\nInfracost estimate: Monthly cost will increase by $1,402 ↑\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓\n┃ Project ┃ Cost change ┃ New monthly cost ┃\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━┫\n┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ $1,361 ┃\n┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 (+100%) ┃ $81 ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━┛```" + "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\n\n+ module.db.module.db_2.module.db_instance.aws_db_instance.this[0]\n +$13\n\n + Database instance (on-demand, Single-AZ, db.t3.micro)\n +$12\n\n + Storage (general purpose SSD, gp2)\n +$0.58\n\n+ aws_instance.instance_2\n +$5\n\n + Instance\n\n...(truncated due to Slack message length)...\n\n, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_named[\"test.2\"]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\nAmount: +$41 ($41 → $81)\nPercent: +100%\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml.\n\n26 cloud resources were detected:\n∙ 14 were estimated\n∙ 12 were free\n\nInfracost estimate: Monthly cost will increase by $1,402 ↑\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓\n┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫\n┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃\n┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛```" } } ] diff --git a/cmd/infracost/testdata/output_format_table/output_format_table.golden b/cmd/infracost/testdata/output_format_table/output_format_table.golden index 0a40ae653e8..9f648ef8a8a 100644 --- a/cmd/infracost/testdata/output_format_table/output_format_table.golden +++ b/cmd/infracost/testdata/output_format_table/output_format_table.golden @@ -1,64 +1,67 @@ Project: infracost/infracost/cmd/infracost/testdata - Name Monthly Qty Unit Monthly Cost + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests 100 1M requests $20.00 + └─ Duration 25,000,000 GB-seconds $416.67 + + Project total $1,361.31 + +────────────────────────────────── +Project: infracost/infracost/cmd/infracost/testdata/azure_firewall_plan.json + + Name Monthly Qty Unit Monthly Cost + + azurerm_firewall.non_usage + ├─ Deployment (Standard) 730 hours $912.50 + └─ Data processed Monthly cost depends on usage: $0.016 per GB - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + azurerm_firewall.premium + ├─ Deployment (Premium) 730 hours $638.75 + └─ Data processed Monthly cost depends on usage: $0.008 per GB - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 + azurerm_firewall.premium_virtual_hub + ├─ Deployment (Premium Secured Virtual Hub) 730 hours $638.75 + └─ Data processed Monthly cost depends on usage: $0.008 per GB - aws_lambda_function.hello_world - ├─ Requests 100 1M requests $20.00 - └─ Duration 25,000,000 GB-seconds $416.67 + azurerm_firewall.standard + ├─ Deployment (Standard) 730 hours $912.50 + └─ Data processed Monthly cost depends on usage: $0.016 per GB - Project total $1,361.31 + azurerm_firewall.standard_virtual_hub + ├─ Deployment (Secured Virtual Hub) 730 hours $912.50 + └─ Data processed Monthly cost depends on usage: $0.016 per GB + + azurerm_public_ip.example + └─ IP address (static) 730 hours $3.65 + + Project total $4,018.65 -────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/azure_firewall_plan.json + OVERALL TOTAL $5,379.96 - Name Monthly Qty Unit Monthly Cost - - azurerm_firewall.non_usage - ├─ Deployment (Standard) 730 hours $912.50 - └─ Data processed Monthly cost depends on usage: $0.016 per GB - - azurerm_firewall.premium - ├─ Deployment (Premium) 730 hours $638.75 - └─ Data processed Monthly cost depends on usage: $0.008 per GB - - azurerm_firewall.premium_virtual_hub - ├─ Deployment (Premium Secured Virtual Hub) 730 hours $638.75 - └─ Data processed Monthly cost depends on usage: $0.008 per GB - - azurerm_firewall.standard - ├─ Deployment (Standard) 730 hours $912.50 - └─ Data processed Monthly cost depends on usage: $0.016 per GB - - azurerm_firewall.standard_virtual_hub - ├─ Deployment (Secured Virtual Hub) 730 hours $912.50 - └─ Data processed Monthly cost depends on usage: $0.016 per GB - - azurerm_public_ip.example - └─ IP address (static) 730 hours $3.65 - - Project total $4,018.65 +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $5,379.96 -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...tdata/azure_firewall_plan.json ┃ $4,019 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ $1,361 ┃ - ┃ $1,361 ┃ +┃ infracost/infracost/cmd/infraco...tdata/azure_firewall_plan.json ┃ $4,019 ┃ - ┃ $4,019 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ diff --git a/cmd/infracost/testdata/output_format_table_with_error/output_format_table_with_error.golden b/cmd/infracost/testdata/output_format_table_with_error/output_format_table_with_error.golden index 6d5e86b16e7..b4df2f12f0b 100644 --- a/cmd/infracost/testdata/output_format_table_with_error/output_format_table_with_error.golden +++ b/cmd/infracost/testdata/output_format_table_with_error/output_format_table_with_error.golden @@ -11,26 +11,29 @@ Errors: Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/prod Module path: prod - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - Project total $1,303.28 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.8xlarge) 730 hours $1,121.28 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $1,303.28 + + OVERALL TOTAL $1,303.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $1,303.28 ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_multi_project_with_error/dev ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_multi_project_with_error/dev ┃ $0.00 ┃ - ┃ $0.00 ┃ +┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ $1,303 ┃ - ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ diff --git a/cmd/infracost/testdata/output_jsonarray_path/output_jsonarray_path.golden b/cmd/infracost/testdata/output_jsonarray_path/output_jsonarray_path.golden index e54177daf12..a9e88598789 100644 --- a/cmd/infracost/testdata/output_jsonarray_path/output_jsonarray_path.golden +++ b/cmd/infracost/testdata/output_jsonarray_path/output_jsonarray_path.golden @@ -1,155 +1,158 @@ Project: infracost/infracost/cmd/infracost/testdata - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests 100 1M requests $20.00 - └─ Duration 25,000,000 GB-seconds $416.67 - - Project total $1,361.31 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests 100 1M requests $20.00 + └─ Duration 25,000,000 GB-seconds $416.67 + + Project total $1,361.31 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_2 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[1] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.2"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.db.module.db_1.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - └─ Storage (general purpose SSD, gp2) 5 GB $0.58 - - module.db.module.db_2.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - └─ Storage (general purpose SSD, gp2) 5 GB $0.58 - - module.instances.aws_instance.module_instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_2 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[1] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.2"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - Project total $81.12 + Name Monthly Qty Unit Monthly Cost + + aws_instance.instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_2 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[1] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.2"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.db.module.db_1.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + └─ Storage (general purpose SSD, gp2) 5 GB $0.58 + + module.db.module.db_2.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + └─ Storage (general purpose SSD, gp2) 5 GB $0.58 + + module.instances.aws_instance.module_instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_2 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[1] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.2"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + Project total $81.12 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_nochange_plan.json - Name Monthly Qty Unit Monthly Cost - - aws_instance.instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.db.module.db_1.module.db_instance.aws_db_instance.this[0] - ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 - └─ Storage (general purpose SSD, gp2) 5 GB $0.58 - - module.instances.aws_instance.module_instance_1 - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_counted[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.instances.aws_instance.module_instance_named["test.1"] - ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - Project total $40.56 + Name Monthly Qty Unit Monthly Cost + + aws_instance.instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.db.module.db_1.module.db_instance.aws_db_instance.this[0] + ├─ Database instance (on-demand, Single-AZ, db.t3.micro) 730 hours $12.41 + └─ Storage (general purpose SSD, gp2) 5 GB $0.58 + + module.instances.aws_instance.module_instance_1 + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_counted[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.instances.aws_instance.module_instance_named["test.1"] + ├─ Instance usage (Linux/UNIX, on-demand, t3.nano) 730 hours $3.80 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + Project total $40.56 + + OVERALL TOTAL $1,482.99 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. - OVERALL TOTAL $1,482.99 ────────────────────────────────── 26 cloud resources were detected: ∙ 14 were estimated ∙ 12 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ $81 ┃ -┃ infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json ┃ $41 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ $1,361 ┃ - ┃ $1,361 ┃ +┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ $81 ┃ - ┃ $81 ┃ +┃ infracost/infracost/cmd/infraco...aform_v0.14_nochange_plan.json ┃ $41 ┃ - ┃ $41 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ diff --git a/cmd/infracost/testdata/output_terraform_fields_all/output_terraform_fields_all.golden b/cmd/infracost/testdata/output_terraform_fields_all/output_terraform_fields_all.golden index 7a6b5b691aa..058c3bdcb33 100644 --- a/cmd/infracost/testdata/output_terraform_fields_all/output_terraform_fields_all.golden +++ b/cmd/infracost/testdata/output_terraform_fields_all/output_terraform_fields_all.golden @@ -1,64 +1,67 @@ Project: infracost/infracost/cmd/infracost/testdata - Name Price Monthly Qty Unit Hourly Cost Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) $0.77 730 hours $0.77 $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) $0.10 50 GB $0.01 $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) $0.13 1,000 GB $0.17 $125.00 - └─ Provisioned IOPS $0.065 800 IOPS $0.07 $52.00 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) $0.00 730 hours $0.00 $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) $0.10 50 GB $0.01 $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) $0.13 1,000 GB $0.17 $125.00 - └─ Provisioned IOPS $0.065 800 IOPS $0.07 $52.00 - - aws_lambda_function.hello_world - ├─ Requests $0.20 100 1M requests $0.03 $20.00 - └─ Duration $0.0000166667 25,000,000 GB-seconds $0.57 $416.67 - - Project total $1,361.31 + Name Price Monthly Qty Unit Hourly Cost Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) $0.77 730 hours $0.77 $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) $0.10 50 GB $0.01 $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) $0.13 1,000 GB $0.17 $125.00 + └─ Provisioned IOPS $0.065 800 IOPS $0.07 $52.00 + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) $0.00 730 hours $0.00 $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) $0.10 50 GB $0.01 $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) $0.13 1,000 GB $0.17 $125.00 + └─ Provisioned IOPS $0.065 800 IOPS $0.07 $52.00 + + aws_lambda_function.hello_world + ├─ Requests $0.20 100 1M requests $0.03 $20.00 + └─ Duration $0.0000166667 25,000,000 GB-seconds $0.57 $416.67 + + Project total $1,361.31 ────────────────────────────────── Project: infracost/infracost/cmd/infracost/testdata/azure_firewall_plan.json - Name Price Monthly Qty Unit Hourly Cost Monthly Cost - - azurerm_firewall.non_usage - ├─ Deployment (Standard) $1.25 730 hours $1.25 $912.50 - └─ Data processed Monthly cost depends on usage: $0.016 per GB - - azurerm_firewall.premium - ├─ Deployment (Premium) $0.88 730 hours $0.88 $638.75 - └─ Data processed Monthly cost depends on usage: $0.008 per GB - - azurerm_firewall.premium_virtual_hub - ├─ Deployment (Premium Secured Virtual Hub) $0.88 730 hours $0.88 $638.75 - └─ Data processed Monthly cost depends on usage: $0.008 per GB - - azurerm_firewall.standard - ├─ Deployment (Standard) $1.25 730 hours $1.25 $912.50 - └─ Data processed Monthly cost depends on usage: $0.016 per GB - - azurerm_firewall.standard_virtual_hub - ├─ Deployment (Secured Virtual Hub) $1.25 730 hours $1.25 $912.50 - └─ Data processed Monthly cost depends on usage: $0.016 per GB - - azurerm_public_ip.example - └─ IP address (static) $0.005 730 hours $0.01 $3.65 - - Project total $4,018.65 + Name Price Monthly Qty Unit Hourly Cost Monthly Cost + + azurerm_firewall.non_usage + ├─ Deployment (Standard) $1.25 730 hours $1.25 $912.50 + └─ Data processed Monthly cost depends on usage: $0.016 per GB + + azurerm_firewall.premium + ├─ Deployment (Premium) $0.88 730 hours $0.88 $638.75 + └─ Data processed Monthly cost depends on usage: $0.008 per GB + + azurerm_firewall.premium_virtual_hub + ├─ Deployment (Premium Secured Virtual Hub) $0.88 730 hours $0.88 $638.75 + └─ Data processed Monthly cost depends on usage: $0.008 per GB + + azurerm_firewall.standard + ├─ Deployment (Standard) $1.25 730 hours $1.25 $912.50 + └─ Data processed Monthly cost depends on usage: $0.016 per GB + + azurerm_firewall.standard_virtual_hub + ├─ Deployment (Secured Virtual Hub) $1.25 730 hours $1.25 $912.50 + └─ Data processed Monthly cost depends on usage: $0.016 per GB + + azurerm_public_ip.example + └─ IP address (static) $0.005 730 hours $0.01 $3.65 + + Project total $4,018.65 - OVERALL TOTAL $5,379.96 + OVERALL TOTAL $5,379.96 -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ $1,361 ┃ -┃ infracost/infracost/cmd/infraco...tdata/azure_firewall_plan.json ┃ $4,019 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ $1,361 ┃ - ┃ $1,361 ┃ +┃ infracost/infracost/cmd/infraco...tdata/azure_firewall_plan.json ┃ $4,019 ┃ - ┃ $4,019 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ diff --git a/cmd/infracost/testdata/output_terraform_out_file_table/infracost_output.golden b/cmd/infracost/testdata/output_terraform_out_file_table/infracost_output.golden index edf2c428281..4ee076ccaff 100644 --- a/cmd/infracost/testdata/output_terraform_out_file_table/infracost_output.golden +++ b/cmd/infracost/testdata/output_terraform_out_file_table/infracost_output.golden @@ -1,31 +1,34 @@ Project: infracost/infracost/cmd/infracost/testdata - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_instance.zero_cost_instance - ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests 100 1M requests $20.00 - └─ Duration 25,000,000 GB-seconds $416.67 - - OVERALL TOTAL $1,361.31 + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_instance.zero_cost_instance + ├─ Instance usage (Linux/UNIX, reserved, m5.4xlarge) 730 hours $0.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_lambda_function.hello_world + ├─ Requests 100 1M requests $20.00 + └─ Duration 25,000,000 GB-seconds $416.67 + + OVERALL TOTAL $1,361.31 -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata ┃ $1,361 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata ┃ $1,361 ┃ - ┃ $1,361 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/output/diff.go b/internal/output/diff.go index adabd700827..e4bf47dc92a 100644 --- a/internal/output/diff.go +++ b/internal/output/diff.go @@ -116,14 +116,12 @@ func ToDiff(out Root, opts Options) ([]byte, error) { s += "──────────────────────────────────" } - if out.Metadata.UsageApiEnabled { - // for now only show the new usage-costs-including comment if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old comment template - if hasDiffProjects { - s += "\n" - s += usageCostsMessage(out, false) - s += "\n" - } + // for now only show the new usage-costs-including comment if the usage api has been enabled + // once we have all the other usage cost stuff done this will replace the old comment template + if hasDiffProjects { + s += "\n" + s += usageCostsMessage(out, false) + s += "\n" } unsupportedMsg := out.summaryMessage(opts.ShowSkipped) @@ -165,57 +163,23 @@ func projectTitle(project Project) string { } func tableForDiff(out Root, opts Options) string { - if out.Metadata.UsageApiEnabled { - // for now only show the new usage-costs in the table if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old table - t := table.NewWriter() - t.SetStyle(table.StyleBold) - t.Style().Format.Header = text.FormatDefault - t.AppendHeader(table.Row{ - "Changed project", - "Baseline cost", - "Usage cost", - "Total change", - }) - - t.SetColumnConfigs([]table.ColumnConfig{ - {Name: "Changed project", WidthMin: 50}, - {Name: "Baseline cost", WidthMin: 10, Align: text.AlignRight}, - {Name: "Usage cost", WidthMin: 10, Align: text.AlignRight}, - {Name: "Total change", WidthMin: 10, Align: text.AlignRight}, - }) - - for _, project := range out.Projects { - if !showProject(project, opts, false) { - continue - } - - t.AppendRow( - table.Row{ - truncateMiddle(project.Name, 64, "..."), - formatMarkdownCostChange(out.Currency, project.PastBreakdown.TotalMonthlyBaselineCost(), project.Breakdown.TotalMonthlyBaselineCost(), false, true), - formatMarkdownCostChange(out.Currency, project.PastBreakdown.TotalMonthlyUsageCost, project.Breakdown.TotalMonthlyUsageCost, false, true), - formatMarkdownCostChange(out.Currency, project.PastBreakdown.TotalMonthlyCost, project.Breakdown.TotalMonthlyCost, false, false), - }, - ) - - } - - return t.Render() - } + // for now only show the new usage-costs in the table if the usage api has been enabled + // once we have all the other usage cost stuff done this will replace the old table t := table.NewWriter() t.SetStyle(table.StyleBold) t.Style().Format.Header = text.FormatDefault t.AppendHeader(table.Row{ - "Project", - "Cost change", - "New monthly cost", + "Changed project", + "Baseline cost", + "Usage cost", + "Total change", }) t.SetColumnConfigs([]table.ColumnConfig{ - {Name: "Project", WidthMin: 50}, - {Name: "Cost change", WidthMin: 10, Align: text.AlignRight}, - {Name: "New monthly cost", WidthMin: 10}, + {Name: "Changed project", WidthMin: 50}, + {Name: "Baseline cost", WidthMin: 10, Align: text.AlignRight}, + {Name: "Usage cost", WidthMin: 10, Align: text.AlignRight}, + {Name: "Total change", WidthMin: 10, Align: text.AlignRight}, }) for _, project := range out.Projects { @@ -226,8 +190,9 @@ func tableForDiff(out Root, opts Options) string { t.AppendRow( table.Row{ truncateMiddle(project.Name, 64, "..."), + formatMarkdownCostChange(out.Currency, project.PastBreakdown.TotalMonthlyBaselineCost(), project.Breakdown.TotalMonthlyBaselineCost(), false, true), + formatMarkdownCostChange(out.Currency, project.PastBreakdown.TotalMonthlyUsageCost, project.Breakdown.TotalMonthlyUsageCost, false, true), formatMarkdownCostChange(out.Currency, project.PastBreakdown.TotalMonthlyCost, project.Breakdown.TotalMonthlyCost, false, false), - formatCost(out.Currency, project.Breakdown.TotalMonthlyCost), }, ) diff --git a/internal/output/markdown.go b/internal/output/markdown.go index a3f5b7464ab..f98dbd5ee78 100644 --- a/internal/output/markdown.go +++ b/internal/output/markdown.go @@ -160,19 +160,9 @@ func ToMarkdown(out Root, opts Options, markdownOpts MarkdownOptions) (MarkdownO var buf bytes.Buffer bufw := bufio.NewWriter(&buf) - filename := "markdown-html.tmpl" - if out.Metadata.UsageApiEnabled { - // for now only show the new usage-costs-including comment if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old comment template - filename = "markdown-html-usage-api.tmpl" - } + filename := "markdown-html-usage-api.tmpl" if markdownOpts.BasicSyntax { - filename = "markdown.tmpl" - if out.Metadata.UsageApiEnabled { - // for now only show the new usage-costs-including comment if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old comment template - filename = "markdown-usage-api.tmpl" - } + filename = "markdown-usage-api.tmpl" } runQuotaMsg, exceeded := out.Projects.IsRunQuotaExceeded() diff --git a/internal/output/table.go b/internal/output/table.go index 37ade65ab12..d557def95a3 100644 --- a/internal/output/table.go +++ b/internal/output/table.go @@ -16,14 +16,10 @@ func ToTable(out Root, opts Options) ([]byte, error) { var tableLen int hasUsageFootnote := false - // for now only show the usage foornote if the usage api is enabled. once we have all the other usage cost - // stuff done this check will be removed - if out.Metadata.UsageApiEnabled { - for _, f := range opts.Fields { - if f == "monthlyQuantity" || f == "hourlyCost" || f == "monthlyCost" { - hasUsageFootnote = true - break - } + for _, f := range opts.Fields { + if f == "monthlyQuantity" || f == "hourlyCost" || f == "monthlyCost" { + hasUsageFootnote = true + break } } @@ -388,66 +384,39 @@ func filterZeroValResources(resources []Resource, resourceName string) []Resourc } func breakdownSummaryTable(out Root, opts Options) string { - if out.Metadata.UsageApiEnabled { - // for now only show the new usage-costs in the table if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old table - t := table.NewWriter() - t.SetStyle(table.StyleBold) - t.Style().Format.Header = text.FormatDefault - t.AppendHeader(table.Row{ - "Project", - "Baseline cost", - "Usage cost*", - "Total cost", - }) - - t.SetColumnConfigs([]table.ColumnConfig{ - {Name: "Project", WidthMin: 50}, - {Name: "Baseline cost", WidthMin: 10}, - {Name: "Usage cost*", WidthMin: 10}, - {Name: "Total monthly cost", WidthMin: 10}, - }) - - for _, project := range out.Projects { - baseline := project.Breakdown.TotalMonthlyCost - if baseline != nil && project.Breakdown.TotalMonthlyUsageCost != nil { - baseline = decimalPtr(baseline.Sub(*project.Breakdown.TotalMonthlyUsageCost)) - } - - t.AppendRow( - table.Row{ - truncateMiddle(project.Name, 64, "..."), - formatCost(out.Currency, baseline), - formatCost(out.Currency, project.Breakdown.TotalMonthlyUsageCost), - formatCost(out.Currency, project.Breakdown.TotalMonthlyCost), - }, - ) - } - - return t.Render() - } - + // for now only show the new usage-costs in the table if the usage api has been enabled + // once we have all the other usage cost stuff done this will replace the old table t := table.NewWriter() t.SetStyle(table.StyleBold) t.Style().Format.Header = text.FormatDefault t.AppendHeader(table.Row{ "Project", - "Monthly cost", + "Baseline cost", + "Usage cost*", + "Total cost", }) t.SetColumnConfigs([]table.ColumnConfig{ {Name: "Project", WidthMin: 50}, - {Name: "Monthly cost", WidthMin: 10}, + {Name: "Baseline cost", WidthMin: 10}, + {Name: "Usage cost*", WidthMin: 10}, + {Name: "Total monthly cost", WidthMin: 10}, }) for _, project := range out.Projects { + baseline := project.Breakdown.TotalMonthlyCost + if baseline != nil && project.Breakdown.TotalMonthlyUsageCost != nil { + baseline = decimalPtr(baseline.Sub(*project.Breakdown.TotalMonthlyUsageCost)) + } + t.AppendRow( table.Row{ truncateMiddle(project.Name, 64, "..."), + formatCost(out.Currency, baseline), + formatCost(out.Currency, project.Breakdown.TotalMonthlyUsageCost), formatCost(out.Currency, project.Breakdown.TotalMonthlyCost), }, ) - } return t.Render() diff --git a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden index 4c4bcdecaad..d2021b694d3 100644 --- a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden +++ b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_acm_certificate.private_cert - └─ Certificate 1 requests $0.75 - + Name Monthly Qty Unit Monthly Cost + + aws_acm_certificate.private_cert + └─ Certificate 1 requests $0.75 * + OVERALL TOTAL $0.75 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestACMCertificateGoldenFile ┃ $0.75 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestACMCertificateGoldenFile ┃ $0.00 ┃ $0.75 ┃ $0.75 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden index 5fa23e35c83..b1142a5a670 100644 --- a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden +++ b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden @@ -1,40 +1,43 @@ - Name Monthly Qty Unit Monthly Cost - - aws_acmpca_certificate_authority.private_ca_more_tiered - ├─ Private certificate authority 1 months $400.00 - ├─ Certificates (first 1K) 1,000 requests $750.00 - ├─ Certificates (next 9K) 9,000 requests $3,150.00 - └─ Certificates (over 10K) 10,001 requests $10.00 - - aws_acmpca_certificate_authority.private_ca_tiered - ├─ Private certificate authority 1 months $400.00 - ├─ Certificates (first 1K) 1,000 requests $750.00 - └─ Certificates (next 9K) 9,000 requests $3,150.00 - - aws_acmpca_certificate_authority.short_lived_ca - ├─ Private certificate authority (short-lived certificate mode) 1 months $50.00 - └─ Certificates (short-lived) 20,001 requests $1,160.06 - - aws_acmpca_certificate_authority.private_ca - ├─ Private certificate authority 1 months $400.00 - └─ Certificates (first 1K) 1,000 requests $750.00 - - aws_acmpca_certificate_authority.private_ca_noUsage - ├─ Private certificate authority 1 months $400.00 - └─ Certificates (first 1K) Monthly cost depends on usage: $0.75 per requests - - aws_acmpca_certificate_authority.short_lived_ca_noUsage - ├─ Private certificate authority (short-lived certificate mode) 1 months $50.00 - └─ Certificates (short-lived) Monthly cost depends on usage: $0.058 per requests - + Name Monthly Qty Unit Monthly Cost + + aws_acmpca_certificate_authority.private_ca_more_tiered + ├─ Private certificate authority 1 months $400.00 + ├─ Certificates (first 1K) 1,000 requests $750.00 * + ├─ Certificates (next 9K) 9,000 requests $3,150.00 * + └─ Certificates (over 10K) 10,001 requests $10.00 * + + aws_acmpca_certificate_authority.private_ca_tiered + ├─ Private certificate authority 1 months $400.00 + ├─ Certificates (first 1K) 1,000 requests $750.00 * + └─ Certificates (next 9K) 9,000 requests $3,150.00 * + + aws_acmpca_certificate_authority.short_lived_ca + ├─ Private certificate authority (short-lived certificate mode) 1 months $50.00 + └─ Certificates (short-lived) 20,001 requests $1,160.06 * + + aws_acmpca_certificate_authority.private_ca + ├─ Private certificate authority 1 months $400.00 + └─ Certificates (first 1K) 1,000 requests $750.00 * + + aws_acmpca_certificate_authority.private_ca_noUsage + ├─ Private certificate authority 1 months $400.00 + └─ Certificates (first 1K) Monthly cost depends on usage: $0.75 per requests + + aws_acmpca_certificate_authority.short_lived_ca_noUsage + ├─ Private certificate authority (short-lived certificate mode) 1 months $50.00 + └─ Certificates (short-lived) Monthly cost depends on usage: $0.058 per requests + OVERALL TOTAL $11,420.06 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestACMPCACertificateAuthorityFunction ┃ $11,420 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestACMPCACertificateAuthorityFunction ┃ $1,700 ┃ $9,720 ┃ $11,420 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden index c641bb429d0..75f975ca4ce 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden @@ -1,22 +1,25 @@ - Name Monthly Qty Unit Monthly Cost - - aws_api_gateway_rest_api.my_rest_api - ├─ Requests (first 333M) 333 1M requests $1,165.50 - ├─ Requests (next 667M) 667 1M requests $1,867.60 - ├─ Requests (next 19B) 19,000 1M requests $45,220.00 - └─ Requests (over 20B) 1,000 1M requests $1,510.00 - - aws_api_gateway_rest_api.api - └─ Requests (first 333M) Monthly cost depends on usage: $3.50 per 1M requests - + Name Monthly Qty Unit Monthly Cost + + aws_api_gateway_rest_api.my_rest_api + ├─ Requests (first 333M) 333 1M requests $1,165.50 * + ├─ Requests (next 667M) 667 1M requests $1,867.60 * + ├─ Requests (next 19B) 19,000 1M requests $45,220.00 * + └─ Requests (over 20B) 1,000 1M requests $1,510.00 * + + aws_api_gateway_rest_api.api + └─ Requests (first 333M) Monthly cost depends on usage: $3.50 per 1M requests + OVERALL TOTAL $49,763.10 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestApiGatewayRestApiGoldenFile ┃ $49,763 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestApiGatewayRestApiGoldenFile ┃ $0.00 ┃ $49,763 ┃ $49,763 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden index ec4c28861a5..01fbfc5fcc2 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - aws_api_gateway_stage.cache_2 - └─ Cache memory (237 GB) 730 hours $2,774.00 - - aws_api_gateway_stage.cache_1 - └─ Cache memory (0.5 GB) 730 hours $14.60 - - OVERALL TOTAL $2,788.60 + Name Monthly Qty Unit Monthly Cost + + aws_api_gateway_stage.cache_2 + └─ Cache memory (237 GB) 730 hours $2,774.00 + + aws_api_gateway_stage.cache_1 + └─ Cache memory (0.5 GB) 730 hours $14.60 + + OVERALL TOTAL $2,788.60 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestApiGatewayStageGoldenFile ┃ $2,789 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestApiGatewayStageGoldenFile ┃ $2,789 ┃ $0.00 ┃ $2,789 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden index 7eca9c9739f..1008fa3ad8b 100644 --- a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden +++ b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - aws_apigatewayv2_api.websocket_usage - ├─ Messages (first 1B) 1,000 1M messages $1,000.00 - ├─ Messages (over 1B) 500 1M messages $400.00 - └─ Connection duration 10 1M minutes $2.50 - - aws_apigatewayv2_api.http_usage - ├─ Requests (first 300M) 300 1M requests $300.00 - └─ Requests (over 300M) 700 1M requests $630.00 - - aws_apigatewayv2_api.http - └─ Requests (first 300M) Monthly cost depends on usage: $1.00 per 1M requests - - aws_apigatewayv2_api.websocket - ├─ Messages (first 1B) Monthly cost depends on usage: $1.00 per 1M messages - └─ Connection duration Monthly cost depends on usage: $0.25 per 1M minutes - + Name Monthly Qty Unit Monthly Cost + + aws_apigatewayv2_api.websocket_usage + ├─ Messages (first 1B) 1,000 1M messages $1,000.00 * + ├─ Messages (over 1B) 500 1M messages $400.00 * + └─ Connection duration 10 1M minutes $2.50 * + + aws_apigatewayv2_api.http_usage + ├─ Requests (first 300M) 300 1M requests $300.00 * + └─ Requests (over 300M) 700 1M requests $630.00 * + + aws_apigatewayv2_api.http + └─ Requests (first 300M) Monthly cost depends on usage: $1.00 per 1M requests + + aws_apigatewayv2_api.websocket + ├─ Messages (first 1B) Monthly cost depends on usage: $1.00 per 1M messages + └─ Connection duration Monthly cost depends on usage: $0.25 per 1M minutes + OVERALL TOTAL $2,332.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestApiGatewayv2ApiGoldenFile ┃ $2,333 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestApiGatewayv2ApiGoldenFile ┃ $0.00 ┃ $2,333 ┃ $2,333 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden index cc297d4441a..e6d02975e31 100644 --- a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden +++ b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden @@ -1,190 +1,193 @@ - Name Monthly Qty Unit Monthly Cost - - aws_autoscaling_group.asg_lc_ebs_optimized - └─ aws_launch_configuration.lc_ebs_optimized - ├─ Instance usage (Linux/UNIX, on-demand, r3.xlarge) 1,460 hours $486.18 - ├─ EBS-optimized usage 1,460 hours $29.20 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 16 GB $1.60 - - aws_autoscaling_group.asg_lt_ebs_optimized - └─ aws_launch_template.lt_ebs_optimized - ├─ Instance usage (Linux/UNIX, on-demand, r3.xlarge) 1,460 hours $486.18 - └─ EBS-optimized usage 1,460 hours $29.20 - - aws_autoscaling_group.asg_lt_elastic_inference_accelerator - └─ aws_launch_template.lt_elastic_inference_accelerator - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 - └─ Inference accelerator (eia2.medium) 1,460 hours $175.20 - - aws_autoscaling_group.asg_lc_usage - └─ aws_launch_configuration.lc_usage - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 4,380 hours $203.23 - ├─ EC2 detailed monitoring 42 metrics $12.60 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - └─ ebs_block_device[0] - └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - - aws_autoscaling_group.asg_lt_usage - └─ aws_launch_template.lt_usage - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 4,380 hours $203.23 - └─ block_device_mapping[0] - └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - - aws_autoscaling_group.asg_mixed_instance_basic - └─ aws_launch_template.lt_mixed_instance_basic - └─ Instance usage (Linux/UNIX, on-demand, t2.large) 2,190 hours $203.23 - - aws_autoscaling_group.asg_mixed_instance_dynamic - └─ aws_launch_template.lt_mixed_instance_dynamic - └─ Instance usage (Linux/UNIX, on-demand, t2.large) 2,190 hours $203.23 - - aws_autoscaling_group.asg_lt_cpu_credits - └─ aws_launch_template.lt_cpu_credits - ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 1,460 hours $121.47 - └─ CPU credits 1,400 vCPU-hours $70.00 - - aws_autoscaling_group.asg_lt_cpu_credits_noUsage - └─ aws_launch_template.lt_cpu_credits_noUsage - └─ Instance usage (Linux/UNIX, on-demand, t3.large) 1,460 hours $121.47 - - aws_autoscaling_group.asg_lc_tenancy_dedicated - └─ aws_launch_configuration.lc_tenancy_dedicated - ├─ Instance usage (Linux/UNIX, on-demand, m3.medium) 1,460 hours $108.04 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 16 GB $1.60 - - aws_autoscaling_group.asg_lt_tenancy_dedicated - └─ aws_launch_template.lt_tenancy_dedicated - └─ Instance usage (Linux/UNIX, on-demand, m3.medium) 1,460 hours $108.04 - - aws_autoscaling_group.asg_lc_cpu_credits - └─ aws_launch_configuration.lc_cpu_credits - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 1,460 hours $60.74 - ├─ CPU credits 800 vCPU-hours $40.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 16 GB $1.60 - - aws_autoscaling_group.asg_lt_basic - └─ aws_launch_template.lt_basic - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 - ├─ block_device_mapping[0] - │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - └─ block_device_mapping[1] - ├─ Storage (provisioned IOPS SSD, io1) 40 GB $5.00 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_autoscaling_group.asg_lt_min_size - └─ aws_launch_template.lt_basic - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 - ├─ block_device_mapping[0] - │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - └─ block_device_mapping[1] - ├─ Storage (provisioned IOPS SSD, io1) 40 GB $5.00 - └─ Provisioned IOPS 400 IOPS $26.00 - - aws_autoscaling_group.asg_lc_basic - └─ aws_launch_configuration.lc_basic - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 - ├─ EC2 detailed monitoring 14 metrics $4.20 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - ├─ ebs_block_device[0] - │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - └─ ebs_block_device[1] - └─ Storage (general purpose SSD, gp3) 20 GB $1.60 - - aws_autoscaling_group.asg_lc_min_size - └─ aws_launch_configuration.lc_basic - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 - ├─ EC2 detailed monitoring 14 metrics $4.20 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - ├─ ebs_block_device[0] - │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - └─ ebs_block_device[1] - └─ Storage (general purpose SSD, gp3) 20 GB $1.60 - - aws_autoscaling_group.asg_lc_min_size_name_ref - └─ aws_launch_configuration.lc_basic - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 - ├─ EC2 detailed monitoring 14 metrics $4.20 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - ├─ ebs_block_device[0] - │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - └─ ebs_block_device[1] - └─ Storage (general purpose SSD, gp3) 20 GB $1.60 - - aws_autoscaling_group.test_count[1] - └─ aws_launch_configuration.test_count[1] - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 - ├─ EC2 detailed monitoring 14 metrics $4.20 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 16 GB $1.60 - - aws_autoscaling_group.asg_lt_monitoring - └─ aws_launch_template.lt_monitoring - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 - └─ EC2 detailed monitoring 14 metrics $4.20 - - aws_autoscaling_group.asg_lc_cpu_credits_noUsage - └─ aws_launch_configuration.lc_cpu_credits_noUsage - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 1,460 hours $60.74 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 16 GB $1.60 - - aws_autoscaling_group.asg_lt_min_size_zero - └─ aws_launch_template.lt_basic - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 - ├─ block_device_mapping[0] - │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - └─ block_device_mapping[1] - ├─ Storage (provisioned IOPS SSD, io1) 20 GB $2.50 - └─ Provisioned IOPS 200 IOPS $13.00 - - aws_autoscaling_group.asg_lc_windows - └─ aws_launch_configuration.lc_windows - ├─ Instance usage (Windows, on-demand, t3.medium) 730 hours $43.80 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_autoscaling_group.asg_lc_min_size_zero - └─ aws_launch_configuration.lc_basic - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 - ├─ EC2 detailed monitoring 7 metrics $2.10 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - ├─ ebs_block_device[0] - │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - └─ ebs_block_device[1] - └─ Storage (general purpose SSD, gp3) 10 GB $0.80 - - aws_autoscaling_group.test_count[0] - └─ aws_launch_configuration.test_count[0] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 1,460 hours $16.94 - ├─ EC2 detailed monitoring 14 metrics $4.20 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 16 GB $1.60 - - aws_autoscaling_group.asg_lc_reserved - └─ aws_launch_configuration.lc_reserved - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $19.05 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - module.asg-lt.aws_autoscaling_group.this[0] - └─ module.asg-lt.aws_launch_template.this[0] - ├─ Instance usage (Linux/UNIX, on-demand, t3.micro) 730 hours $7.59 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ block_device_mapping[0] - └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - - OVERALL TOTAL $3,584.96 + Name Monthly Qty Unit Monthly Cost + + aws_autoscaling_group.asg_lc_ebs_optimized + └─ aws_launch_configuration.lc_ebs_optimized + ├─ Instance usage (Linux/UNIX, on-demand, r3.xlarge) 1,460 hours $486.18 + ├─ EBS-optimized usage 1,460 hours $29.20 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 16 GB $1.60 + + aws_autoscaling_group.asg_lt_ebs_optimized + └─ aws_launch_template.lt_ebs_optimized + ├─ Instance usage (Linux/UNIX, on-demand, r3.xlarge) 1,460 hours $486.18 + └─ EBS-optimized usage 1,460 hours $29.20 + + aws_autoscaling_group.asg_lt_elastic_inference_accelerator + └─ aws_launch_template.lt_elastic_inference_accelerator + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 + └─ Inference accelerator (eia2.medium) 1,460 hours $175.20 + + aws_autoscaling_group.asg_lc_usage + └─ aws_launch_configuration.lc_usage + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 4,380 hours $203.23 + ├─ EC2 detailed monitoring 42 metrics $12.60 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + └─ ebs_block_device[0] + └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + + aws_autoscaling_group.asg_lt_usage + └─ aws_launch_template.lt_usage + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 4,380 hours $203.23 + └─ block_device_mapping[0] + └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + + aws_autoscaling_group.asg_mixed_instance_basic + └─ aws_launch_template.lt_mixed_instance_basic + └─ Instance usage (Linux/UNIX, on-demand, t2.large) 2,190 hours $203.23 + + aws_autoscaling_group.asg_mixed_instance_dynamic + └─ aws_launch_template.lt_mixed_instance_dynamic + └─ Instance usage (Linux/UNIX, on-demand, t2.large) 2,190 hours $203.23 + + aws_autoscaling_group.asg_lt_cpu_credits + └─ aws_launch_template.lt_cpu_credits + ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 1,460 hours $121.47 + └─ CPU credits 1,400 vCPU-hours $70.00 + + aws_autoscaling_group.asg_lt_cpu_credits_noUsage + └─ aws_launch_template.lt_cpu_credits_noUsage + └─ Instance usage (Linux/UNIX, on-demand, t3.large) 1,460 hours $121.47 + + aws_autoscaling_group.asg_lc_tenancy_dedicated + └─ aws_launch_configuration.lc_tenancy_dedicated + ├─ Instance usage (Linux/UNIX, on-demand, m3.medium) 1,460 hours $108.04 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 16 GB $1.60 + + aws_autoscaling_group.asg_lt_tenancy_dedicated + └─ aws_launch_template.lt_tenancy_dedicated + └─ Instance usage (Linux/UNIX, on-demand, m3.medium) 1,460 hours $108.04 + + aws_autoscaling_group.asg_lc_cpu_credits + └─ aws_launch_configuration.lc_cpu_credits + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 1,460 hours $60.74 + ├─ CPU credits 800 vCPU-hours $40.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 16 GB $1.60 + + aws_autoscaling_group.asg_lt_basic + └─ aws_launch_template.lt_basic + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 + ├─ block_device_mapping[0] + │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + └─ block_device_mapping[1] + ├─ Storage (provisioned IOPS SSD, io1) 40 GB $5.00 + └─ Provisioned IOPS 400 IOPS $26.00 + + aws_autoscaling_group.asg_lt_min_size + └─ aws_launch_template.lt_basic + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 + ├─ block_device_mapping[0] + │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + └─ block_device_mapping[1] + ├─ Storage (provisioned IOPS SSD, io1) 40 GB $5.00 + └─ Provisioned IOPS 400 IOPS $26.00 + + aws_autoscaling_group.asg_lc_basic + └─ aws_launch_configuration.lc_basic + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 + ├─ EC2 detailed monitoring 14 metrics $4.20 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + ├─ ebs_block_device[0] + │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + └─ ebs_block_device[1] + └─ Storage (general purpose SSD, gp3) 20 GB $1.60 + + aws_autoscaling_group.asg_lc_min_size + └─ aws_launch_configuration.lc_basic + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 + ├─ EC2 detailed monitoring 14 metrics $4.20 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + ├─ ebs_block_device[0] + │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + └─ ebs_block_device[1] + └─ Storage (general purpose SSD, gp3) 20 GB $1.60 + + aws_autoscaling_group.asg_lc_min_size_name_ref + └─ aws_launch_configuration.lc_basic + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 + ├─ EC2 detailed monitoring 14 metrics $4.20 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + ├─ ebs_block_device[0] + │ └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + └─ ebs_block_device[1] + └─ Storage (general purpose SSD, gp3) 20 GB $1.60 + + aws_autoscaling_group.test_count[1] + └─ aws_launch_configuration.test_count[1] + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 + ├─ EC2 detailed monitoring 14 metrics $4.20 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 16 GB $1.60 + + aws_autoscaling_group.asg_lt_monitoring + └─ aws_launch_template.lt_monitoring + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 1,460 hours $67.74 + └─ EC2 detailed monitoring 14 metrics $4.20 + + aws_autoscaling_group.asg_lc_cpu_credits_noUsage + └─ aws_launch_configuration.lc_cpu_credits_noUsage + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 1,460 hours $60.74 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 16 GB $1.60 + + aws_autoscaling_group.asg_lt_min_size_zero + └─ aws_launch_template.lt_basic + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 + ├─ block_device_mapping[0] + │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + └─ block_device_mapping[1] + ├─ Storage (provisioned IOPS SSD, io1) 20 GB $2.50 + └─ Provisioned IOPS 200 IOPS $13.00 + + aws_autoscaling_group.asg_lc_windows + └─ aws_launch_configuration.lc_windows + ├─ Instance usage (Windows, on-demand, t3.medium) 730 hours $43.80 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_autoscaling_group.asg_lc_min_size_zero + └─ aws_launch_configuration.lc_basic + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 + ├─ EC2 detailed monitoring 7 metrics $2.10 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + ├─ ebs_block_device[0] + │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + └─ ebs_block_device[1] + └─ Storage (general purpose SSD, gp3) 10 GB $0.80 + + aws_autoscaling_group.test_count[0] + └─ aws_launch_configuration.test_count[0] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 1,460 hours $16.94 + ├─ EC2 detailed monitoring 14 metrics $4.20 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 16 GB $1.60 + + aws_autoscaling_group.asg_lc_reserved + └─ aws_launch_configuration.lc_reserved + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $19.05 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.asg-lt.aws_autoscaling_group.this[0] + └─ module.asg-lt.aws_launch_template.this[0] + ├─ Instance usage (Linux/UNIX, on-demand, t3.micro) 730 hours $7.59 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ block_device_mapping[0] + └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + + OVERALL TOTAL $3,584.96 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 53 cloud resources were detected: ∙ 28 were estimated @@ -192,11 +195,11 @@ ∙ 2 are not supported yet, see https://infracost.io/requested-resources: ∙ 2 x aws_autoscaling_group -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAutoscalingGroup ┃ $3,585 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAutoscalingGroup ┃ $3,585 ┃ $0.00 ┃ $3,585 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource aws_launch_configuration.lc_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Configurations diff --git a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden index aa72d21dc93..f3a22cdabe3 100644 --- a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden +++ b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden @@ -1,41 +1,44 @@ - Name Monthly Qty Unit Monthly Cost - - aws_backup_vault.usage - ├─ EFS backup (warm) 10,000 GB $600.00 - ├─ EFS backup (cold) 10,000 GB $120.00 - ├─ EFS restore (warm) 10,000 GB $240.00 - ├─ EFS restore (cold) 10,000 GB $360.00 - ├─ EFS restore (item-level) 10,000 requests $6,000.00 - ├─ EBS snapshot 10,000 GB $550.00 - ├─ RDS snapshot 10,000 GB $950.00 - ├─ DynamoDB backup 10,000 GB $1,120.00 - ├─ DynamoDB restore 10,000 GB $1,680.00 - ├─ Aurora snapshot 10,000 GB $240.00 - ├─ FSx for Windows backup 10,000 GB $550.00 - └─ FSx for Lustre backup 10,000 GB $550.00 - - aws_backup_vault.non_usage - ├─ EFS backup (warm) Monthly cost depends on usage: $0.06 per GB - ├─ EFS backup (cold) Monthly cost depends on usage: $0.012 per GB - ├─ EFS restore (warm) Monthly cost depends on usage: $0.024 per GB - ├─ EFS restore (cold) Monthly cost depends on usage: $0.036 per GB - ├─ EFS restore (item-level) Monthly cost depends on usage: $0.60 per requests - ├─ EBS snapshot Monthly cost depends on usage: $0.055 per GB - ├─ RDS snapshot Monthly cost depends on usage: $0.095 per GB - ├─ DynamoDB backup Monthly cost depends on usage: $0.11 per GB - ├─ DynamoDB restore Monthly cost depends on usage: $0.17 per GB - ├─ Aurora snapshot Monthly cost depends on usage: $0.024 per GB - ├─ FSx for Windows backup Monthly cost depends on usage: $0.055 per GB - └─ FSx for Lustre backup Monthly cost depends on usage: $0.055 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_backup_vault.usage + ├─ EFS backup (warm) 10,000 GB $600.00 * + ├─ EFS backup (cold) 10,000 GB $120.00 * + ├─ EFS restore (warm) 10,000 GB $240.00 * + ├─ EFS restore (cold) 10,000 GB $360.00 * + ├─ EFS restore (item-level) 10,000 requests $6,000.00 * + ├─ EBS snapshot 10,000 GB $550.00 * + ├─ RDS snapshot 10,000 GB $950.00 * + ├─ DynamoDB backup 10,000 GB $1,120.00 * + ├─ DynamoDB restore 10,000 GB $1,680.00 * + ├─ Aurora snapshot 10,000 GB $240.00 * + ├─ FSx for Windows backup 10,000 GB $550.00 * + └─ FSx for Lustre backup 10,000 GB $550.00 * + + aws_backup_vault.non_usage + ├─ EFS backup (warm) Monthly cost depends on usage: $0.06 per GB + ├─ EFS backup (cold) Monthly cost depends on usage: $0.012 per GB + ├─ EFS restore (warm) Monthly cost depends on usage: $0.024 per GB + ├─ EFS restore (cold) Monthly cost depends on usage: $0.036 per GB + ├─ EFS restore (item-level) Monthly cost depends on usage: $0.60 per requests + ├─ EBS snapshot Monthly cost depends on usage: $0.055 per GB + ├─ RDS snapshot Monthly cost depends on usage: $0.095 per GB + ├─ DynamoDB backup Monthly cost depends on usage: $0.11 per GB + ├─ DynamoDB restore Monthly cost depends on usage: $0.17 per GB + ├─ Aurora snapshot Monthly cost depends on usage: $0.024 per GB + ├─ FSx for Windows backup Monthly cost depends on usage: $0.055 per GB + └─ FSx for Lustre backup Monthly cost depends on usage: $0.055 per GB + OVERALL TOTAL $12,960.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestBackupVault ┃ $12,960 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestBackupVault ┃ $0.00 ┃ $12,960 ┃ $12,960 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden index e6b1cbc19ad..e9cb485f581 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudformation_stack_set.withoutTemplBody - └─ Handler operations 10,000 operations $9.00 - - aws_cloudformation_stack_set.withoutUsage - ├─ Handler operations Monthly cost depends on usage: $0.0009 per operations - └─ Durations above 30s Monthly cost depends on usage: $0.00008 per seconds - + Name Monthly Qty Unit Monthly Cost + + aws_cloudformation_stack_set.withoutTemplBody + └─ Handler operations 10,000 operations $9.00 * + + aws_cloudformation_stack_set.withoutUsage + ├─ Handler operations Monthly cost depends on usage: $0.0009 per operations + └─ Durations above 30s Monthly cost depends on usage: $0.00008 per seconds + OVERALL TOTAL $9.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudFirmationStackSet ┃ $9 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudFirmationStackSet ┃ $0.00 ┃ $9 ┃ $9 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden index d4b3ee1c5dc..bf0f5333105 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudformation_stack.withoutTemplBody - └─ Handler operations 10,000 operations $9.00 - - aws_cloudformation_stack.withoutUsage - ├─ Handler operations Monthly cost depends on usage: $0.0009 per operations - └─ Durations above 30s Monthly cost depends on usage: $0.00008 per seconds - + Name Monthly Qty Unit Monthly Cost + + aws_cloudformation_stack.withoutTemplBody + └─ Handler operations 10,000 operations $9.00 * + + aws_cloudformation_stack.withoutUsage + ├─ Handler operations Monthly cost depends on usage: $0.0009 per operations + └─ Durations above 30s Monthly cost depends on usage: $0.00008 per seconds + OVERALL TOTAL $9.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudFirmationStack ┃ $9 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudFirmationStack ┃ $0.00 ┃ $9 ┃ $9 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden index 5dfc8454465..6400e029519 100644 --- a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden @@ -1,187 +1,190 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudfront_distribution.s3_distribution_with_usage - ├─ Field level encryption requests 12.34 10k requests $0.25 - ├─ Real-time log requests 12.34 1M lines $0.12 - ├─ Dedicated IP custom SSLs 12 certificates $7,200.00 - ├─ Origin shield HTTP requests (South America sa-east-1) 0.0323 10k requests $0.00 - ├─ Invalidation requests (first 1k) 1,000 paths $0.00 - ├─ Invalidation requests (over 1k) 11,340 paths $56.70 - ├─ US, Mexico, Canada - │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $870.40 - │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,276.80 - │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $6,144.00 - │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $14,336.00 - │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $16,097.28 - │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $104,857.60 - │ ├─ Data transfer out to internet (over 5PB) 7,097,120 GB $141,942.40 - │ ├─ Data transfer out to origin 1,234 GB $24.68 - │ ├─ HTTP requests 12.3402 10k requests $0.09 - │ └─ HTTPS requests 12.34 10k requests $0.12 - ├─ Europe, Israel - │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $870.40 - │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,276.80 - │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $6,144.00 - │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $14,336.00 - │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $16,097.28 - │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $104,857.60 - │ ├─ Data transfer out to internet (over 5PB) 17,097,120 GB $341,942.40 - │ ├─ Data transfer out to origin 2,234 GB $44.68 - │ ├─ HTTP requests 22.3402 10k requests $0.20 - │ └─ HTTPS requests 22.34 10k requests $0.27 - ├─ South Africa, Kenya, Middle East - │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,126.40 - │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $4,300.80 - │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $9,216.00 - │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $28,672.00 - │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $32,194.56 - │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $209,715.20 - │ ├─ Data transfer out to internet (over 5PB) 27,097,120 GB $1,083,884.80 - │ ├─ Data transfer out to origin 3,234 GB $194.04 - │ ├─ HTTP requests 32.3402 10k requests $0.29 - │ └─ HTTPS requests 32.34 10k requests $0.39 - ├─ South America - │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,126.40 - │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $4,300.80 - │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $9,216.00 - │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $28,672.00 - │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $32,194.56 - │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $209,715.20 - │ ├─ Data transfer out to internet (over 5PB) 37,097,120 GB $1,483,884.80 - │ ├─ Data transfer out to origin 4,234 GB $529.25 - │ ├─ HTTP requests 42.3402 10k requests $0.68 - │ └─ HTTPS requests 42.34 10k requests $0.93 - ├─ Japan - │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,167.36 - │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,645.44 - │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $8,806.40 - │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $30,105.60 - │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $42,926.08 - │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $293,601.28 - │ ├─ Data transfer out to internet (over 5PB) 47,097,120 GB $2,825,827.20 - │ ├─ Data transfer out to origin 5,234 GB $314.04 - │ ├─ HTTP requests 52.3402 10k requests $0.47 - │ └─ HTTPS requests 52.34 10k requests $0.63 - ├─ Australia, New Zealand - │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,167.36 - │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $4,014.08 - │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $9,625.60 - │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $32,972.80 - │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $48,291.84 - │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $356,515.84 - │ ├─ Data transfer out to internet (over 5PB) 57,097,120 GB $4,567,769.60 - │ ├─ Data transfer out to origin 6,234 GB $498.72 - │ ├─ HTTP requests 62.3402 10k requests $0.56 - │ └─ HTTPS requests 62.34 10k requests $0.78 - ├─ Hong Kong, Philippines, Asia Pacific - │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,228.80 - │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $4,096.00 - │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $9,728.00 - │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $32,256.00 - │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $42,926.08 - │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $293,601.28 - │ ├─ Data transfer out to internet (over 5PB) 57,097,120 GB $3,425,827.20 - │ ├─ Data transfer out to origin 7,234 GB $434.04 - │ ├─ HTTP requests 72.3402 10k requests $0.65 - │ └─ HTTPS requests 72.34 10k requests $0.87 - └─ India - ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,116.16 - ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,481.60 - ├─ Data transfer out to internet (next 100TB) 102,400 GB $8,396.80 - ├─ Data transfer out to internet (next 350TB) 358,400 GB $28,672.00 - ├─ Data transfer out to internet (next 524TB) 536,576 GB $41,852.93 - ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $314,572.80 - ├─ Data transfer out to internet (over 5PB) 67,097,120 GB $4,830,992.64 - ├─ Data transfer out to origin 8,234 GB $1,317.44 - ├─ HTTP requests 82.3402 10k requests $0.74 - └─ HTTPS requests 72.34 10k requests $0.87 - - aws_cloudfront_distribution.s3_distribution_with_single_non_default_usage - ├─ Field level encryption requests 12.34 10k requests $0.25 - ├─ Real-time log requests 12.34 1M lines $0.12 - ├─ Dedicated IP custom SSLs 12 certificates $7,200.00 - ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests - ├─ Invalidation requests (first 1k) 1,000 paths $0.00 - ├─ Invalidation requests (over 1k) 11,340 paths $56.70 - └─ Europe, Israel - ├─ Data transfer out to internet (first 10TB) 10,240 GB $870.40 - ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,276.80 - ├─ Data transfer out to internet (next 100TB) 102,400 GB $6,144.00 - ├─ Data transfer out to internet (next 350TB) 358,400 GB $14,336.00 - ├─ Data transfer out to internet (next 524TB) 536,576 GB $16,097.28 - ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $104,857.60 - ├─ Data transfer out to internet (over 5PB) 17,097,120 GB $341,942.40 - ├─ Data transfer out to origin 2,234 GB $44.68 - ├─ HTTP requests 22.3402 10k requests $0.20 - └─ HTTPS requests 22.34 10k requests $0.27 - - aws_cloudfront_distribution.s3_distribution_3_with_ssl - ├─ Field level encryption requests Monthly cost depends on usage: $0.02 per 10k requests - ├─ Real-time log requests Monthly cost depends on usage: $0.01 per 1M lines - ├─ Dedicated IP custom SSLs 1 certificates $600.00 - ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests - ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths - └─ US, Mexico, Canada - ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB - ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB - ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests - └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests - - aws_cloudfront_distribution.s3_distribution - ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths - └─ US, Mexico, Canada - ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB - ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB - ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests - └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests - - aws_cloudfront_distribution.s3_distribution_0_with_shield - ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests - ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths - └─ US, Mexico, Canada - ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB - ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB - ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests - └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests - - aws_cloudfront_distribution.s3_distribution_1_with_logging - ├─ Real-time log requests Monthly cost depends on usage: $0.01 per 1M lines - ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests - ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths - └─ US, Mexico, Canada - ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB - ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB - ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests - └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests - - aws_cloudfront_distribution.s3_distribution_2_with_encryption - ├─ Field level encryption requests Monthly cost depends on usage: $0.02 per 10k requests - ├─ Real-time log requests Monthly cost depends on usage: $0.01 per 1M lines - ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests - ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths - └─ US, Mexico, Canada - ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB - ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB - ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests - └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests - - aws_s3_bucket.b - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_cloudfront_distribution.s3_distribution_with_usage + ├─ Field level encryption requests 12.34 10k requests $0.25 * + ├─ Real-time log requests 12.34 1M lines $0.12 * + ├─ Dedicated IP custom SSLs 12 certificates $7,200.00 * + ├─ Origin shield HTTP requests (South America sa-east-1) 0.0323 10k requests $0.00 * + ├─ Invalidation requests (first 1k) 1,000 paths $0.00 * + ├─ Invalidation requests (over 1k) 11,340 paths $56.70 * + ├─ US, Mexico, Canada + │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $870.40 * + │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,276.80 * + │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $6,144.00 * + │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $14,336.00 * + │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $16,097.28 * + │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $104,857.60 * + │ ├─ Data transfer out to internet (over 5PB) 7,097,120 GB $141,942.40 * + │ ├─ Data transfer out to origin 1,234 GB $24.68 * + │ ├─ HTTP requests 12.3402 10k requests $0.09 * + │ └─ HTTPS requests 12.34 10k requests $0.12 * + ├─ Europe, Israel + │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $870.40 * + │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,276.80 * + │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $6,144.00 * + │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $14,336.00 * + │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $16,097.28 * + │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $104,857.60 * + │ ├─ Data transfer out to internet (over 5PB) 17,097,120 GB $341,942.40 * + │ ├─ Data transfer out to origin 2,234 GB $44.68 * + │ ├─ HTTP requests 22.3402 10k requests $0.20 * + │ └─ HTTPS requests 22.34 10k requests $0.27 * + ├─ South Africa, Kenya, Middle East + │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,126.40 * + │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $4,300.80 * + │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $9,216.00 * + │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $28,672.00 * + │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $32,194.56 * + │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $209,715.20 * + │ ├─ Data transfer out to internet (over 5PB) 27,097,120 GB $1,083,884.80 * + │ ├─ Data transfer out to origin 3,234 GB $194.04 * + │ ├─ HTTP requests 32.3402 10k requests $0.29 * + │ └─ HTTPS requests 32.34 10k requests $0.39 * + ├─ South America + │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,126.40 * + │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $4,300.80 * + │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $9,216.00 * + │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $28,672.00 * + │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $32,194.56 * + │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $209,715.20 * + │ ├─ Data transfer out to internet (over 5PB) 37,097,120 GB $1,483,884.80 * + │ ├─ Data transfer out to origin 4,234 GB $529.25 * + │ ├─ HTTP requests 42.3402 10k requests $0.68 * + │ └─ HTTPS requests 42.34 10k requests $0.93 * + ├─ Japan + │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,167.36 * + │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,645.44 * + │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $8,806.40 * + │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $30,105.60 * + │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $42,926.08 * + │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $293,601.28 * + │ ├─ Data transfer out to internet (over 5PB) 47,097,120 GB $2,825,827.20 * + │ ├─ Data transfer out to origin 5,234 GB $314.04 * + │ ├─ HTTP requests 52.3402 10k requests $0.47 * + │ └─ HTTPS requests 52.34 10k requests $0.63 * + ├─ Australia, New Zealand + │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,167.36 * + │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $4,014.08 * + │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $9,625.60 * + │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $32,972.80 * + │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $48,291.84 * + │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $356,515.84 * + │ ├─ Data transfer out to internet (over 5PB) 57,097,120 GB $4,567,769.60 * + │ ├─ Data transfer out to origin 6,234 GB $498.72 * + │ ├─ HTTP requests 62.3402 10k requests $0.56 * + │ └─ HTTPS requests 62.34 10k requests $0.78 * + ├─ Hong Kong, Philippines, Asia Pacific + │ ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,228.80 * + │ ├─ Data transfer out to internet (next 40TB) 40,960 GB $4,096.00 * + │ ├─ Data transfer out to internet (next 100TB) 102,400 GB $9,728.00 * + │ ├─ Data transfer out to internet (next 350TB) 358,400 GB $32,256.00 * + │ ├─ Data transfer out to internet (next 524TB) 536,576 GB $42,926.08 * + │ ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $293,601.28 * + │ ├─ Data transfer out to internet (over 5PB) 57,097,120 GB $3,425,827.20 * + │ ├─ Data transfer out to origin 7,234 GB $434.04 * + │ ├─ HTTP requests 72.3402 10k requests $0.65 * + │ └─ HTTPS requests 72.34 10k requests $0.87 * + └─ India + ├─ Data transfer out to internet (first 10TB) 10,240 GB $1,116.16 * + ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Data transfer out to internet (next 100TB) 102,400 GB $8,396.80 * + ├─ Data transfer out to internet (next 350TB) 358,400 GB $28,672.00 * + ├─ Data transfer out to internet (next 524TB) 536,576 GB $41,852.93 * + ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $314,572.80 * + ├─ Data transfer out to internet (over 5PB) 67,097,120 GB $4,830,992.64 * + ├─ Data transfer out to origin 8,234 GB $1,317.44 * + ├─ HTTP requests 82.3402 10k requests $0.74 * + └─ HTTPS requests 72.34 10k requests $0.87 * + + aws_cloudfront_distribution.s3_distribution_with_single_non_default_usage + ├─ Field level encryption requests 12.34 10k requests $0.25 * + ├─ Real-time log requests 12.34 1M lines $0.12 * + ├─ Dedicated IP custom SSLs 12 certificates $7,200.00 * + ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests + ├─ Invalidation requests (first 1k) 1,000 paths $0.00 * + ├─ Invalidation requests (over 1k) 11,340 paths $56.70 * + └─ Europe, Israel + ├─ Data transfer out to internet (first 10TB) 10,240 GB $870.40 * + ├─ Data transfer out to internet (next 40TB) 40,960 GB $3,276.80 * + ├─ Data transfer out to internet (next 100TB) 102,400 GB $6,144.00 * + ├─ Data transfer out to internet (next 350TB) 358,400 GB $14,336.00 * + ├─ Data transfer out to internet (next 524TB) 536,576 GB $16,097.28 * + ├─ Data transfer out to internet (next 4PB) 4,194,304 GB $104,857.60 * + ├─ Data transfer out to internet (over 5PB) 17,097,120 GB $341,942.40 * + ├─ Data transfer out to origin 2,234 GB $44.68 * + ├─ HTTP requests 22.3402 10k requests $0.20 * + └─ HTTPS requests 22.34 10k requests $0.27 * + + aws_cloudfront_distribution.s3_distribution_3_with_ssl + ├─ Field level encryption requests Monthly cost depends on usage: $0.02 per 10k requests + ├─ Real-time log requests Monthly cost depends on usage: $0.01 per 1M lines + ├─ Dedicated IP custom SSLs 1 certificates $600.00 * + ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests + ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths + └─ US, Mexico, Canada + ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB + ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB + ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests + └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests + + aws_cloudfront_distribution.s3_distribution + ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths + └─ US, Mexico, Canada + ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB + ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB + ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests + └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests + + aws_cloudfront_distribution.s3_distribution_0_with_shield + ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests + ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths + └─ US, Mexico, Canada + ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB + ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB + ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests + └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests + + aws_cloudfront_distribution.s3_distribution_1_with_logging + ├─ Real-time log requests Monthly cost depends on usage: $0.01 per 1M lines + ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests + ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths + └─ US, Mexico, Canada + ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB + ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB + ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests + └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests + + aws_cloudfront_distribution.s3_distribution_2_with_encryption + ├─ Field level encryption requests Monthly cost depends on usage: $0.02 per 10k requests + ├─ Real-time log requests Monthly cost depends on usage: $0.01 per 1M lines + ├─ Origin shield HTTP requests (South America sa-east-1) Monthly cost depends on usage: $0.016 per 10k requests + ├─ Invalidation requests (first 1k) Monthly cost depends on usage: $0.00 per paths + └─ US, Mexico, Canada + ├─ Data transfer out to internet (first 10TB) Monthly cost depends on usage: $0.085 per GB + ├─ Data transfer out to origin Monthly cost depends on usage: $0.02 per GB + ├─ HTTP requests Monthly cost depends on usage: $0.0075 per 10k requests + └─ HTTPS requests Monthly cost depends on usage: $0.01 per 10k requests + + aws_s3_bucket.b + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + OVERALL TOTAL $21,684,502.45 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 9 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudfrontDistributionGoldenFile ┃ $21,684,502 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫ +┃ TestCloudfrontDistributionGoldenFile ┃ $0.00 ┃ $21,684,502 ┃ $21,684,502 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden index be4b70b02d1..2395f7cad6c 100644 --- a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudhsm_v2_hsm.cloudhsm_v2_hsm - └─ HSM usage 730 hours $1,168.00 - - aws_cloudhsm_v2_hsm.cloudhsm_v2_hsm_with_usage - └─ HSM usage 100 hours $160.00 - + Name Monthly Qty Unit Monthly Cost + + aws_cloudhsm_v2_hsm.cloudhsm_v2_hsm + └─ HSM usage 730 hours $1,168.00 * + + aws_cloudhsm_v2_hsm.cloudhsm_v2_hsm_with_usage + └─ HSM usage 100 hours $160.00 * + OVERALL TOTAL $1,328.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudHSMv2HSM ┃ $1,328 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudHSMv2HSM ┃ $0.00 ┃ $1,328 ┃ $1,328 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden index bb72fe9d3a2..47a371550e0 100644 --- a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden @@ -1,30 +1,33 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudtrail.cloudtrail_with_usage - ├─ Management events (additional copies) 1 100k events $2.00 - ├─ Data events 2 100k events $0.20 - └─ Insight events 3 100k events $1.05 - - aws_cloudtrail.cloudtrail_with_defaults - ├─ Management events (additional copies) Monthly cost depends on usage: $2.00 per 100k events - └─ Data events Monthly cost depends on usage: $0.10 per 100k events - - aws_cloudtrail.cloudtrail_with_insight_selector - ├─ Management events (additional copies) Monthly cost depends on usage: $2.00 per 100k events - ├─ Data events Monthly cost depends on usage: $0.10 per 100k events - └─ Insight events Monthly cost depends on usage: $0.35 per 100k events - - aws_cloudtrail.cloudtrail_without_management_events - └─ Data events Monthly cost depends on usage: $0.10 per 100k events - + Name Monthly Qty Unit Monthly Cost + + aws_cloudtrail.cloudtrail_with_usage + ├─ Management events (additional copies) 1 100k events $2.00 * + ├─ Data events 2 100k events $0.20 * + └─ Insight events 3 100k events $1.05 * + + aws_cloudtrail.cloudtrail_with_defaults + ├─ Management events (additional copies) Monthly cost depends on usage: $2.00 per 100k events + └─ Data events Monthly cost depends on usage: $0.10 per 100k events + + aws_cloudtrail.cloudtrail_with_insight_selector + ├─ Management events (additional copies) Monthly cost depends on usage: $2.00 per 100k events + ├─ Data events Monthly cost depends on usage: $0.10 per 100k events + └─ Insight events Monthly cost depends on usage: $0.35 per 100k events + + aws_cloudtrail.cloudtrail_without_management_events + └─ Data events Monthly cost depends on usage: $0.10 per 100k events + OVERALL TOTAL $3.25 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudtrailGoldenFile ┃ $3 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudtrailGoldenFile ┃ $0.00 ┃ $3 ┃ $3 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden index 9deb0e910fe..8b7d5b3e155 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudwatch_dashboard.dashboard - └─ Dashboard 1 months $3.00 - - OVERALL TOTAL $3.00 + Name Monthly Qty Unit Monthly Cost + + aws_cloudwatch_dashboard.dashboard + └─ Dashboard 1 months $3.00 + + OVERALL TOTAL $3.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudwatchDashboard ┃ $3 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudwatchDashboard ┃ $3 ┃ $0.00 ┃ $3 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden index 53b09f722dd..25bb6aeabd0 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudwatch_event_bus.my_events_withUsage - ├─ Custom events published 1 1M events $1.00 - ├─ Third-party events published 2 1M events $2.00 - ├─ Archive processing 100 GB $10.00 - ├─ Archive storage 200 GB $4.60 - └─ Schema discovery 1 1M events $0.10 - - aws_cloudwatch_event_bus.my_events - ├─ Custom events published Monthly cost depends on usage: $1.00 per 1M events - ├─ Third-party events published Monthly cost depends on usage: $1.00 per 1M events - ├─ Archive processing Monthly cost depends on usage: $0.10 per GB - ├─ Archive storage Monthly cost depends on usage: $0.023 per GB - └─ Schema discovery Monthly cost depends on usage: $0.10 per 1M events - + Name Monthly Qty Unit Monthly Cost + + aws_cloudwatch_event_bus.my_events_withUsage + ├─ Custom events published 1 1M events $1.00 * + ├─ Third-party events published 2 1M events $2.00 * + ├─ Archive processing 100 GB $10.00 * + ├─ Archive storage 200 GB $4.60 * + └─ Schema discovery 1 1M events $0.10 * + + aws_cloudwatch_event_bus.my_events + ├─ Custom events published Monthly cost depends on usage: $1.00 per 1M events + ├─ Third-party events published Monthly cost depends on usage: $1.00 per 1M events + ├─ Archive processing Monthly cost depends on usage: $0.10 per GB + ├─ Archive storage Monthly cost depends on usage: $0.023 per GB + └─ Schema discovery Monthly cost depends on usage: $0.10 per 1M events + OVERALL TOTAL $17.70 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudwatchEventBus ┃ $18 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudwatchEventBus ┃ $0.00 ┃ $18 ┃ $18 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden index 356094c1a0a..dfd47bc0b5e 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden @@ -1,38 +1,41 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudwatch_log_group.logs_count_withUsage[0] - ├─ Data ingested 1,000 GB $500.00 - ├─ Archival Storage 500 GB $15.00 - └─ Insights queries data scanned 250 GB $1.25 - - aws_cloudwatch_log_group.logs_count_withUsage[1] - ├─ Data ingested 1,000 GB $500.00 - ├─ Archival Storage 500 GB $15.00 - └─ Insights queries data scanned 250 GB $1.25 - - aws_cloudwatch_log_group.logs_count_withUsage[2] - ├─ Data ingested 1,000 GB $500.00 - ├─ Archival Storage 500 GB $15.00 - └─ Insights queries data scanned 250 GB $1.25 - - aws_cloudwatch_log_group.logs_withUsage - ├─ Data ingested 1,000 GB $500.00 - ├─ Archival Storage 500 GB $15.00 - └─ Insights queries data scanned 250 GB $1.25 - - aws_cloudwatch_log_group.logs - ├─ Data ingested Monthly cost depends on usage: $0.50 per GB - ├─ Archival Storage Monthly cost depends on usage: $0.03 per GB - └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_cloudwatch_log_group.logs_count_withUsage[0] + ├─ Data ingested 1,000 GB $500.00 * + ├─ Archival Storage 500 GB $15.00 * + └─ Insights queries data scanned 250 GB $1.25 * + + aws_cloudwatch_log_group.logs_count_withUsage[1] + ├─ Data ingested 1,000 GB $500.00 * + ├─ Archival Storage 500 GB $15.00 * + └─ Insights queries data scanned 250 GB $1.25 * + + aws_cloudwatch_log_group.logs_count_withUsage[2] + ├─ Data ingested 1,000 GB $500.00 * + ├─ Archival Storage 500 GB $15.00 * + └─ Insights queries data scanned 250 GB $1.25 * + + aws_cloudwatch_log_group.logs_withUsage + ├─ Data ingested 1,000 GB $500.00 * + ├─ Archival Storage 500 GB $15.00 * + └─ Insights queries data scanned 250 GB $1.25 * + + aws_cloudwatch_log_group.logs + ├─ Data ingested Monthly cost depends on usage: $0.50 per GB + ├─ Archival Storage Monthly cost depends on usage: $0.03 per GB + └─ Insights queries data scanned Monthly cost depends on usage: $0.005 per GB + OVERALL TOTAL $2,065.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudwatchLogGroup ┃ $2,065 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudwatchLogGroup ┃ $0.00 ┃ $2,065 ┃ $2,065 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden index a5483c2f80b..ec30357df73 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - aws_cloudwatch_metric_alarm.anomaly_detection - └─ High resolution anomaly detection 3 alarms $0.90 - - aws_cloudwatch_metric_alarm.high - └─ High resolution 1 alarm metrics $0.30 - - aws_cloudwatch_metric_alarm.expression - └─ Standard resolution 2 alarm metrics $0.20 - - aws_cloudwatch_metric_alarm.standard - └─ Standard resolution 1 alarm metrics $0.10 - - OVERALL TOTAL $1.50 + Name Monthly Qty Unit Monthly Cost + + aws_cloudwatch_metric_alarm.anomaly_detection + └─ High resolution anomaly detection 3 alarms $0.90 + + aws_cloudwatch_metric_alarm.high + └─ High resolution 1 alarm metrics $0.30 + + aws_cloudwatch_metric_alarm.expression + └─ Standard resolution 2 alarm metrics $0.20 + + aws_cloudwatch_metric_alarm.standard + └─ Standard resolution 1 alarm metrics $0.10 + + OVERALL TOTAL $1.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudwatchMetricAlarm ┃ $2 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudwatchMetricAlarm ┃ $2 ┃ $0.00 ┃ $2 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden index f6031b9c9f2..8572af3e060 100644 --- a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden +++ b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - aws_codebuild_project.my_large_windows_project - └─ Windows (general1.large) 100,000 minutes $3,600.00 - - aws_codebuild_project.my_large_linux_project - └─ Linux (general1.large) 100,000 minutes $2,000.00 - - aws_codebuild_project.my_medium_project - └─ Linux (general1.medium) 10,000 minutes $100.00 - - aws_codebuild_project.my_small_project - └─ Linux (general1.small) 1,000 minutes $5.00 - - aws_codebuild_project.my_project_noUsage - └─ Linux (general1.medium) Monthly cost depends on usage: $0.01 per minutes - + Name Monthly Qty Unit Monthly Cost + + aws_codebuild_project.my_large_windows_project + └─ Windows (general1.large) 100,000 minutes $3,600.00 * + + aws_codebuild_project.my_large_linux_project + └─ Linux (general1.large) 100,000 minutes $2,000.00 * + + aws_codebuild_project.my_medium_project + └─ Linux (general1.medium) 10,000 minutes $100.00 * + + aws_codebuild_project.my_small_project + └─ Linux (general1.small) 1,000 minutes $5.00 * + + aws_codebuild_project.my_project_noUsage + └─ Linux (general1.medium) Monthly cost depends on usage: $0.01 per minutes + OVERALL TOTAL $5,705.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudbuildProject ┃ $5,705 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudbuildProject ┃ $0.00 ┃ $5,705 ┃ $5,705 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden index 9625b3b62ec..0b196e93606 100644 --- a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_config_config_rule.my_config_withUsage - ├─ Rule evaluations (first 100K) 100,000 evaluations $100.00 - ├─ Rule evaluations (next 400K) 400,000 evaluations $320.00 - └─ Rule evaluations (over 500K) 500,000 evaluations $250.00 - - aws_config_config_rule.my_config - └─ Rule evaluations (first 100K) Monthly cost depends on usage: $0.001 per evaluations - + Name Monthly Qty Unit Monthly Cost + + aws_config_config_rule.my_config_withUsage + ├─ Rule evaluations (first 100K) 100,000 evaluations $100.00 * + ├─ Rule evaluations (next 400K) 400,000 evaluations $320.00 * + └─ Rule evaluations (over 500K) 500,000 evaluations $250.00 * + + aws_config_config_rule.my_config + └─ Rule evaluations (first 100K) Monthly cost depends on usage: $0.001 per evaluations + OVERALL TOTAL $670.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestConfigConfigRule ┃ $670 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestConfigConfigRule ┃ $0.00 ┃ $670 ┃ $670 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden index 602831b58bd..d8f10dcc9f6 100644 --- a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden +++ b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_config_configuration_recorder.my_config_configuration_recorder_usage - ├─ Config items 1,000 records $3.00 - └─ Custom config items 2,000 records $6.00 - - aws_config_configuration_recorder.my_config_configuration_recorder - ├─ Config items Monthly cost depends on usage: $0.003 per records - └─ Custom config items Monthly cost depends on usage: $0.003 per records - + Name Monthly Qty Unit Monthly Cost + + aws_config_configuration_recorder.my_config_configuration_recorder_usage + ├─ Config items 1,000 records $3.00 * + └─ Custom config items 2,000 records $6.00 * + + aws_config_configuration_recorder.my_config_configuration_recorder + ├─ Config items Monthly cost depends on usage: $0.003 per records + └─ Custom config items Monthly cost depends on usage: $0.003 per records + OVERALL TOTAL $9.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestConfigurationGoldenFile ┃ $9 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestConfigurationGoldenFile ┃ $0.00 ┃ $9 ┃ $9 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden index 2bd74921669..7fc4a3ed8c0 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_config_organization_custom_rule.my_config_organization_custom_rule_usage - ├─ Rule evaluations (first 100K) 100,000 evaluations $100.00 - ├─ Rule evaluations (next 400K) 400,000 evaluations $320.00 - └─ Rule evaluations (over 500K) 100,000 evaluations $50.00 - - aws_config_organization_custom_rule.my_config_organization_custom_rule - └─ Rule evaluations (first 100K) Monthly cost depends on usage: $0.001 per evaluations - + Name Monthly Qty Unit Monthly Cost + + aws_config_organization_custom_rule.my_config_organization_custom_rule_usage + ├─ Rule evaluations (first 100K) 100,000 evaluations $100.00 * + ├─ Rule evaluations (next 400K) 400,000 evaluations $320.00 * + └─ Rule evaluations (over 500K) 100,000 evaluations $50.00 * + + aws_config_organization_custom_rule.my_config_organization_custom_rule + └─ Rule evaluations (first 100K) Monthly cost depends on usage: $0.001 per evaluations + OVERALL TOTAL $470.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestOrganizationCustomRuleGoldenFile ┃ $470 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestOrganizationCustomRuleGoldenFile ┃ $0.00 ┃ $470 ┃ $470 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden index 26d2992008a..64318a01cb5 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_config_organization_managed_rule.my_config_organization_managed_rule_usage - ├─ Rule evaluations (first 100K) 100,000 evaluations $100.00 - ├─ Rule evaluations (next 400K) 400,000 evaluations $320.00 - └─ Rule evaluations (over 500K) 100,000 evaluations $50.00 - - aws_config_organization_managed_rule.my_config_organization_managed_rule - └─ Rule evaluations (first 100K) Monthly cost depends on usage: $0.001 per evaluations - + Name Monthly Qty Unit Monthly Cost + + aws_config_organization_managed_rule.my_config_organization_managed_rule_usage + ├─ Rule evaluations (first 100K) 100,000 evaluations $100.00 * + ├─ Rule evaluations (next 400K) 400,000 evaluations $320.00 * + └─ Rule evaluations (over 500K) 100,000 evaluations $50.00 * + + aws_config_organization_managed_rule.my_config_organization_managed_rule + └─ Rule evaluations (first 100K) Monthly cost depends on usage: $0.001 per evaluations + OVERALL TOTAL $470.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestOrganizationManagedRuleGoldenFile ┃ $470 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestOrganizationManagedRuleGoldenFile ┃ $0.00 ┃ $470 ┃ $470 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden index 63a54afc478..2f8e75bffa3 100644 --- a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden +++ b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden @@ -1,230 +1,233 @@ - Name Monthly Qty Unit Monthly Cost - - aws_data_transfer.af-south-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,576.96 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $6,021.12 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $12,902.40 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $380.80 - └─ Outbound data transfer to other regions 750 GB $110.25 - - aws_data_transfer.sa-east-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,536.00 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $5,652.48 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $12,902.40 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $387.60 - └─ Outbound data transfer to other regions 750 GB $103.50 - - aws_data_transfer.ap-northeast-2 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,290.24 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,997.12 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $11,980.80 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $367.20 - └─ Outbound data transfer to other regions 750 GB $60.00 - - aws_data_transfer.us-gov-east-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,587.20 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,710.40 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $9,216.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $221.00 - └─ Outbound data transfer to other regions 750 GB $22.50 - - aws_data_transfer.us-gov-west-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,587.20 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,710.40 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $9,216.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $221.00 - └─ Outbound data transfer to other regions 750 GB $22.50 - - aws_data_transfer.me-south-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,198.08 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,526.08 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $9,318.40 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $221.00 - └─ Outbound data transfer to other regions 750 GB $82.88 - - aws_data_transfer.ap-southeast-2 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,167.36 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,014.08 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $9,625.60 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $312.80 - └─ Outbound data transfer to other regions 750 GB $73.50 - - aws_data_transfer.ap-northeast-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,167.36 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,645.44 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,806.40 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $285.60 - └─ Outbound data transfer to other regions 750 GB $67.50 - - aws_data_transfer.ap-northeast-3 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,167.36 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,645.44 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,806.40 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $285.60 - └─ Outbound data transfer to other regions 750 GB $67.50 - - aws_data_transfer.ap-east-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,228.80 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,396.80 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $272.00 - └─ Outbound data transfer to other regions 750 GB $67.50 - - aws_data_transfer.ap-southeast-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,228.80 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,396.80 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $272.00 - └─ Outbound data transfer to other regions 750 GB $67.50 - - aws_data_transfer.ap-south-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,119.23 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,396.80 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $272.00 - └─ Outbound data transfer to other regions 750 GB $64.50 - - aws_data_transfer.ap-south-2 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,119.23 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,396.80 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $272.00 - └─ Outbound data transfer to other regions 750 GB $64.50 - - aws_data_transfer.il-central-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,126.40 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,884.80 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $187.00 - └─ Outbound data transfer to other regions 750 GB $60.00 - - aws_data_transfer.us-east-2 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - ├─ Outbound data transfer to US East regions 200 GB $2.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.ca-central-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.ca-west-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.eu-central-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.eu-north-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.eu-south-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.eu-west-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.eu-west-2 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.eu-west-3 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.us-west-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.us-west-2 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.us-west-2-lax-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 - ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - - aws_data_transfer.us-east-1 - ├─ Intra-region data transfer 2,000 GB $20.00 - ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 - ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 - ├─ Outbound data transfer to Internet (next 100TB) 5,800 GB $406.00 - ├─ Outbound data transfer to US East regions 500 GB $5.00 - └─ Outbound data transfer to other regions 750 GB $15.00 - + Name Monthly Qty Unit Monthly Cost + + aws_data_transfer.af-south-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,576.96 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $6,021.12 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $12,902.40 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $380.80 * + └─ Outbound data transfer to other regions 750 GB $110.25 * + + aws_data_transfer.sa-east-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,536.00 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $5,652.48 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $12,902.40 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $387.60 * + └─ Outbound data transfer to other regions 750 GB $103.50 * + + aws_data_transfer.ap-northeast-2 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,290.24 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,997.12 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $11,980.80 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $367.20 * + └─ Outbound data transfer to other regions 750 GB $60.00 * + + aws_data_transfer.us-gov-east-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,587.20 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,710.40 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $9,216.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $221.00 * + └─ Outbound data transfer to other regions 750 GB $22.50 * + + aws_data_transfer.us-gov-west-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,587.20 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,710.40 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $9,216.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $221.00 * + └─ Outbound data transfer to other regions 750 GB $22.50 * + + aws_data_transfer.me-south-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,198.08 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,526.08 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $9,318.40 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $221.00 * + └─ Outbound data transfer to other regions 750 GB $82.88 * + + aws_data_transfer.ap-southeast-2 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,167.36 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $4,014.08 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $9,625.60 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $312.80 * + └─ Outbound data transfer to other regions 750 GB $73.50 * + + aws_data_transfer.ap-northeast-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,167.36 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,645.44 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,806.40 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $285.60 * + └─ Outbound data transfer to other regions 750 GB $67.50 * + + aws_data_transfer.ap-northeast-3 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,167.36 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,645.44 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,806.40 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $285.60 * + └─ Outbound data transfer to other regions 750 GB $67.50 * + + aws_data_transfer.ap-east-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,228.80 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,396.80 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $272.00 * + └─ Outbound data transfer to other regions 750 GB $67.50 * + + aws_data_transfer.ap-southeast-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,228.80 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,396.80 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $272.00 * + └─ Outbound data transfer to other regions 750 GB $67.50 * + + aws_data_transfer.ap-south-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,119.23 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,396.80 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $272.00 * + └─ Outbound data transfer to other regions 750 GB $64.50 * + + aws_data_transfer.ap-south-2 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,119.23 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $8,396.80 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $272.00 * + └─ Outbound data transfer to other regions 750 GB $64.50 * + + aws_data_transfer.il-central-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $1,126.40 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,884.80 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $187.00 * + └─ Outbound data transfer to other regions 750 GB $60.00 * + + aws_data_transfer.us-east-2 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + ├─ Outbound data transfer to US East regions 200 GB $2.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.ca-central-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.ca-west-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.eu-central-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.eu-north-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.eu-south-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.eu-west-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.eu-west-2 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.eu-west-3 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.us-west-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.us-west-2 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.us-west-2-lax-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 102,400 GB $7,168.00 * + ├─ Outbound data transfer to Internet (over 150TB) 3,400 GB $170.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + + aws_data_transfer.us-east-1 + ├─ Intra-region data transfer 2,000 GB $20.00 * + ├─ Outbound data transfer to Internet (first 10TB) 10,240 GB $921.60 * + ├─ Outbound data transfer to Internet (next 40TB) 40,960 GB $3,481.60 * + ├─ Outbound data transfer to Internet (next 100TB) 5,800 GB $406.00 * + ├─ Outbound data transfer to US East regions 500 GB $5.00 * + └─ Outbound data transfer to other regions 750 GB $15.00 * + OVERALL TOTAL $363,014.51 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 27 cloud resources were detected: ∙ 27 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDataTransferGoldenFile ┃ $363,015 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDataTransferGoldenFile ┃ $0.00 ┃ $363,015 ┃ $363,015 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden index bfaec8be2f2..3168beeff6a 100644 --- a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden @@ -1,318 +1,321 @@ - Name Monthly Qty Unit Monthly Cost - - aws_db_instance.sqlserver-ee - ├─ Database instance (on-demand, Single-AZ, db.m5.xlarge) 730 hours $1,705.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.sqlserver-se - ├─ Database instance (on-demand, Single-AZ, db.m5.xlarge) 730 hours $893.52 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.mysql-iops - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - ├─ Provisioned IOPS 1,200 IOPS $120.00 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.oracle-se2 - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $219.00 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.oracle-se2-cdb - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $219.00 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.mysql-iops-below-min - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - ├─ Provisioned IOPS 1,000 IOPS $100.00 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.oracle-se1 - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $204.40 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.mysql-multi-az - ├─ Database instance (on-demand, Multi-AZ, db.t3.large) 730 hours $198.56 - ├─ Storage (general purpose SSD, gp2) 30 GB $6.90 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.extended_support["aurora-postgresql-11"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_db_instance.extended_support["aurora-postgresql-11.22"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_db_instance.sqlserver-web - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $169.36 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.extended_support["postgres-11"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_db_instance.extended_support["postgres-11.22"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_db_instance.extended_support["mysql-5.7"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_db_instance.extended_support["mysql-5.7.44"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_db_instance.gp3["multi_az"] - ├─ Database instance (on-demand, Multi-AZ, db.t4g.small) 730 hours $47.45 - ├─ Storage (general purpose SSD, gp3) 400 GB $92.00 - └─ Provisioned GP3 IOPS (above 12,000) 2,000 IOPS $80.00 - - aws_db_instance.sqlserver-ex - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $118.26 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.mysql-default-iops - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 - └─ Provisioned IOPS 1,000 IOPS $100.00 - - aws_db_instance.postgres - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.mariadb - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.mysql - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.oracle-se - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $95.00 - - aws_db_instance.mysql-1yr-no-upfront-multi-az - ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $139.72 - └─ Storage (general purpose SSD, gp2) 20 GB $4.60 - - aws_db_instance.mysql-performance-insights - ├─ Database instance (on-demand, Single-AZ, db.m5.large) 730 hours $124.83 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - ├─ Performance Insights Long Term Retention (db.m5.large) 2 vCPU-month $7.63 - └─ Performance Insights API Monthly cost depends on usage: $0.01 per 1000 requests - - aws_db_instance.aurora-postgresql - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage Monthly cost depends on usage: $0.021 per GB - - aws_db_instance.extended_support["aurora-5.7"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-5.7.44"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-8.0"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-8.0.36"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-mysql-5.7"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-mysql-5.7.44"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-mysql-8.0"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-mysql-8.0.36"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-postgresql-12"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-postgresql-13"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-postgresql-14"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-postgresql-15"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["aurora-postgresql-16"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.gp3["above_high_baseline"] - ├─ Database instance (on-demand, Single-AZ, db.t4g.small) 730 hours $23.36 - ├─ Storage (general purpose SSD, gp3) 400 GB $46.00 - └─ Provisioned GP3 IOPS (above 12,000) 2,000 IOPS $40.00 - - aws_db_instance.extended_support["postgres-12"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["postgres-13"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["postgres-14"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["postgres-15"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["postgres-16"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.mysql-performance-insights-usage - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - ├─ Performance Insights Long Term Retention (db.t3.large) 2 vCPU-month $5.90 - └─ Performance Insights API 12.345 1000 requests $0.12 - - aws_db_instance.mysql-magnetic - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (magnetic) 40 GB $4.00 - └─ I/O requests Monthly cost depends on usage: $0.10 per 1M requests - - aws_db_instance.extended_support["mysql-8.0"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.extended_support["mysql-8.0.36"] - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.mysql-allocated-storage - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - - aws_db_instance.mysql-default - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.mysql-replica - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.oracle-ee - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.oracle-ee-cdb - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.oracle-se1-byol - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.mysql-1yr-no-upfront-single-az - ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $69.86 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.mysql-1yr-partial-upfront-multi-az - ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $66.50 - └─ Storage (general purpose SSD, gp2) 20 GB $4.60 - - aws_db_instance.gp3["below_high_baseline"] - ├─ Database instance (on-demand, Single-AZ, db.t4g.small) 730 hours $23.36 - └─ Storage (general purpose SSD, gp3) 400 GB $46.00 - - aws_db_instance.postgres-3yr-partial-upfront-multi-az - ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $50.74 - └─ Storage (general purpose SSD, gp2) 20 GB $4.60 - - aws_db_instance.aurora - ├─ Database instance (on-demand, Single-AZ, db.t3.small) 730 hours $29.93 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage 1,000 GB $21.00 - - aws_db_instance.gp3["above_low_baseline"] - ├─ Database instance (on-demand, Single-AZ, db.t4g.small) 730 hours $23.36 - ├─ Storage (general purpose SSD, gp3) 20 GB $2.30 - └─ Provisioned GP3 IOPS (above 3,000) 1,000 IOPS $20.00 - - aws_db_instance.mysql-1yr-partial-upfront-single-az - ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $33.29 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.aurora-mysql - ├─ Database instance (on-demand, Single-AZ, db.t3.small) 730 hours $29.93 - ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 - └─ Additional backup storage Monthly cost depends on usage: $0.021 per GB - - aws_db_instance.postgres-3yr-partial-upfront-single-az - ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $25.40 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.gp3["below_low_baseline"] - ├─ Database instance (on-demand, Single-AZ, db.t4g.small) 730 hours $23.36 - └─ Storage (general purpose SSD, gp3) 20 GB $2.30 - - aws_db_instance.mysql-1yr-all-upfront-multi-az - ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $0.00 - └─ Storage (general purpose SSD, gp2) 20 GB $4.60 - - aws_db_instance.postgres-3yr-all-upfront-multi-az - ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $0.00 - └─ Storage (general purpose SSD, gp2) 20 GB $4.60 - - aws_db_instance.mysql-1yr-all-upfront-single-az - ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $0.00 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.postgres-3yr-all-upfront-single-az - ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $0.00 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - + Name Monthly Qty Unit Monthly Cost + + aws_db_instance.sqlserver-ee + ├─ Database instance (on-demand, Single-AZ, db.m5.xlarge) 730 hours $1,705.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.sqlserver-se + ├─ Database instance (on-demand, Single-AZ, db.m5.xlarge) 730 hours $893.52 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.mysql-iops + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + ├─ Provisioned IOPS 1,200 IOPS $120.00 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.oracle-se2 + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $219.00 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.oracle-se2-cdb + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $219.00 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.mysql-iops-below-min + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + ├─ Provisioned IOPS 1,000 IOPS $100.00 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.oracle-se1 + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $204.40 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.mysql-multi-az + ├─ Database instance (on-demand, Multi-AZ, db.t3.large) 730 hours $198.56 + ├─ Storage (general purpose SSD, gp2) 30 GB $6.90 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.extended_support["aurora-postgresql-11"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_db_instance.extended_support["aurora-postgresql-11.22"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_db_instance.sqlserver-web + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $169.36 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.extended_support["postgres-11"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_db_instance.extended_support["postgres-11.22"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_db_instance.extended_support["mysql-5.7"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_db_instance.extended_support["mysql-5.7.44"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_db_instance.gp3["multi_az"] + ├─ Database instance (on-demand, Multi-AZ, db.t4g.small) 730 hours $47.45 + ├─ Storage (general purpose SSD, gp3) 400 GB $92.00 + └─ Provisioned GP3 IOPS (above 12,000) 2,000 IOPS $80.00 + + aws_db_instance.sqlserver-ex + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $118.26 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.mysql-default-iops + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (provisioned IOPS SSD, io1) 100 GB $12.50 + └─ Provisioned IOPS 1,000 IOPS $100.00 + + aws_db_instance.postgres + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.mariadb + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.mysql + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.oracle-se + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $95.00 * + + aws_db_instance.mysql-1yr-no-upfront-multi-az + ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $139.72 + └─ Storage (general purpose SSD, gp2) 20 GB $4.60 + + aws_db_instance.mysql-performance-insights + ├─ Database instance (on-demand, Single-AZ, db.m5.large) 730 hours $124.83 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + ├─ Performance Insights Long Term Retention (db.m5.large) 2 vCPU-month $7.63 + └─ Performance Insights API Monthly cost depends on usage: $0.01 per 1000 requests + + aws_db_instance.aurora-postgresql + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage Monthly cost depends on usage: $0.021 per GB + + aws_db_instance.extended_support["aurora-5.7"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-5.7.44"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-8.0"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-8.0.36"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-mysql-5.7"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-mysql-5.7.44"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-mysql-8.0"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-mysql-8.0.36"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-postgresql-12"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-postgresql-13"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-postgresql-14"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-postgresql-15"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["aurora-postgresql-16"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $119.72 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.gp3["above_high_baseline"] + ├─ Database instance (on-demand, Single-AZ, db.t4g.small) 730 hours $23.36 + ├─ Storage (general purpose SSD, gp3) 400 GB $46.00 + └─ Provisioned GP3 IOPS (above 12,000) 2,000 IOPS $40.00 + + aws_db_instance.extended_support["postgres-12"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["postgres-13"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["postgres-14"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["postgres-15"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["postgres-16"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $105.85 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.mysql-performance-insights-usage + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + ├─ Performance Insights Long Term Retention (db.t3.large) 2 vCPU-month $5.90 + └─ Performance Insights API 12.345 1000 requests $0.12 * + + aws_db_instance.mysql-magnetic + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (magnetic) 40 GB $4.00 + └─ I/O requests Monthly cost depends on usage: $0.10 per 1M requests + + aws_db_instance.extended_support["mysql-8.0"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.extended_support["mysql-8.0.36"] + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.mysql-allocated-storage + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + + aws_db_instance.mysql-default + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.mysql-replica + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.oracle-ee + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.oracle-ee-cdb + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.oracle-se1-byol + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.mysql-1yr-no-upfront-single-az + ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $69.86 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.mysql-1yr-partial-upfront-multi-az + ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $66.50 + └─ Storage (general purpose SSD, gp2) 20 GB $4.60 + + aws_db_instance.gp3["below_high_baseline"] + ├─ Database instance (on-demand, Single-AZ, db.t4g.small) 730 hours $23.36 + └─ Storage (general purpose SSD, gp3) 400 GB $46.00 + + aws_db_instance.postgres-3yr-partial-upfront-multi-az + ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $50.74 + └─ Storage (general purpose SSD, gp2) 20 GB $4.60 + + aws_db_instance.aurora + ├─ Database instance (on-demand, Single-AZ, db.t3.small) 730 hours $29.93 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage 1,000 GB $21.00 * + + aws_db_instance.gp3["above_low_baseline"] + ├─ Database instance (on-demand, Single-AZ, db.t4g.small) 730 hours $23.36 + ├─ Storage (general purpose SSD, gp3) 20 GB $2.30 + └─ Provisioned GP3 IOPS (above 3,000) 1,000 IOPS $20.00 + + aws_db_instance.mysql-1yr-partial-upfront-single-az + ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $33.29 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.aurora-mysql + ├─ Database instance (on-demand, Single-AZ, db.t3.small) 730 hours $29.93 + ├─ Storage (general purpose SSD, gp2) 20 GB $2.30 + └─ Additional backup storage Monthly cost depends on usage: $0.021 per GB + + aws_db_instance.postgres-3yr-partial-upfront-single-az + ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $25.40 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.gp3["below_low_baseline"] + ├─ Database instance (on-demand, Single-AZ, db.t4g.small) 730 hours $23.36 + └─ Storage (general purpose SSD, gp3) 20 GB $2.30 + + aws_db_instance.mysql-1yr-all-upfront-multi-az + ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $0.00 + └─ Storage (general purpose SSD, gp2) 20 GB $4.60 + + aws_db_instance.postgres-3yr-all-upfront-multi-az + ├─ Database instance (reserved, Multi-AZ, db.t3.large) 730 hours $0.00 + └─ Storage (general purpose SSD, gp2) 20 GB $4.60 + + aws_db_instance.mysql-1yr-all-upfront-single-az + ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $0.00 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.postgres-3yr-all-upfront-single-az + ├─ Database instance (reserved, Single-AZ, db.t3.large) 730 hours $0.00 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + OVERALL TOTAL $11,880.39 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 68 cloud resources were detected: ∙ 68 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDBInstanceGoldenFile ┃ $11,880 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDBInstanceGoldenFile ┃ $10,719 ┃ $1,161 ┃ $11,880 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden index 8c1f23546d8..910e8f8ad5c 100644 --- a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden +++ b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden @@ -1,37 +1,40 @@ - Name Monthly Qty Unit Monthly Cost - - aws_directory_service_directory.microsoft_ad_with_usage - ├─ Directory service (Microsoft AD, Standard) 2 controllers $87.60 - ├─ Additional domain controllers 4 controllers $175.20 - └─ Directory sharing 8 accounts $105.12 - - aws_directory_service_directory.microsoft_ad_enterprise - └─ Directory service (Microsoft AD, Enterprise) 2 controllers $292.00 - - aws_directory_service_directory.simple_ad_large - └─ Directory service (Simple AD, Large) 2 controllers $219.00 - - aws_directory_service_directory.simple_ad_with_usage - ├─ Directory service (Simple AD, Small) 2 controllers $73.00 - └─ Additional domain controllers 3 controllers $109.50 - - aws_directory_service_directory.microsoft_ad_standard - └─ Directory service (Microsoft AD, Standard) 2 controllers $87.60 - - aws_directory_service_directory.ad_connector_small - └─ Directory service (AD Connector, Small) 2 controllers $73.00 - - aws_directory_service_directory.simple_ad_small - └─ Directory service (Simple AD, Small) 2 controllers $73.00 - + Name Monthly Qty Unit Monthly Cost + + aws_directory_service_directory.microsoft_ad_with_usage + ├─ Directory service (Microsoft AD, Standard) 2 controllers $87.60 + ├─ Additional domain controllers 4 controllers $175.20 * + └─ Directory sharing 8 accounts $105.12 * + + aws_directory_service_directory.microsoft_ad_enterprise + └─ Directory service (Microsoft AD, Enterprise) 2 controllers $292.00 + + aws_directory_service_directory.simple_ad_large + └─ Directory service (Simple AD, Large) 2 controllers $219.00 + + aws_directory_service_directory.simple_ad_with_usage + ├─ Directory service (Simple AD, Small) 2 controllers $73.00 + └─ Additional domain controllers 3 controllers $109.50 * + + aws_directory_service_directory.microsoft_ad_standard + └─ Directory service (Microsoft AD, Standard) 2 controllers $87.60 + + aws_directory_service_directory.ad_connector_small + └─ Directory service (AD Connector, Small) 2 controllers $73.00 + + aws_directory_service_directory.simple_ad_small + └─ Directory service (Simple AD, Small) 2 controllers $73.00 + OVERALL TOTAL $1,295.02 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 7 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDirectoryServiceDirectoryGoldenFile ┃ $1,295 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDirectoryServiceDirectoryGoldenFile ┃ $905 ┃ $390 ┃ $1,295 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden index 2ee5a09c48f..a3c4545b1f7 100644 --- a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden +++ b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - aws_dms_replication_instance.my_dms_replication_instance_multi_high_storage - ├─ Instance (t2.micro) 730 hours $26.28 - └─ Storage (general purpose SSD, gp2) 20 GB $4.60 - - aws_dms_replication_instance.my_dms_replication_instance_single_low_storage - └─ Instance (t2.micro) 730 hours $13.14 - - OVERALL TOTAL $44.02 + Name Monthly Qty Unit Monthly Cost + + aws_dms_replication_instance.my_dms_replication_instance_multi_high_storage + ├─ Instance (t2.micro) 730 hours $26.28 + └─ Storage (general purpose SSD, gp2) 20 GB $4.60 + + aws_dms_replication_instance.my_dms_replication_instance_single_low_storage + └─ Instance (t2.micro) 730 hours $13.14 + + OVERALL TOTAL $44.02 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNewNewDMSReplicationInstanceGoldenFile ┃ $44 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNewNewDMSReplicationInstanceGoldenFile ┃ $44 ┃ $0.00 ┃ $44 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden index b97936ba9d0..e4cb194a51f 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden @@ -1,47 +1,50 @@ - Name Monthly Qty Unit Monthly Cost - - aws_docdb_cluster_instance.large - ├─ Database instance (on-demand, db.r5.4xlarge) 730 hours $1,617.68 - ├─ Storage 1,000 GB $100.00 - └─ I/O requests 10 1M requests $2.00 - - aws_docdb_cluster_instance.largeue2 - ├─ Database instance (on-demand, db.r5.4xlarge) 730 hours $1,617.68 - ├─ Storage 1,000 GB $100.00 - └─ I/O requests 10 1M requests $2.00 - - aws_docdb_cluster_instance.medium - ├─ Database instance (on-demand, db.t3.medium) 730 hours $56.94 - ├─ Storage 1,000 GB $100.00 - ├─ I/O requests 10 1M requests $2.00 - └─ CPU credits 10 vCPU-hours $0.90 - - aws_docdb_cluster_instance.mediumue2 - ├─ Database instance (on-demand, db.t3.medium) 730 hours $56.94 - ├─ Storage 1,000 GB $100.00 - ├─ I/O requests 10 1M requests $2.00 - └─ CPU credits 10 vCPU-hours $0.90 - - aws_docdb_cluster_instance.db - ├─ Database instance (on-demand, db.t3.medium) 730 hours $56.94 - ├─ Storage Monthly cost depends on usage: $0.10 per GB - ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests - └─ CPU credits Monthly cost depends on usage: $0.09 per vCPU-hours - - aws_docdb_cluster_instance.dbue2 - ├─ Database instance (on-demand, db.t3.medium) 730 hours $56.94 - ├─ Storage Monthly cost depends on usage: $0.10 per GB - ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests - └─ CPU credits Monthly cost depends on usage: $0.09 per vCPU-hours - + Name Monthly Qty Unit Monthly Cost + + aws_docdb_cluster_instance.large + ├─ Database instance (on-demand, db.r5.4xlarge) 730 hours $1,617.68 + ├─ Storage 1,000 GB $100.00 * + └─ I/O requests 10 1M requests $2.00 * + + aws_docdb_cluster_instance.largeue2 + ├─ Database instance (on-demand, db.r5.4xlarge) 730 hours $1,617.68 + ├─ Storage 1,000 GB $100.00 * + └─ I/O requests 10 1M requests $2.00 * + + aws_docdb_cluster_instance.medium + ├─ Database instance (on-demand, db.t3.medium) 730 hours $56.94 + ├─ Storage 1,000 GB $100.00 * + ├─ I/O requests 10 1M requests $2.00 * + └─ CPU credits 10 vCPU-hours $0.90 * + + aws_docdb_cluster_instance.mediumue2 + ├─ Database instance (on-demand, db.t3.medium) 730 hours $56.94 + ├─ Storage 1,000 GB $100.00 * + ├─ I/O requests 10 1M requests $2.00 * + └─ CPU credits 10 vCPU-hours $0.90 * + + aws_docdb_cluster_instance.db + ├─ Database instance (on-demand, db.t3.medium) 730 hours $56.94 + ├─ Storage Monthly cost depends on usage: $0.10 per GB + ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests + └─ CPU credits Monthly cost depends on usage: $0.09 per vCPU-hours + + aws_docdb_cluster_instance.dbue2 + ├─ Database instance (on-demand, db.t3.medium) 730 hours $56.94 + ├─ Storage Monthly cost depends on usage: $0.10 per GB + ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests + └─ CPU credits Monthly cost depends on usage: $0.09 per vCPU-hours + OVERALL TOTAL $3,872.92 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDocDBClusterInstanceGoldenFile ┃ $3,873 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDocDBClusterInstanceGoldenFile ┃ $3,463 ┃ $410 ┃ $3,873 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden index 5399af3e57e..33119e3e6ab 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - aws_docdb_cluster_snapshot.my_aws_docdb_cluster_snapshot_usage - └─ Backup storage 1,000 GB $21.00 - - aws_docdb_cluster_snapshot.my_aws_docdb_cluster_snapshot_usage_ue2 - └─ Backup storage 1,000 GB $21.00 - - aws_docdb_cluster_snapshot.my_aws_docdb_cluster_snapshot - └─ Backup storage Monthly cost depends on usage: $0.021 per GB - - aws_docdb_cluster_snapshot.my_aws_docdb_cluster_snapshot_ue2 - └─ Backup storage Monthly cost depends on usage: $0.021 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_docdb_cluster_snapshot.my_aws_docdb_cluster_snapshot_usage + └─ Backup storage 1,000 GB $21.00 * + + aws_docdb_cluster_snapshot.my_aws_docdb_cluster_snapshot_usage_ue2 + └─ Backup storage 1,000 GB $21.00 * + + aws_docdb_cluster_snapshot.my_aws_docdb_cluster_snapshot + └─ Backup storage Monthly cost depends on usage: $0.021 per GB + + aws_docdb_cluster_snapshot.my_aws_docdb_cluster_snapshot_ue2 + └─ Backup storage Monthly cost depends on usage: $0.021 per GB + OVERALL TOTAL $42.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDocDBClusterSnapshotGoldenFile ┃ $42 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDocDBClusterSnapshotGoldenFile ┃ $0.00 ┃ $42 ┃ $42 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden index 7b037cd05be..abf4ccda757 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - aws_docdb_cluster.my_docdb_usage - └─ Backup storage 10,000 GB $210.00 - - aws_docdb_cluster.my_docdb_usage_ue2 - └─ Backup storage 10,000 GB $210.00 - - aws_docdb_cluster.my_docdb - └─ Backup storage Monthly cost depends on usage: $0.021 per GB - - aws_docdb_cluster.my_docdb_ue2 - └─ Backup storage Monthly cost depends on usage: $0.021 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_docdb_cluster.my_docdb_usage + └─ Backup storage 10,000 GB $210.00 * + + aws_docdb_cluster.my_docdb_usage_ue2 + └─ Backup storage 10,000 GB $210.00 * + + aws_docdb_cluster.my_docdb + └─ Backup storage Monthly cost depends on usage: $0.021 per GB + + aws_docdb_cluster.my_docdb_ue2 + └─ Backup storage Monthly cost depends on usage: $0.021 per GB + OVERALL TOTAL $420.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNewDocDBClusterGoldenFile ┃ $420 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNewDocDBClusterGoldenFile ┃ $0.00 ┃ $420 ┃ $420 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden index 302e5870c0b..0aabfa04c58 100644 --- a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - aws_dx_connection.my_dx_connection_usage - ├─ DX connection 730 hours $219.00 - ├─ Outbound data transfer (from ap-east-1, to EqDC2) 3,000 GB $270.00 - └─ Outbound data transfer (from eu-west-1, to EqDC2) 1,000 GB $28.20 - - aws_dx_connection.my_dx_connection_usage_backwards_compat - ├─ DX connection 730 hours $219.00 - └─ Outbound data transfer (from us-east-1, to EqDC2) 200 GB $4.00 - - aws_dx_connection.my_dx_connection - └─ DX connection 730 hours $219.00 - + Name Monthly Qty Unit Monthly Cost + + aws_dx_connection.my_dx_connection_usage + ├─ DX connection 730 hours $219.00 + ├─ Outbound data transfer (from ap-east-1, to EqDC2) 3,000 GB $270.00 * + └─ Outbound data transfer (from eu-west-1, to EqDC2) 1,000 GB $28.20 * + + aws_dx_connection.my_dx_connection_usage_backwards_compat + ├─ DX connection 730 hours $219.00 + └─ Outbound data transfer (from us-east-1, to EqDC2) 200 GB $4.00 * + + aws_dx_connection.my_dx_connection + └─ DX connection 730 hours $219.00 + OVERALL TOTAL $959.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDXConnectionGoldenFile ┃ $959 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDXConnectionGoldenFile ┃ $657 ┃ $302 ┃ $959 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden index cf4f7a57e74..b4b971086a3 100644 --- a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_dx_gateway_association.my_aws_dx_gateway_association_usage - ├─ Data processed 100 GB $2.00 - └─ Transit gateway attachment 730 hours $36.50 - - aws_dx_gateway_association.my_aws_dx_gateway_association - ├─ Data processed Monthly cost depends on usage: $0.02 per GB - └─ Transit gateway attachment 730 hours $36.50 - + Name Monthly Qty Unit Monthly Cost + + aws_dx_gateway_association.my_aws_dx_gateway_association_usage + ├─ Data processed 100 GB $2.00 * + └─ Transit gateway attachment 730 hours $36.50 + + aws_dx_gateway_association.my_aws_dx_gateway_association + ├─ Data processed Monthly cost depends on usage: $0.02 per GB + └─ Transit gateway attachment 730 hours $36.50 + OVERALL TOTAL $75.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDXGatewayAssociationGoldenFile ┃ $75 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDXGatewayAssociationGoldenFile ┃ $73 ┃ $2 ┃ $75 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden index a9a47543be9..d8df984b0ad 100644 --- a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden +++ b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden @@ -1,79 +1,82 @@ - Name Monthly Qty Unit Monthly Cost - - aws_dynamodb_table.my_dynamodb_table_usage - ├─ Write request unit (WRU) 3,000,000 WRUs $3.75 - ├─ Read request unit (RRU) 8,000,000 RRUs $2.00 - ├─ Data storage 230 GB $57.50 - ├─ Point-In-Time Recovery (PITR) backup storage 2,300 GB $460.00 - ├─ On-demand backup storage 460 GB $46.00 - ├─ Table data restored 230 GB $34.50 - ├─ Streams read request unit (sRRU) 2,000,000 sRRUs $0.40 - ├─ Global table (us-east-2) - │ └─ Replicated write request unit (rWRU) 4,109.5890 rWRU $5.63 - └─ Global table (us-west-1) - └─ Replicated write request unit (rWRU) 4,109.5890 rWRU $6.27 - - aws_dynamodb_table.autoscale_dynamodb_table_usage - ├─ Write capacity unit (WCU, autoscaling) 77 WCU $36.54 - ├─ Read capacity unit (RCU, autoscaling) 76 RCU $7.21 - ├─ Data storage Monthly cost depends on usage: $0.25 per GB - ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB - ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB - ├─ Table data restored Monthly cost depends on usage: $0.15 per GB - └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs - - aws_dynamodb_table.my_dynamodb_table - ├─ Write capacity unit (WCU) 20 WCU $9.49 - ├─ Read capacity unit (RCU) 30 RCU $2.85 - ├─ Data storage Monthly cost depends on usage: $0.25 per GB - ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB - ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB - ├─ Table data restored Monthly cost depends on usage: $0.15 per GB - ├─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs - ├─ Global table (us-east-2) - │ └─ Replicated write capacity unit (rWCU) 20 rWCU $14.24 - └─ Global table (us-west-1) - └─ Replicated write capacity unit (rWCU) 20 rWCU $15.88 - - aws_dynamodb_table.my_dynamodb_table_with_no_billing_mode - ├─ Write capacity unit (WCU) 20 WCU $9.49 - ├─ Read capacity unit (RCU) 30 RCU $2.85 - ├─ Data storage Monthly cost depends on usage: $0.25 per GB - ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB - ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB - ├─ Table data restored Monthly cost depends on usage: $0.15 per GB - ├─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs - ├─ Global table (us-east-2) - │ └─ Replicated write capacity unit (rWCU) 20 rWCU $14.24 - └─ Global table (us-west-1) - └─ Replicated write capacity unit (rWCU) 20 rWCU $15.88 - - aws_dynamodb_table.autoscale_dynamodb_table_literal_ref - ├─ Write capacity unit (WCU) 20 WCU $9.49 - ├─ Read capacity unit (RCU, autoscaling) 56 RCU $5.31 - ├─ Data storage Monthly cost depends on usage: $0.25 per GB - ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB - ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB - ├─ Table data restored Monthly cost depends on usage: $0.15 per GB - └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs - - aws_dynamodb_table.autoscale_dynamodb_table - ├─ Write capacity unit (WCU, autoscaling) 6 WCU $2.85 - ├─ Read capacity unit (RCU, autoscaling) 5 RCU $0.47 - ├─ Data storage Monthly cost depends on usage: $0.25 per GB - ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB - ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB - ├─ Table data restored Monthly cost depends on usage: $0.15 per GB - └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs - + Name Monthly Qty Unit Monthly Cost + + aws_dynamodb_table.my_dynamodb_table_usage + ├─ Write request unit (WRU) 3,000,000 WRUs $3.75 * + ├─ Read request unit (RRU) 8,000,000 RRUs $2.00 * + ├─ Data storage 230 GB $57.50 * + ├─ Point-In-Time Recovery (PITR) backup storage 2,300 GB $460.00 * + ├─ On-demand backup storage 460 GB $46.00 * + ├─ Table data restored 230 GB $34.50 * + ├─ Streams read request unit (sRRU) 2,000,000 sRRUs $0.40 * + ├─ Global table (us-east-2) + │ └─ Replicated write request unit (rWRU) 4,109.5890 rWRU $5.63 + └─ Global table (us-west-1) + └─ Replicated write request unit (rWRU) 4,109.5890 rWRU $6.27 + + aws_dynamodb_table.autoscale_dynamodb_table_usage + ├─ Write capacity unit (WCU, autoscaling) 77 WCU $36.54 * + ├─ Read capacity unit (RCU, autoscaling) 76 RCU $7.21 * + ├─ Data storage Monthly cost depends on usage: $0.25 per GB + ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB + ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB + ├─ Table data restored Monthly cost depends on usage: $0.15 per GB + └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs + + aws_dynamodb_table.my_dynamodb_table + ├─ Write capacity unit (WCU) 20 WCU $9.49 + ├─ Read capacity unit (RCU) 30 RCU $2.85 + ├─ Data storage Monthly cost depends on usage: $0.25 per GB + ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB + ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB + ├─ Table data restored Monthly cost depends on usage: $0.15 per GB + ├─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs + ├─ Global table (us-east-2) + │ └─ Replicated write capacity unit (rWCU) 20 rWCU $14.24 + └─ Global table (us-west-1) + └─ Replicated write capacity unit (rWCU) 20 rWCU $15.88 + + aws_dynamodb_table.my_dynamodb_table_with_no_billing_mode + ├─ Write capacity unit (WCU) 20 WCU $9.49 + ├─ Read capacity unit (RCU) 30 RCU $2.85 + ├─ Data storage Monthly cost depends on usage: $0.25 per GB + ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB + ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB + ├─ Table data restored Monthly cost depends on usage: $0.15 per GB + ├─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs + ├─ Global table (us-east-2) + │ └─ Replicated write capacity unit (rWCU) 20 rWCU $14.24 + └─ Global table (us-west-1) + └─ Replicated write capacity unit (rWCU) 20 rWCU $15.88 + + aws_dynamodb_table.autoscale_dynamodb_table_literal_ref + ├─ Write capacity unit (WCU) 20 WCU $9.49 + ├─ Read capacity unit (RCU, autoscaling) 56 RCU $5.31 * + ├─ Data storage Monthly cost depends on usage: $0.25 per GB + ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB + ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB + ├─ Table data restored Monthly cost depends on usage: $0.15 per GB + └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs + + aws_dynamodb_table.autoscale_dynamodb_table + ├─ Write capacity unit (WCU, autoscaling) 6 WCU $2.85 * + ├─ Read capacity unit (RCU, autoscaling) 5 RCU $0.47 * + ├─ Data storage Monthly cost depends on usage: $0.25 per GB + ├─ Point-In-Time Recovery (PITR) backup storage Monthly cost depends on usage: $0.20 per GB + ├─ On-demand backup storage Monthly cost depends on usage: $0.10 per GB + ├─ Table data restored Monthly cost depends on usage: $0.15 per GB + └─ Streams read request unit (sRRU) Monthly cost depends on usage: $0.0000002 per sRRUs + OVERALL TOTAL $762.82 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 11 cloud resources were detected: ∙ 11 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDynamoDBTableGoldenFile ┃ $763 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDynamoDBTableGoldenFile ┃ $106 ┃ $657 ┃ $763 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden index 97674afdfb6..1cf42453274 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden @@ -1,26 +1,29 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ebs_volume.gp2 - └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - - aws_ebs_snapshot.gp2 - ├─ EBS snapshot storage 10 GB $0.50 - ├─ Fast snapshot restore Monthly cost depends on usage: $0.75 per DSU-hours - ├─ ListChangedBlocks & ListSnapshotBlocks API requests Monthly cost depends on usage: $0.0006 per 1k requests - ├─ GetSnapshotBlock API requests Monthly cost depends on usage: $0.003 per 1k SnapshotAPIUnits - └─ PutSnapshotBlock API requests Monthly cost depends on usage: $0.006 per 1k SnapshotAPIUnits - - aws_ebs_snapshot_copy.gp2 - └─ EBS snapshot storage 10 GB $0.50 - + Name Monthly Qty Unit Monthly Cost + + aws_ebs_volume.gp2 + └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + + aws_ebs_snapshot.gp2 + ├─ EBS snapshot storage 10 GB $0.50 * + ├─ Fast snapshot restore Monthly cost depends on usage: $0.75 per DSU-hours + ├─ ListChangedBlocks & ListSnapshotBlocks API requests Monthly cost depends on usage: $0.0006 per 1k requests + ├─ GetSnapshotBlock API requests Monthly cost depends on usage: $0.003 per 1k SnapshotAPIUnits + └─ PutSnapshotBlock API requests Monthly cost depends on usage: $0.006 per 1k SnapshotAPIUnits + + aws_ebs_snapshot_copy.gp2 + └─ EBS snapshot storage 10 GB $0.50 * + OVERALL TOTAL $2.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEBSSnapshotCopyGoldenFile ┃ $2 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEBSSnapshotCopyGoldenFile ┃ $1 ┃ $1 ┃ $2 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden index ae51bafd25c..ec17049c99b 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden @@ -1,30 +1,33 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ebs_snapshot.gp2_usage - ├─ EBS snapshot storage 8 GB $0.40 - ├─ Fast snapshot restore 100 DSU-hours $75.00 - ├─ ListChangedBlocks & ListSnapshotBlocks API requests 1,000 1k requests $0.60 - ├─ GetSnapshotBlock API requests 100 1k SnapshotAPIUnits $0.30 - └─ PutSnapshotBlock API requests 100 1k SnapshotAPIUnits $0.60 - - aws_ebs_volume.gp2 - └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - - aws_ebs_snapshot.gp2 - ├─ EBS snapshot storage 10 GB $0.50 - ├─ Fast snapshot restore Monthly cost depends on usage: $0.75 per DSU-hours - ├─ ListChangedBlocks & ListSnapshotBlocks API requests Monthly cost depends on usage: $0.0006 per 1k requests - ├─ GetSnapshotBlock API requests Monthly cost depends on usage: $0.003 per 1k SnapshotAPIUnits - └─ PutSnapshotBlock API requests Monthly cost depends on usage: $0.006 per 1k SnapshotAPIUnits - + Name Monthly Qty Unit Monthly Cost + + aws_ebs_snapshot.gp2_usage + ├─ EBS snapshot storage 8 GB $0.40 * + ├─ Fast snapshot restore 100 DSU-hours $75.00 * + ├─ ListChangedBlocks & ListSnapshotBlocks API requests 1,000 1k requests $0.60 * + ├─ GetSnapshotBlock API requests 100 1k SnapshotAPIUnits $0.30 * + └─ PutSnapshotBlock API requests 100 1k SnapshotAPIUnits $0.60 * + + aws_ebs_volume.gp2 + └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + + aws_ebs_snapshot.gp2 + ├─ EBS snapshot storage 10 GB $0.50 * + ├─ Fast snapshot restore Monthly cost depends on usage: $0.75 per DSU-hours + ├─ ListChangedBlocks & ListSnapshotBlocks API requests Monthly cost depends on usage: $0.0006 per 1k requests + ├─ GetSnapshotBlock API requests Monthly cost depends on usage: $0.003 per 1k SnapshotAPIUnits + └─ PutSnapshotBlock API requests Monthly cost depends on usage: $0.006 per 1k SnapshotAPIUnits + OVERALL TOTAL $78.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEBSSnapshotGoldenFile ┃ $78 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEBSSnapshotGoldenFile ┃ $1 ┃ $77 ┃ $78 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden index 2e89f00b60c..efe47477c4a 100644 --- a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden @@ -1,43 +1,46 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ebs_volume.io1 - ├─ Storage (provisioned IOPS SSD, io1) 30 GB $3.75 - └─ Provisioned IOPS 300 IOPS $19.50 - - aws_ebs_volume.io2 - ├─ Storage (provisioned IOPS SSD, io2) 30 GB $3.75 - └─ Provisioned IOPS 300 IOPS $19.50 - - aws_ebs_volume.gp3 - ├─ Storage (general purpose SSD, gp3) 40 GB $3.20 - ├─ Provisioned throughput 5 Mbps $0.20 - └─ Provisioned IOPS 1,000 IOPS $5.00 - - aws_ebs_volume.st1 - └─ Storage (throughput optimized HDD, st1) 40 GB $1.80 - - aws_ebs_volume.standard_withUsage - ├─ Storage (magnetic) 20 GB $1.00 - └─ I/O requests 1 1M request $0.05 - - aws_ebs_volume.gp2 - └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - - aws_ebs_volume.standard - ├─ Storage (magnetic) 20 GB $1.00 - └─ I/O requests Monthly cost depends on usage: $0.05 per 1M request - - aws_ebs_volume.sc1 - └─ Storage (cold HDD, sc1) 50 GB $0.75 - + Name Monthly Qty Unit Monthly Cost + + aws_ebs_volume.io1 + ├─ Storage (provisioned IOPS SSD, io1) 30 GB $3.75 + └─ Provisioned IOPS 300 IOPS $19.50 + + aws_ebs_volume.io2 + ├─ Storage (provisioned IOPS SSD, io2) 30 GB $3.75 + └─ Provisioned IOPS 300 IOPS $19.50 + + aws_ebs_volume.gp3 + ├─ Storage (general purpose SSD, gp3) 40 GB $3.20 + ├─ Provisioned throughput 5 Mbps $0.20 + └─ Provisioned IOPS 1,000 IOPS $5.00 + + aws_ebs_volume.st1 + └─ Storage (throughput optimized HDD, st1) 40 GB $1.80 + + aws_ebs_volume.standard_withUsage + ├─ Storage (magnetic) 20 GB $1.00 + └─ I/O requests 1 1M request $0.05 * + + aws_ebs_volume.gp2 + └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + + aws_ebs_volume.standard + ├─ Storage (magnetic) 20 GB $1.00 + └─ I/O requests Monthly cost depends on usage: $0.05 per 1M request + + aws_ebs_volume.sc1 + └─ Storage (cold HDD, sc1) 50 GB $0.75 + OVERALL TOTAL $60.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEBSVolumeGoldenFile ┃ $61 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEBSVolumeGoldenFile ┃ $60 ┃ $0.05 ┃ $61 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden index f69c86ddb79..ce9646002ea 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ec2_client_vpn_endpoint.endpoint - └─ Connection 730 hours $36.50 - - OVERALL TOTAL $36.50 + Name Monthly Qty Unit Monthly Cost + + aws_ec2_client_vpn_endpoint.endpoint + └─ Connection 730 hours $36.50 + + OVERALL TOTAL $36.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEC2ClientVpnEndpointGoldenFile ┃ $37 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEC2ClientVpnEndpointGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden index 181b04b0d63..e32061dd3d8 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ec2_client_vpn_network_association.association - └─ Endpoint association 730 hours $73.00 - - OVERALL TOTAL $73.00 + Name Monthly Qty Unit Monthly Cost + + aws_ec2_client_vpn_network_association.association + └─ Endpoint association 730 hours $73.00 + + OVERALL TOTAL $73.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEC2ClientVpnNetworkAssociationGoldenFile ┃ $73 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEC2ClientVpnNetworkAssociationGoldenFile ┃ $73 ┃ $0.00 ┃ $73 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden index e00a0e22d18..4d4e6974078 100644 --- a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden @@ -1,37 +1,40 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ec2_host.ec2_host - └─ EC2 Dedicated Host (on-demand, c5) 730 hours $2,457.18 - - aws_ec2_host.host-1yr-no-upfront - └─ EC2 Dedicated Host (reserved, m5) 730 hours $2,330.89 - - aws_ec2_host.host-3yr-no-upfront - └─ EC2 Dedicated Host (reserved, m5) 730 hours $1,598.70 - - aws_ec2_host.mac - └─ EC2 Dedicated Host (on-demand, mac1) 730 hours $790.59 - - aws_ec2_host.host-1yr-partial-upfront - └─ EC2 Dedicated Host (reserved, c5) 730 hours $737.30 - - aws_ec2_host.host-3yr-partial-upfront - └─ EC2 Dedicated Host (reserved, c5) 730 hours $476.69 - - aws_ec2_host.host-1yr-all-upfront - └─ EC2 Dedicated Host (reserved, m5d) 730 hours $0.00 - - aws_ec2_host.host-3yr-all-upfront - └─ EC2 Dedicated Host (reserved, m5d) 730 hours $0.00 - - OVERALL TOTAL $8,391.35 + Name Monthly Qty Unit Monthly Cost + + aws_ec2_host.ec2_host + └─ EC2 Dedicated Host (on-demand, c5) 730 hours $2,457.18 + + aws_ec2_host.host-1yr-no-upfront + └─ EC2 Dedicated Host (reserved, m5) 730 hours $2,330.89 + + aws_ec2_host.host-3yr-no-upfront + └─ EC2 Dedicated Host (reserved, m5) 730 hours $1,598.70 + + aws_ec2_host.mac + └─ EC2 Dedicated Host (on-demand, mac1) 730 hours $790.59 + + aws_ec2_host.host-1yr-partial-upfront + └─ EC2 Dedicated Host (reserved, c5) 730 hours $737.30 + + aws_ec2_host.host-3yr-partial-upfront + └─ EC2 Dedicated Host (reserved, c5) 730 hours $476.69 + + aws_ec2_host.host-1yr-all-upfront + └─ EC2 Dedicated Host (reserved, m5d) 730 hours $0.00 + + aws_ec2_host.host-3yr-all-upfront + └─ EC2 Dedicated Host (reserved, m5d) 730 hours $0.00 + + OVERALL TOTAL $8,391.35 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEC2Host ┃ $8,391 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEC2Host ┃ $8,391 ┃ $0.00 ┃ $8,391 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden index b089cd47be7..33bcdf7b611 100644 --- a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ec2_traffic_mirror_session.session - └─ Traffic mirror 730 hours $10.95 - - OVERALL TOTAL $10.95 + Name Monthly Qty Unit Monthly Cost + + aws_ec2_traffic_mirror_session.session + └─ Traffic mirror 730 hours $10.95 + + OVERALL TOTAL $10.95 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEC2TrafficMirrorSessionGoldenFile ┃ $11 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEC2TrafficMirrorSessionGoldenFile ┃ $11 ┃ $0.00 ┃ $11 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden index d8af4e38619..6fb0685c86b 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ec2_transit_gateway_peering_attachment.peering - └─ Transit gateway attachment 730 hours $36.50 - - OVERALL TOTAL $36.50 + Name Monthly Qty Unit Monthly Cost + + aws_ec2_transit_gateway_peering_attachment.peering + └─ Transit gateway attachment 730 hours $36.50 + + OVERALL TOTAL $36.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEC2TransitGatewayPeeringAttachmentGoldenFile ┃ $37 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEC2TransitGatewayPeeringAttachmentGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden index 02638027bb0..f324086522b 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden @@ -1,17 +1,20 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ec2_transit_gateway_vpc_attachment.vpc_attachment - ├─ Transit gateway attachment 730 hours $36.50 - └─ Data processed Monthly cost depends on usage: $0.02 per GB - - OVERALL TOTAL $36.50 + Name Monthly Qty Unit Monthly Cost + + aws_ec2_transit_gateway_vpc_attachment.vpc_attachment + ├─ Transit gateway attachment 730 hours $36.50 + └─ Data processed Monthly cost depends on usage: $0.02 per GB + + OVERALL TOTAL $36.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEC2TransitGatewayVpcAttachmentGoldenFile ┃ $37 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEC2TransitGatewayVpcAttachmentGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden index 9914b02bb23..8a247da4903 100644 --- a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden +++ b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ecr_repository.repo - └─ Storage 1 GB $0.10 - - aws_ecr_repository.repo1 - └─ Storage Monthly cost depends on usage: $0.10 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_ecr_repository.repo + └─ Storage 1 GB $0.10 * + + aws_ecr_repository.repo1 + └─ Storage Monthly cost depends on usage: $0.10 per GB + OVERALL TOTAL $0.10 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEcrRepositoryGoldenFile ┃ $0.10 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEcrRepositoryGoldenFile ┃ $0.00 ┃ $0.10 ┃ $0.10 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden index 84491f1f805..d8149a630be 100644 --- a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden +++ b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden @@ -1,54 +1,57 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ecs_service.ecs_fargate5 - ├─ Per GB per hour 10 GB $32.45 - ├─ Per vCPU per hour 5 CPU $147.75 - └─ Inference accelerator (eia2.medium) 3,650 hours $438.00 - - aws_ecs_service.ecs_fargate4 - ├─ Per GB per hour 8 GB $25.96 - ├─ Per vCPU per hour 4 CPU $118.20 - └─ Inference accelerator (eia2.medium) 2,920 hours $350.40 - - aws_ecs_service.ecs_fargate3 - ├─ Per GB per hour 6 GB $19.47 - ├─ Per vCPU per hour 3 CPU $88.65 - └─ Inference accelerator (eia2.medium) 2,190 hours $262.80 - - aws_ecs_service.ecs_fargate2 - ├─ Per GB per hour 4 GB $12.98 - ├─ Per vCPU per hour 2 CPU $59.10 - └─ Inference accelerator (eia2.medium) 1,460 hours $175.20 - - aws_ecs_service.ecs_fargate_no_cluster_2 - ├─ Per GB per hour 4 GB $12.98 - ├─ Per vCPU per hour 2 CPU $59.10 - └─ Inference accelerator (eia2.medium) 1,460 hours $175.20 - - aws_ecs_service.ecs_fargate1 - ├─ Per GB per hour 2 GB $6.49 - ├─ Per vCPU per hour 1 CPU $29.55 - └─ Inference accelerator (eia2.medium) 730 hours $87.60 - - aws_ecs_service.ecs_fargate11_family - ├─ Per GB per hour 2 GB $6.49 - ├─ Per vCPU per hour 1 CPU $29.55 - └─ Inference accelerator (eia2.medium) 730 hours $87.60 - - aws_ecs_service.ecs_fargate_no_cluster_1 - ├─ Per GB per hour 2 GB $6.49 - ├─ Per vCPU per hour 1 CPU $29.55 - └─ Inference accelerator (eia2.medium) 730 hours $87.60 - - OVERALL TOTAL $2,349.16 + Name Monthly Qty Unit Monthly Cost + + aws_ecs_service.ecs_fargate5 + ├─ Per GB per hour 10 GB $32.45 + ├─ Per vCPU per hour 5 CPU $147.75 + └─ Inference accelerator (eia2.medium) 3,650 hours $438.00 + + aws_ecs_service.ecs_fargate4 + ├─ Per GB per hour 8 GB $25.96 + ├─ Per vCPU per hour 4 CPU $118.20 + └─ Inference accelerator (eia2.medium) 2,920 hours $350.40 + + aws_ecs_service.ecs_fargate3 + ├─ Per GB per hour 6 GB $19.47 + ├─ Per vCPU per hour 3 CPU $88.65 + └─ Inference accelerator (eia2.medium) 2,190 hours $262.80 + + aws_ecs_service.ecs_fargate2 + ├─ Per GB per hour 4 GB $12.98 + ├─ Per vCPU per hour 2 CPU $59.10 + └─ Inference accelerator (eia2.medium) 1,460 hours $175.20 + + aws_ecs_service.ecs_fargate_no_cluster_2 + ├─ Per GB per hour 4 GB $12.98 + ├─ Per vCPU per hour 2 CPU $59.10 + └─ Inference accelerator (eia2.medium) 1,460 hours $175.20 + + aws_ecs_service.ecs_fargate1 + ├─ Per GB per hour 2 GB $6.49 + ├─ Per vCPU per hour 1 CPU $29.55 + └─ Inference accelerator (eia2.medium) 730 hours $87.60 + + aws_ecs_service.ecs_fargate11_family + ├─ Per GB per hour 2 GB $6.49 + ├─ Per vCPU per hour 1 CPU $29.55 + └─ Inference accelerator (eia2.medium) 730 hours $87.60 + + aws_ecs_service.ecs_fargate_no_cluster_1 + ├─ Per GB per hour 2 GB $6.49 + ├─ Per vCPU per hour 1 CPU $29.55 + └─ Inference accelerator (eia2.medium) 730 hours $87.60 + + OVERALL TOTAL $2,349.16 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 22 cloud resources were detected: ∙ 8 were estimated ∙ 14 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestECSServiceGoldenFile ┃ $2,349 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestECSServiceGoldenFile ┃ $2,349 ┃ $0.00 ┃ $2,349 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden index e10d29ad6d1..337200ffd7c 100644 --- a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden @@ -1,38 +1,41 @@ - Name Monthly Qty Unit Monthly Cost - - aws_efs_file_system.provisioned - ├─ Storage (standard) 230 GB $69.00 - └─ Provisioned throughput 88.5 MBps $531.00 - - aws_efs_file_system.standard - ├─ Storage (standard) 230 GB $69.00 - ├─ Storage (standard, infrequent access) 100 GB $2.50 - ├─ Read requests (infrequent access) 50 GB $0.50 - └─ Write requests (infrequent access) 100 GB $1.00 - - aws_efs_file_system.oneZone - ├─ Storage (one zone) 230 GB $36.80 - ├─ Storage (one zone, infrequent access) 100 GB $1.33 - ├─ Read requests (infrequent access) 50 GB $0.50 - └─ Write requests (infrequent access) 100 GB $1.00 - - aws_efs_file_system.no_usage - └─ Storage (one zone) Monthly cost depends on usage: $0.16 per GB - - aws_efs_file_system.no_usage_with_lifecycle_policy - ├─ Storage (one zone) Monthly cost depends on usage: $0.16 per GB - ├─ Storage (one zone, infrequent access) Monthly cost depends on usage: $0.0133 per GB - ├─ Read requests (infrequent access) Monthly cost depends on usage: $0.01 per GB - └─ Write requests (infrequent access) Monthly cost depends on usage: $0.01 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_efs_file_system.provisioned + ├─ Storage (standard) 230 GB $69.00 * + └─ Provisioned throughput 88.5 MBps $531.00 * + + aws_efs_file_system.standard + ├─ Storage (standard) 230 GB $69.00 * + ├─ Storage (standard, infrequent access) 100 GB $2.50 * + ├─ Read requests (infrequent access) 50 GB $0.50 * + └─ Write requests (infrequent access) 100 GB $1.00 * + + aws_efs_file_system.oneZone + ├─ Storage (one zone) 230 GB $36.80 * + ├─ Storage (one zone, infrequent access) 100 GB $1.33 * + ├─ Read requests (infrequent access) 50 GB $0.50 * + └─ Write requests (infrequent access) 100 GB $1.00 * + + aws_efs_file_system.no_usage + └─ Storage (one zone) Monthly cost depends on usage: $0.16 per GB + + aws_efs_file_system.no_usage_with_lifecycle_policy + ├─ Storage (one zone) Monthly cost depends on usage: $0.16 per GB + ├─ Storage (one zone, infrequent access) Monthly cost depends on usage: $0.0133 per GB + ├─ Read requests (infrequent access) Monthly cost depends on usage: $0.01 per GB + └─ Write requests (infrequent access) Monthly cost depends on usage: $0.01 per GB + OVERALL TOTAL $712.63 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNewEFSFileSystemStandardStorage ┃ $713 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNewEFSFileSystemStandardStorage ┃ $0.00 ┃ $713 ┃ $713 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden index bc123547e13..9c9dece89d1 100644 --- a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden +++ b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden @@ -1,30 +1,33 @@ - Name Monthly Qty Unit Monthly Cost - - aws_nat_gateway.nat_gw - ├─ NAT gateway 730 hours $32.85 - └─ Data processed Monthly cost depends on usage: $0.045 per GB - - aws_instance.instance - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_lb.example - ├─ Network load balancer 730 hours $16.43 - └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU - - aws_eip.eip1 - └─ IP address (if unused) 730 hours $3.65 - - OVERALL TOTAL $84.09 + Name Monthly Qty Unit Monthly Cost + + aws_nat_gateway.nat_gw + ├─ NAT gateway 730 hours $32.85 + └─ Data processed Monthly cost depends on usage: $0.045 per GB + + aws_instance.instance + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_lb.example + ├─ Network load balancer 730 hours $16.43 + └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU + + aws_eip.eip1 + └─ IP address (if unused) 730 hours $3.65 + + OVERALL TOTAL $84.09 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 4 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEIP ┃ $84 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEIP ┃ $84 ┃ $0.00 ┃ $84 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden index fa55b1ca53a..57a5b04a3f1 100644 --- a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden @@ -1,37 +1,40 @@ - Name Monthly Qty Unit Monthly Cost - - aws_eks_cluster.extended_support["1.23"] - └─ EKS cluster (extended support) 730 hours $438.00 - - aws_eks_cluster.extended_support["1.24"] - └─ EKS cluster (extended support) 730 hours $438.00 - - aws_eks_cluster.extended_support["1.25"] - └─ EKS cluster 730 hours $73.00 - - aws_eks_cluster.extended_support["1.26"] - └─ EKS cluster 730 hours $73.00 - - aws_eks_cluster.extended_support["1.27"] - └─ EKS cluster 730 hours $73.00 - - aws_eks_cluster.extended_support["1.28"] - └─ EKS cluster 730 hours $73.00 - - aws_eks_cluster.extended_support["1.29"] - └─ EKS cluster 730 hours $73.00 - - aws_eks_cluster.my_aws_eks_cluster - └─ EKS cluster 730 hours $73.00 - - OVERALL TOTAL $1,314.00 + Name Monthly Qty Unit Monthly Cost + + aws_eks_cluster.extended_support["1.23"] + └─ EKS cluster (extended support) 730 hours $438.00 + + aws_eks_cluster.extended_support["1.24"] + └─ EKS cluster (extended support) 730 hours $438.00 + + aws_eks_cluster.extended_support["1.25"] + └─ EKS cluster 730 hours $73.00 + + aws_eks_cluster.extended_support["1.26"] + └─ EKS cluster 730 hours $73.00 + + aws_eks_cluster.extended_support["1.27"] + └─ EKS cluster 730 hours $73.00 + + aws_eks_cluster.extended_support["1.28"] + └─ EKS cluster 730 hours $73.00 + + aws_eks_cluster.extended_support["1.29"] + └─ EKS cluster 730 hours $73.00 + + aws_eks_cluster.my_aws_eks_cluster + └─ EKS cluster 730 hours $73.00 + + OVERALL TOTAL $1,314.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEKSClusterGoldenFile ┃ $1,314 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEKSClusterGoldenFile ┃ $1,314 ┃ $0.00 ┃ $1,314 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden index 53d88b509f4..d2cd725a42b 100644 --- a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - aws_eks_cluster.example - └─ EKS cluster 730 hours $73.00 - - aws_eks_fargate_profile.example - ├─ Per GB per hour 1 GB $3.24 - └─ Per vCPU per hour 1 CPU $29.55 - - OVERALL TOTAL $105.80 + Name Monthly Qty Unit Monthly Cost + + aws_eks_cluster.example + └─ EKS cluster 730 hours $73.00 + + aws_eks_fargate_profile.example + ├─ Per GB per hour 1 GB $3.24 + └─ Per vCPU per hour 1 CPU $29.55 + + OVERALL TOTAL $105.80 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEKSFargateProfileGoldenFile ┃ $106 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEKSFargateProfileGoldenFile ┃ $106 ┃ $0.00 ┃ $106 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden index 2cc0f8e86b2..8fdb6465705 100644 --- a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden @@ -1,77 +1,80 @@ - Name Monthly Qty Unit Monthly Cost - - aws_eks_node_group.example_with_launch_template_2 - └─ aws_launch_template.foo2 - ├─ Instance usage (Linux/UNIX, on-demand, m5.xlarge) 2,190 hours $420.48 - ├─ EBS-optimized usage 2,190 hours $0.00 - ├─ Inference accelerator (eia1.medium) 2,190 hours $284.70 - └─ block_device_mapping[0] - └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - - aws_eks_node_group.example_with_launch_template_3 - └─ aws_launch_template.foo3 - ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 2,190 hours $210.24 - ├─ EBS-optimized usage 2,190 hours $0.00 - ├─ Inference accelerator (eia1.medium) 2,190 hours $284.70 - └─ block_device_mapping[0] - └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - - aws_eks_node_group.example_with_launch_template - └─ aws_launch_template.foo - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 2,190 hours $91.10 - ├─ Inference accelerator (eia1.medium) 2,190 hours $284.70 - ├─ CPU credits 2,100 vCPU-hours $105.00 - └─ block_device_mapping[0] - └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - - aws_eks_node_group.example_with_launch_template_instance_types_default - └─ aws_launch_template.bar - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 2,190 hours $91.10 - ├─ Inference accelerator (eia1.medium) 2,190 hours $284.70 - └─ block_device_mapping[0] - └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - - aws_eks_node_group.lt_usage - └─ aws_launch_template.lt_usage - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 4,380 hours $203.23 - └─ block_device_mapping[0] - └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - - aws_eks_node_group.usage - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 4,380 hours $182.21 - └─ Storage (general purpose SSD, gp2) 120 GB $12.00 - - aws_eks_node_group.example_defaultCpuCredits - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 2,190 hours $91.10 - └─ Storage (general purpose SSD, gp2) 60 GB $6.00 - - aws_eks_node_group.reserved - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $19.05 - ├─ CPU credits 700 vCPU-hours $35.00 - └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - - aws_eks_node_group.windows - ├─ Instance usage (Windows, on-demand, t3.medium) 730 hours $43.80 - ├─ CPU credits 200 vCPU-hours $10.00 - └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - - aws_eks_node_group.example2 - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 - └─ Storage (general purpose SSD, gp2) 30 GB $3.00 - - aws_eks_node_group.example - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 - └─ Storage (general purpose SSD, gp2) 20 GB $2.00 - - OVERALL TOTAL $2,762.37 + Name Monthly Qty Unit Monthly Cost + + aws_eks_node_group.example_with_launch_template_2 + └─ aws_launch_template.foo2 + ├─ Instance usage (Linux/UNIX, on-demand, m5.xlarge) 2,190 hours $420.48 + ├─ EBS-optimized usage 2,190 hours $0.00 + ├─ Inference accelerator (eia1.medium) 2,190 hours $284.70 + └─ block_device_mapping[0] + └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + + aws_eks_node_group.example_with_launch_template_3 + └─ aws_launch_template.foo3 + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 2,190 hours $210.24 + ├─ EBS-optimized usage 2,190 hours $0.00 + ├─ Inference accelerator (eia1.medium) 2,190 hours $284.70 + └─ block_device_mapping[0] + └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + + aws_eks_node_group.example_with_launch_template + └─ aws_launch_template.foo + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 2,190 hours $91.10 + ├─ Inference accelerator (eia1.medium) 2,190 hours $284.70 + ├─ CPU credits 2,100 vCPU-hours $105.00 + └─ block_device_mapping[0] + └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + + aws_eks_node_group.example_with_launch_template_instance_types_default + └─ aws_launch_template.bar + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 2,190 hours $91.10 + ├─ Inference accelerator (eia1.medium) 2,190 hours $284.70 + └─ block_device_mapping[0] + └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + + aws_eks_node_group.lt_usage + └─ aws_launch_template.lt_usage + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 4,380 hours $203.23 + └─ block_device_mapping[0] + └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + + aws_eks_node_group.usage + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 4,380 hours $182.21 + └─ Storage (general purpose SSD, gp2) 120 GB $12.00 + + aws_eks_node_group.example_defaultCpuCredits + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 2,190 hours $91.10 + └─ Storage (general purpose SSD, gp2) 60 GB $6.00 + + aws_eks_node_group.reserved + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $19.05 + ├─ CPU credits 700 vCPU-hours $35.00 + └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + + aws_eks_node_group.windows + ├─ Instance usage (Windows, on-demand, t3.medium) 730 hours $43.80 + ├─ CPU credits 200 vCPU-hours $10.00 + └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + + aws_eks_node_group.example2 + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 + └─ Storage (general purpose SSD, gp2) 30 GB $3.00 + + aws_eks_node_group.example + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 + └─ Storage (general purpose SSD, gp2) 20 GB $2.00 + + OVERALL TOTAL $2,762.37 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 16 cloud resources were detected: ∙ 11 were estimated ∙ 5 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEKSNodeGroupGoldenFile ┃ $2,762 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEKSNodeGroupGoldenFile ┃ $2,762 ┃ $0.00 ┃ $2,762 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden index e3f9c44abbe..a6ec6f53fb0 100644 --- a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden @@ -1,84 +1,87 @@ - Name Monthly Qty Unit Monthly Cost - - aws_elastic_beanstalk_environment.my_eb_environment_with_usage - ├─ aws_launch_configuration - │ ├─ Instance usage (Linux/UNIX, on-demand, c4.large) 2,920 hours $329.96 - │ └─ aws_ebs_volume - │ ├─ Storage (provisioned IOPS SSD, io1) 32 GB $4.42 - │ └─ Provisioned IOPS 1,200 IOPS $86.40 - ├─ aws_cloudwatch_log_group - │ ├─ Data ingested 1,000 GB $570.00 - │ ├─ Archival Storage 1,000 GB $30.00 - │ └─ Insights queries data scanned 200 GB $1.14 - └─ aws_elb - ├─ Classic load balancer 730 hours $20.44 - └─ Data processed 10,000 GB $80.00 - - aws_elastic_beanstalk_environment.my_eb_environment_with_rds - ├─ aws_launch_configuration - │ ├─ Instance usage (Linux/UNIX, on-demand, t3.small) 1,460 hours $33.29 - │ └─ aws_ebs_volume - │ └─ Storage (general purpose SSD, gp2) 16 GB $1.76 - ├─ aws_db_instance - │ ├─ Database instance (on-demand, Multi-AZ, db.m6g.xlarge) 730 hours $513.92 - │ ├─ Storage (general purpose SSD, gp2) 100 GB $25.30 - │ └─ Additional backup storage 1,000 GB $95.00 - └─ aws_loadbalancer - ├─ Network load balancer 730 hours $18.40 - └─ Load balancer capacity units 34.2465 LCU $150.00 - - aws_elastic_beanstalk_environment.my_eb_environment_with_rds_no_usage - ├─ aws_launch_configuration - │ ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 1,460 hours $133.15 - │ └─ aws_ebs_volume - │ └─ Storage (general purpose SSD, gp2) 16 GB $1.76 - ├─ aws_db_instance - │ ├─ Database instance (on-demand, Multi-AZ, db.m6g.xlarge) 730 hours $513.92 - │ └─ Storage (general purpose SSD, gp2) 20 GB $5.06 - ├─ aws_cloudwatch_log_group - │ ├─ Data ingested Monthly cost depends on usage: $0.57 per GB - │ ├─ Archival Storage Monthly cost depends on usage: $0.03 per GB - │ └─ Insights queries data scanned Monthly cost depends on usage: $0.0057 per GB - └─ aws_loadbalancer - ├─ Network load balancer 730 hours $18.40 - └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU - - aws_elastic_beanstalk_environment.my_eb_environment_asg_instance_types - ├─ aws_launch_configuration - │ ├─ Instance usage (Linux/UNIX, on-demand, t3a.xlarge) 730 hours $119.14 - │ └─ aws_ebs_volume - │ └─ Storage (general purpose SSD, gp2) 8 GB $0.88 - └─ aws_loadbalancer - ├─ Network load balancer 730 hours $18.40 - └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU - - aws_elastic_beanstalk_environment.my_eb_environment_asg_instance_type - ├─ aws_launch_configuration - │ ├─ Instance usage (Linux/UNIX, on-demand, t3a.large) 730 hours $59.57 - │ └─ aws_ebs_volume - │ └─ Storage (general purpose SSD, gp2) 8 GB $0.88 - └─ aws_loadbalancer - ├─ Network load balancer 730 hours $18.40 - └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU - - aws_elastic_beanstalk_environment.my_eb_environment - ├─ aws_launch_configuration - │ ├─ Instance usage (Linux/UNIX, on-demand, t3.small) 730 hours $16.64 - │ └─ aws_ebs_volume - │ └─ Storage (general purpose SSD, gp2) 8 GB $0.88 - └─ aws_loadbalancer - ├─ Network load balancer 730 hours $18.40 - └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU - + Name Monthly Qty Unit Monthly Cost + + aws_elastic_beanstalk_environment.my_eb_environment_with_usage + ├─ aws_launch_configuration + │ ├─ Instance usage (Linux/UNIX, on-demand, c4.large) 2,920 hours $329.96 + │ └─ aws_ebs_volume + │ ├─ Storage (provisioned IOPS SSD, io1) 32 GB $4.42 + │ └─ Provisioned IOPS 1,200 IOPS $86.40 + ├─ aws_cloudwatch_log_group + │ ├─ Data ingested 1,000 GB $570.00 * + │ ├─ Archival Storage 1,000 GB $30.00 * + │ └─ Insights queries data scanned 200 GB $1.14 * + └─ aws_elb + ├─ Classic load balancer 730 hours $20.44 + └─ Data processed 10,000 GB $80.00 * + + aws_elastic_beanstalk_environment.my_eb_environment_with_rds + ├─ aws_launch_configuration + │ ├─ Instance usage (Linux/UNIX, on-demand, t3.small) 1,460 hours $33.29 + │ └─ aws_ebs_volume + │ └─ Storage (general purpose SSD, gp2) 16 GB $1.76 + ├─ aws_db_instance + │ ├─ Database instance (on-demand, Multi-AZ, db.m6g.xlarge) 730 hours $513.92 + │ ├─ Storage (general purpose SSD, gp2) 100 GB $25.30 + │ └─ Additional backup storage 1,000 GB $95.00 * + └─ aws_loadbalancer + ├─ Network load balancer 730 hours $18.40 + └─ Load balancer capacity units 34.2465 LCU $150.00 * + + aws_elastic_beanstalk_environment.my_eb_environment_with_rds_no_usage + ├─ aws_launch_configuration + │ ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 1,460 hours $133.15 + │ └─ aws_ebs_volume + │ └─ Storage (general purpose SSD, gp2) 16 GB $1.76 + ├─ aws_db_instance + │ ├─ Database instance (on-demand, Multi-AZ, db.m6g.xlarge) 730 hours $513.92 + │ └─ Storage (general purpose SSD, gp2) 20 GB $5.06 + ├─ aws_cloudwatch_log_group + │ ├─ Data ingested Monthly cost depends on usage: $0.57 per GB + │ ├─ Archival Storage Monthly cost depends on usage: $0.03 per GB + │ └─ Insights queries data scanned Monthly cost depends on usage: $0.0057 per GB + └─ aws_loadbalancer + ├─ Network load balancer 730 hours $18.40 + └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU + + aws_elastic_beanstalk_environment.my_eb_environment_asg_instance_types + ├─ aws_launch_configuration + │ ├─ Instance usage (Linux/UNIX, on-demand, t3a.xlarge) 730 hours $119.14 + │ └─ aws_ebs_volume + │ └─ Storage (general purpose SSD, gp2) 8 GB $0.88 + └─ aws_loadbalancer + ├─ Network load balancer 730 hours $18.40 + └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU + + aws_elastic_beanstalk_environment.my_eb_environment_asg_instance_type + ├─ aws_launch_configuration + │ ├─ Instance usage (Linux/UNIX, on-demand, t3a.large) 730 hours $59.57 + │ └─ aws_ebs_volume + │ └─ Storage (general purpose SSD, gp2) 8 GB $0.88 + └─ aws_loadbalancer + ├─ Network load balancer 730 hours $18.40 + └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU + + aws_elastic_beanstalk_environment.my_eb_environment + ├─ aws_launch_configuration + │ ├─ Instance usage (Linux/UNIX, on-demand, t3.small) 730 hours $16.64 + │ └─ aws_ebs_volume + │ └─ Storage (general purpose SSD, gp2) 8 GB $0.88 + └─ aws_loadbalancer + ├─ Network load balancer 730 hours $18.40 + └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU + OVERALL TOTAL $2,885.48 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 6 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestElasticBeanstalkEnvironmentGoldenFile ┃ $2,885 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestElasticBeanstalkEnvironmentGoldenFile ┃ $1,959 ┃ $926 ┃ $2,885 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden index 43af3287ae4..cb0d6eb8673 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden @@ -1,36 +1,39 @@ - Name Monthly Qty Unit Monthly Cost - - aws_elasticache_cluster.redis_snapshot_usage - ├─ ElastiCache (on-demand, cache.m6g.12xlarge) 730 hours $2,596.61 - └─ Backup storage 10,000 GB $850.00 - - aws_elasticache_cluster.redis - └─ ElastiCache (on-demand, cache.m6g.12xlarge) 730 hours $2,596.61 - - aws_elasticache_cluster.redis_snapshot - ├─ ElastiCache (on-demand, cache.m6g.12xlarge) 730 hours $2,596.61 - └─ Backup storage Monthly cost depends on usage: $0.085 per GB - - aws_elasticache_cluster.redis_reserved_1yr_no_upfront - └─ ElastiCache (reserved, cache.m6g.12xlarge) 730 hours $1,772.44 - - aws_elasticache_cluster.redis_reserved_1yr_partial_upfront - └─ ElastiCache (reserved, cache.m6g.12xlarge) 730 hours $843.88 - - aws_elasticache_cluster.memcached - └─ ElastiCache (on-demand, cache.m4.large) 1,460 hours $227.76 - - aws_elasticache_cluster.redis_reserved_1yr_all_upfront - └─ ElastiCache (reserved, cache.m6g.12xlarge) 730 hours $0.00 - + Name Monthly Qty Unit Monthly Cost + + aws_elasticache_cluster.redis_snapshot_usage + ├─ ElastiCache (on-demand, cache.m6g.12xlarge) 730 hours $2,596.61 + └─ Backup storage 10,000 GB $850.00 * + + aws_elasticache_cluster.redis + └─ ElastiCache (on-demand, cache.m6g.12xlarge) 730 hours $2,596.61 + + aws_elasticache_cluster.redis_snapshot + ├─ ElastiCache (on-demand, cache.m6g.12xlarge) 730 hours $2,596.61 + └─ Backup storage Monthly cost depends on usage: $0.085 per GB + + aws_elasticache_cluster.redis_reserved_1yr_no_upfront + └─ ElastiCache (reserved, cache.m6g.12xlarge) 730 hours $1,772.44 + + aws_elasticache_cluster.redis_reserved_1yr_partial_upfront + └─ ElastiCache (reserved, cache.m6g.12xlarge) 730 hours $843.88 + + aws_elasticache_cluster.memcached + └─ ElastiCache (on-demand, cache.m4.large) 1,460 hours $227.76 + + aws_elasticache_cluster.redis_reserved_1yr_all_upfront + └─ ElastiCache (reserved, cache.m6g.12xlarge) 730 hours $0.00 + OVERALL TOTAL $11,483.91 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 7 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestElastiCacheCluster ┃ $11,484 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestElastiCacheCluster ┃ $10,634 ┃ $850 ┃ $11,484 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden index a16edd01a08..a62cab427a0 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden @@ -1,32 +1,35 @@ - Name Monthly Qty Unit Monthly Cost - - aws_elasticache_replication_group.non-cluster-snapshot - ├─ ElastiCache (on-demand, cache.m6g.12xlarge) 2,190 hours $7,789.83 - └─ Backup storage Monthly cost depends on usage: $0.085 per GB - - aws_elasticache_replication_group.cluster-autoscale - └─ ElastiCache (on-demand, cache.m4.large, autoscaling) 35,040 hours $5,466.24 - - aws_elasticache_replication_group.cluster-autoscale-usage - └─ ElastiCache (on-demand, cache.m4.large, autoscaling) 29,200 hours $4,555.20 - - aws_elasticache_replication_group.non-cluster - └─ ElastiCache (on-demand, cache.r5.4xlarge) 2,190 hours $3,775.56 - - aws_elasticache_replication_group.cluster - └─ ElastiCache (on-demand, cache.m4.large) 11,680 hours $1,822.08 - - aws_elasticache_replication_group.cluster_reserved - └─ ElastiCache (reserved, cache.m6g.12xlarge) 2,190 hours $0.00 - + Name Monthly Qty Unit Monthly Cost + + aws_elasticache_replication_group.non-cluster-snapshot + ├─ ElastiCache (on-demand, cache.m6g.12xlarge) 2,190 hours $7,789.83 + └─ Backup storage Monthly cost depends on usage: $0.085 per GB + + aws_elasticache_replication_group.cluster-autoscale + └─ ElastiCache (on-demand, cache.m4.large, autoscaling) 35,040 hours $5,466.24 * + + aws_elasticache_replication_group.cluster-autoscale-usage + └─ ElastiCache (on-demand, cache.m4.large, autoscaling) 29,200 hours $4,555.20 * + + aws_elasticache_replication_group.non-cluster + └─ ElastiCache (on-demand, cache.r5.4xlarge) 2,190 hours $3,775.56 + + aws_elasticache_replication_group.cluster + └─ ElastiCache (on-demand, cache.m4.large) 11,680 hours $1,822.08 + + aws_elasticache_replication_group.cluster_reserved + └─ ElastiCache (reserved, cache.m6g.12xlarge) 2,190 hours $0.00 + OVERALL TOTAL $23,408.91 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 9 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestElastiCacheReplicationGroup ┃ $23,409 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestElastiCacheReplicationGroup ┃ $13,387 ┃ $10,021 ┃ $23,409 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden index 82db5dce145..a2ed788adab 100644 --- a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden @@ -1,70 +1,73 @@ - Name Monthly Qty Unit Monthly Cost - - aws_elasticsearch_domain.gp2 - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 2,190 hours $1,285.53 - ├─ Storage (gp2) 400 GB $54.00 - ├─ Dedicated master (on-demand, c4.8xlarge.elasticsearch) 730 hours $1,713.31 - └─ UltraWarm instance (on-demand, ultrawarm1.medium.elasticsearch) 1,460 hours $347.48 - - aws_elasticsearch_domain.gp3 - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 2,190 hours $1,285.53 - ├─ Storage (gp3) 400 GB $48.80 - ├─ Dedicated master (on-demand, c4.8xlarge.elasticsearch) 730 hours $1,713.31 - └─ UltraWarm instance (on-demand, ultrawarm1.medium.elasticsearch) 1,460 hours $347.48 - - aws_elasticsearch_domain.io1 - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 2,190 hours $1,285.53 - ├─ Storage (io1) 1,000 GB $169.00 - └─ Storage IOPS (io1) 10 IOPS $0.88 - - aws_elasticsearch_domain.gp3_throughput["above_3TB_paid_mul"] - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 1,460 hours $857.02 - ├─ Storage (gp3) 4,000 GB $488.00 - └─ Throughput (gp3) 400 Mbps $25.60 - - aws_elasticsearch_domain.std - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 2,190 hours $1,285.53 - └─ Storage (standard) 123 GB $8.24 - - aws_elasticsearch_domain.gp3_throughput["above_3TB_free_round_up"] - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 - └─ Storage (gp3) 5,000 GB $610.00 - - aws_elasticsearch_domain.gp3_throughput["above_3TB_paid"] - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 - ├─ Storage (gp3) 4,000 GB $488.00 - └─ Throughput (gp3) 200 Mbps $12.80 - - aws_elasticsearch_domain.gp3_throughput["below_min_storage_mul_paid"] - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 1,460 hours $857.02 - ├─ Storage (gp3) 150 GB $18.30 - └─ Throughput (gp3) 150 Mbps $9.60 - - aws_elasticsearch_domain.gp3_throughput["above_3TB_free"] - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 - └─ Storage (gp3) 3,500 GB $427.00 - - aws_elasticsearch_domain.gp3_throughput["below_min_storage_paid"] - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 - ├─ Storage (gp3) 150 GB $18.30 - └─ Throughput (gp3) 75 Mbps $4.80 - - aws_elasticsearch_domain.gp3_throughput["above_min_storage_free"] - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 - └─ Storage (gp3) 180 GB $21.96 - - aws_elasticsearch_domain.gp3_throughput["below_min_storage_free"] - ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 - └─ Storage (gp3) 150 GB $18.30 - - OVERALL TOTAL $15,972.38 + Name Monthly Qty Unit Monthly Cost + + aws_elasticsearch_domain.gp2 + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 2,190 hours $1,285.53 + ├─ Storage (gp2) 400 GB $54.00 + ├─ Dedicated master (on-demand, c4.8xlarge.elasticsearch) 730 hours $1,713.31 + └─ UltraWarm instance (on-demand, ultrawarm1.medium.elasticsearch) 1,460 hours $347.48 + + aws_elasticsearch_domain.gp3 + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 2,190 hours $1,285.53 + ├─ Storage (gp3) 400 GB $48.80 + ├─ Dedicated master (on-demand, c4.8xlarge.elasticsearch) 730 hours $1,713.31 + └─ UltraWarm instance (on-demand, ultrawarm1.medium.elasticsearch) 1,460 hours $347.48 + + aws_elasticsearch_domain.io1 + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 2,190 hours $1,285.53 + ├─ Storage (io1) 1,000 GB $169.00 + └─ Storage IOPS (io1) 10 IOPS $0.88 + + aws_elasticsearch_domain.gp3_throughput["above_3TB_paid_mul"] + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 1,460 hours $857.02 + ├─ Storage (gp3) 4,000 GB $488.00 + └─ Throughput (gp3) 400 Mbps $25.60 + + aws_elasticsearch_domain.std + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 2,190 hours $1,285.53 + └─ Storage (standard) 123 GB $8.24 + + aws_elasticsearch_domain.gp3_throughput["above_3TB_free_round_up"] + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 + └─ Storage (gp3) 5,000 GB $610.00 + + aws_elasticsearch_domain.gp3_throughput["above_3TB_paid"] + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 + ├─ Storage (gp3) 4,000 GB $488.00 + └─ Throughput (gp3) 200 Mbps $12.80 + + aws_elasticsearch_domain.gp3_throughput["below_min_storage_mul_paid"] + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 1,460 hours $857.02 + ├─ Storage (gp3) 150 GB $18.30 + └─ Throughput (gp3) 150 Mbps $9.60 + + aws_elasticsearch_domain.gp3_throughput["above_3TB_free"] + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 + └─ Storage (gp3) 3,500 GB $427.00 + + aws_elasticsearch_domain.gp3_throughput["below_min_storage_paid"] + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 + ├─ Storage (gp3) 150 GB $18.30 + └─ Throughput (gp3) 75 Mbps $4.80 + + aws_elasticsearch_domain.gp3_throughput["above_min_storage_free"] + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 + └─ Storage (gp3) 180 GB $21.96 + + aws_elasticsearch_domain.gp3_throughput["below_min_storage_free"] + ├─ Instance (on-demand, c4.2xlarge.elasticsearch) 730 hours $428.51 + └─ Storage (gp3) 150 GB $18.30 + + OVERALL TOTAL $15,972.38 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 12 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestElasticsearchDomain ┃ $15,972 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestElasticsearchDomain ┃ $15,972 ┃ $0.00 ┃ $15,972 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden index 78b858c4e44..0366673ec6c 100644 --- a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden +++ b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_elb.my_elb - ├─ Classic load balancer 730 hours $18.25 - └─ Data processed 10,000 GB $80.00 - - aws_elb.elb1 - ├─ Classic load balancer 730 hours $18.25 - └─ Data processed Monthly cost depends on usage: $0.008 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_elb.my_elb + ├─ Classic load balancer 730 hours $18.25 + └─ Data processed 10,000 GB $80.00 * + + aws_elb.elb1 + ├─ Classic load balancer 730 hours $18.25 + └─ Data processed Monthly cost depends on usage: $0.008 per GB + OVERALL TOTAL $116.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestELB ┃ $117 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestELB ┃ $37 ┃ $80 ┃ $117 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden index bdac84d442d..cbd3e7afce1 100644 --- a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - aws_fsx_openzfs_file_system.my_iops_system_ssd - ├─ Throughput capacity 1,024 MBps $266.24 - ├─ Provisioned IOPS 100 IOPS $0.60 - ├─ SSD storage 300 GB $27.00 - └─ Backup storage Monthly cost depends on usage: $0.05 per GB - - aws_fsx_openzfs_file_system.my_simple_system_ssd - ├─ Throughput capacity 1,024 MBps $266.24 - ├─ SSD storage 300 GB $27.00 - └─ Backup storage Monthly cost depends on usage: $0.05 per GB - - aws_fsx_openzfs_file_system.my_compressed_system_ssd - ├─ Throughput capacity 1,024 MBps $266.24 - ├─ SSD storage (LZ4 compression, 40%) 180 GB $16.20 - └─ Backup storage Monthly cost depends on usage: $0.05 per GB - - aws_fsx_openzfs_file_system.my_compressed_default_system_ssd - ├─ Throughput capacity 1,024 MBps $266.24 - ├─ SSD storage (LZ4 compression, 50%) 150 GB $13.50 - └─ Backup storage Monthly cost depends on usage: $0.05 per GB - - OVERALL TOTAL $1,149.26 + Name Monthly Qty Unit Monthly Cost + + aws_fsx_openzfs_file_system.my_iops_system_ssd + ├─ Throughput capacity 1,024 MBps $266.24 + ├─ Provisioned IOPS 100 IOPS $0.60 + ├─ SSD storage 300 GB $27.00 + └─ Backup storage Monthly cost depends on usage: $0.05 per GB + + aws_fsx_openzfs_file_system.my_simple_system_ssd + ├─ Throughput capacity 1,024 MBps $266.24 + ├─ SSD storage 300 GB $27.00 + └─ Backup storage Monthly cost depends on usage: $0.05 per GB + + aws_fsx_openzfs_file_system.my_compressed_system_ssd + ├─ Throughput capacity 1,024 MBps $266.24 + ├─ SSD storage (LZ4 compression, 40%) 180 GB $16.20 + └─ Backup storage Monthly cost depends on usage: $0.05 per GB + + aws_fsx_openzfs_file_system.my_compressed_default_system_ssd + ├─ Throughput capacity 1,024 MBps $266.24 + ├─ SSD storage (LZ4 compression, 50%) 150 GB $13.50 + └─ Backup storage Monthly cost depends on usage: $0.05 per GB + + OVERALL TOTAL $1,149.26 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestFSXOpenZFSFS ┃ $1,149 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestFSXOpenZFSFS ┃ $1,149 ┃ $0.00 ┃ $1,149 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden index 86b6d9723e7..a5ca5eb0291 100644 --- a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden @@ -1,33 +1,36 @@ - Name Monthly Qty Unit Monthly Cost - - aws_fsx_windows_file_system.my_system_ssd - ├─ Throughput capacity 1,024 MBps $4,608.00 - ├─ SSD storage 300 GB $69.00 - └─ Backup storage 10,000 GB $500.00 - - aws_fsx_windows_file_system.my_system - ├─ Throughput capacity 1,024 MBps $4,608.00 - ├─ HDD storage 300 GB $7.50 - └─ Backup storage 10,000 GB $500.00 - - aws_fsx_windows_file_system.my_file_system_ssd - ├─ Throughput capacity 1,024 MBps $4,608.00 - ├─ SSD storage 300 GB $69.00 - └─ Backup storage Monthly cost depends on usage: $0.05 per GB - - aws_fsx_windows_file_system.my_file_system - ├─ Throughput capacity 1,024 MBps $4,608.00 - ├─ HDD storage 300 GB $7.50 - └─ Backup storage Monthly cost depends on usage: $0.05 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_fsx_windows_file_system.my_system_ssd + ├─ Throughput capacity 1,024 MBps $4,608.00 + ├─ SSD storage 300 GB $69.00 + └─ Backup storage 10,000 GB $500.00 * + + aws_fsx_windows_file_system.my_system + ├─ Throughput capacity 1,024 MBps $4,608.00 + ├─ HDD storage 300 GB $7.50 + └─ Backup storage 10,000 GB $500.00 * + + aws_fsx_windows_file_system.my_file_system_ssd + ├─ Throughput capacity 1,024 MBps $4,608.00 + ├─ SSD storage 300 GB $69.00 + └─ Backup storage Monthly cost depends on usage: $0.05 per GB + + aws_fsx_windows_file_system.my_file_system + ├─ Throughput capacity 1,024 MBps $4,608.00 + ├─ HDD storage 300 GB $7.50 + └─ Backup storage Monthly cost depends on usage: $0.05 per GB + OVERALL TOTAL $19,585.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestFSXWindowsFS ┃ $19,585 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestFSXWindowsFS ┃ $18,585 ┃ $1,000 ┃ $19,585 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden index e00646466ff..9ece0df0bcb 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden @@ -1,39 +1,42 @@ - Name Monthly Qty Unit Monthly Cost - - aws_globalaccelerator_endpoint_group.eu_west_1 - ├─ US, Mexico, Canada - │ └─ Inbound DT-premium fee 12,340,000 GB $185,100.00 - ├─ Europe - │ └─ Inbound DT-premium fee 22,340,000 GB $335,100.00 - ├─ South Africa, Kenya - │ └─ Inbound DT-premium fee 32,340,000 GB $2,166,780.00 - ├─ South America - │ └─ Inbound DT-premium fee 42,340,000 GB $1,820,620.00 - ├─ South Korea - │ └─ Inbound DT-premium fee 52,340,000 GB $1,831,900.00 - ├─ Middle East - │ └─ Inbound DT-premium fee 52,340,000 GB $1,831,900.00 - ├─ Australia, New Zealand - │ └─ Inbound DT-premium fee 62,340,000 GB $6,545,700.00 - ├─ Asia Pacific - │ └─ Inbound DT-premium fee 62,340,000 GB $2,057,220.00 - └─ India, Indonesia, Philippines, Thailand - └─ Inbound DT-premium fee 72,340,000 GB $2,387,220.00 - - aws_globalaccelerator_endpoint_group.us_east_1 - ├─ Europe - │ └─ Outbound DT-premium fee 5,000 GB $75.00 - └─ Asia Pacific - └─ Outbound DT-premium fee 1,000 GB $35.00 - + Name Monthly Qty Unit Monthly Cost + + aws_globalaccelerator_endpoint_group.eu_west_1 + ├─ US, Mexico, Canada + │ └─ Inbound DT-premium fee 12,340,000 GB $185,100.00 * + ├─ Europe + │ └─ Inbound DT-premium fee 22,340,000 GB $335,100.00 * + ├─ South Africa, Kenya + │ └─ Inbound DT-premium fee 32,340,000 GB $2,166,780.00 * + ├─ South America + │ └─ Inbound DT-premium fee 42,340,000 GB $1,820,620.00 * + ├─ South Korea + │ └─ Inbound DT-premium fee 52,340,000 GB $1,831,900.00 * + ├─ Middle East + │ └─ Inbound DT-premium fee 52,340,000 GB $1,831,900.00 * + ├─ Australia, New Zealand + │ └─ Inbound DT-premium fee 62,340,000 GB $6,545,700.00 * + ├─ Asia Pacific + │ └─ Inbound DT-premium fee 62,340,000 GB $2,057,220.00 * + └─ India, Indonesia, Philippines, Thailand + └─ Inbound DT-premium fee 72,340,000 GB $2,387,220.00 * + + aws_globalaccelerator_endpoint_group.us_east_1 + ├─ Europe + │ └─ Outbound DT-premium fee 5,000 GB $75.00 * + └─ Asia Pacific + └─ Outbound DT-premium fee 1,000 GB $35.00 * + OVERALL TOTAL $19,161,650.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestGlobalAcceleratorEndpointGroup ┃ $19,161,650 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫ +┃ TestGlobalAcceleratorEndpointGroup ┃ $0.00 ┃ $19,161,650 ┃ $19,161,650 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden index 2ca77a12e8c..00eb410426e 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_globalaccelerator_accelerator.example - └─ Fixed fee 730 hours $18.25 - - OVERALL TOTAL $18.25 + Name Monthly Qty Unit Monthly Cost + + aws_globalaccelerator_accelerator.example + └─ Fixed fee 730 hours $18.25 + + OVERALL TOTAL $18.25 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestGlobalAccelerator ┃ $18 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestGlobalAccelerator ┃ $18 ┃ $0.00 ┃ $18 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden index 0a68e745718..a74363bfaa4 100644 --- a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_glue_catalog_database.with_usage - ├─ Storage 2 100k objects $2.00 - └─ Requests 300 1M requests $300.00 - - aws_glue_catalog_database.without_usage - ├─ Storage Monthly cost depends on usage: $1.00 per 100k objects - └─ Requests Monthly cost depends on usage: $1.00 per 1M requests - + Name Monthly Qty Unit Monthly Cost + + aws_glue_catalog_database.with_usage + ├─ Storage 2 100k objects $2.00 * + └─ Requests 300 1M requests $300.00 * + + aws_glue_catalog_database.without_usage + ├─ Storage Monthly cost depends on usage: $1.00 per 100k objects + └─ Requests Monthly cost depends on usage: $1.00 per 1M requests + OVERALL TOTAL $302.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestGlueCatalogDatabaseGoldenFile ┃ $302 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestGlueCatalogDatabaseGoldenFile ┃ $0.00 ┃ $302 ┃ $302 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden index c6a46613b34..128a7d56016 100644 --- a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - aws_glue_crawler.with_usage - └─ Duration 60 hours $26.40 - - aws_glue_crawler.no_usage - └─ Duration Monthly cost depends on usage: $0.44 per hours - + Name Monthly Qty Unit Monthly Cost + + aws_glue_crawler.with_usage + └─ Duration 60 hours $26.40 * + + aws_glue_crawler.no_usage + └─ Duration Monthly cost depends on usage: $0.44 per hours + OVERALL TOTAL $26.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestGlueCrawlerGoldenFile ┃ $26 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestGlueCrawlerGoldenFile ┃ $0.00 ┃ $26 ┃ $26 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden index d137ef0f49e..a0771014d82 100644 --- a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden @@ -1,31 +1,34 @@ - Name Monthly Qty Unit Monthly Cost - - aws_glue_job.workers_g2x - └─ Duration 60 hours (20 DPUs) $528.00 - - aws_glue_job.cap_10 - └─ Duration 60 hours (10 DPUs) $264.00 - - aws_glue_job.workers_default - └─ Duration 60 hours (10 DPUs) $264.00 - - aws_glue_job.workers_g1x - └─ Duration 60 hours (10 DPUs) $264.00 - - aws_glue_job.job_no_usage - └─ Duration Monthly cost depends on usage: $0.44 per hours (1 DPU) - - aws_glue_job.python_shell - └─ Duration Monthly cost depends on usage: $0.0275 per hours (0.0625 DPUs) - + Name Monthly Qty Unit Monthly Cost + + aws_glue_job.workers_g2x + └─ Duration 60 hours (20 DPUs) $528.00 * + + aws_glue_job.cap_10 + └─ Duration 60 hours (10 DPUs) $264.00 * + + aws_glue_job.workers_default + └─ Duration 60 hours (10 DPUs) $264.00 * + + aws_glue_job.workers_g1x + └─ Duration 60 hours (10 DPUs) $264.00 * + + aws_glue_job.job_no_usage + └─ Duration Monthly cost depends on usage: $0.44 per hours (1 DPU) + + aws_glue_job.python_shell + └─ Duration Monthly cost depends on usage: $0.0275 per hours (0.0625 DPUs) + OVERALL TOTAL $1,320.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestGlueJobGoldenFile ┃ $1,320 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestGlueJobGoldenFile ┃ $0.00 ┃ $1,320 ┃ $1,320 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden index 360fc350fd6..4dc70e6d3f3 100644 --- a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden +++ b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden @@ -1,187 +1,190 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ec2_host.mac - └─ EC2 Dedicated Host (on-demand, mac1) 730 hours $790.59 - - aws_instance.instance2_ebsOptimized - ├─ Instance usage (Linux/UNIX, on-demand, r3.xlarge) 730 hours $243.09 - ├─ EBS-optimized usage 730 hours $14.60 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_withLaunchTemplateById - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $32.19 - ├─ EC2 detailed monitoring 7 metrics $2.10 - ├─ CPU credits 1,460 vCPU-hours $73.00 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - ├─ ebs_block_device[0] - │ ├─ Storage (provisioned IOPS SSD, io1) 20 GB $2.50 - │ └─ Provisioned IOPS 200 IOPS $13.00 - └─ ebs_block_device[1] - ├─ Storage (provisioned IOPS SSD, io1) 10 GB $1.25 - └─ Provisioned IOPS 100 IOPS $6.50 - - aws_instance.instance1 - ├─ Instance usage (Linux/UNIX, on-demand, m3.medium) 730 hours $48.91 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - ├─ ebs_block_device[0] - │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 - ├─ ebs_block_device[1] - │ ├─ Storage (magnetic) 20 GB $1.00 - │ └─ I/O requests Monthly cost depends on usage: $0.05 per 1M request - ├─ ebs_block_device[2] - │ └─ Storage (cold HDD, sc1) 30 GB $0.45 - ├─ ebs_block_device[3] - │ ├─ Storage (provisioned IOPS SSD, io1) 40 GB $5.00 - │ └─ Provisioned IOPS 1,000 IOPS $65.00 - └─ ebs_block_device[4] - └─ Storage (general purpose SSD, gp3) 20 GB $1.60 - - aws_instance.t3_unlimited_cpuCredits - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 - ├─ CPU credits 1,460 vCPU-hours $73.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance1_detailedMonitoring - ├─ Instance usage (Linux/UNIX, on-demand, m3.large) 730 hours $97.09 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance1_ebsOptimized - ├─ Instance usage (Linux/UNIX, on-demand, m3.large) 730 hours $97.09 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_withLaunchTemplateOverride - ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 730 hours $60.74 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 20 GB $2.50 - └─ Provisioned IOPS 100 IOPS $6.50 - - aws_instance.t2_unlimited_cpuCredits - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 - ├─ CPU credits 600 vCPU-hours $30.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_withLaunchTemplateByName - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $32.19 - ├─ EC2 detailed monitoring 7 metrics $2.10 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 10 GB $1.25 - └─ Provisioned IOPS 100 IOPS $6.50 - - aws_instance.instance_ebsOptimized_withMonthlyHours - ├─ Instance usage (Linux/UNIX, on-demand, r3.xlarge) 100 hours $33.30 - ├─ EBS-optimized usage 100 hours $2.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.t2_default_cpuCredits - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.t2_standard_cpuCredits - ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.t3_default_cpuCredits - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.t3_standard_cpuCredits - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.cnvr_1yr_no_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $21.90 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.std_1yr_no_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $19.05 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.instance_detailedMonitoring_withMonthlyHours - ├─ Instance usage (Linux/UNIX, on-demand, m3.large) 100 hours $13.30 - ├─ EC2 detailed monitoring 7 metrics $2.10 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.cnvr_3yr_no_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $15.04 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.std_3yr_no_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $13.14 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.cnvr_1yr_partial_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $10.44 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.std_1yr_partial_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $9.05 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.cnvr_3yr_partial_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $7.01 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.std_3yr_partial_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $6.06 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.with_host - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - - aws_instance.instance_withMonthlyHours - ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 100 hours $4.16 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.cnvr_1yr_all_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $0.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.cnvr_3yr_all_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $0.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.std_1yr_all_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $0.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.std_3yr_all_upfront - ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $0.00 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $2,089.71 + Name Monthly Qty Unit Monthly Cost + + aws_ec2_host.mac + └─ EC2 Dedicated Host (on-demand, mac1) 730 hours $790.59 + + aws_instance.instance2_ebsOptimized + ├─ Instance usage (Linux/UNIX, on-demand, r3.xlarge) 730 hours $243.09 + ├─ EBS-optimized usage 730 hours $14.60 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_withLaunchTemplateById + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $32.19 + ├─ EC2 detailed monitoring 7 metrics $2.10 + ├─ CPU credits 1,460 vCPU-hours $73.00 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + ├─ ebs_block_device[0] + │ ├─ Storage (provisioned IOPS SSD, io1) 20 GB $2.50 + │ └─ Provisioned IOPS 200 IOPS $13.00 + └─ ebs_block_device[1] + ├─ Storage (provisioned IOPS SSD, io1) 10 GB $1.25 + └─ Provisioned IOPS 100 IOPS $6.50 + + aws_instance.instance1 + ├─ Instance usage (Linux/UNIX, on-demand, m3.medium) 730 hours $48.91 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + ├─ ebs_block_device[0] + │ └─ Storage (general purpose SSD, gp2) 10 GB $1.00 + ├─ ebs_block_device[1] + │ ├─ Storage (magnetic) 20 GB $1.00 + │ └─ I/O requests Monthly cost depends on usage: $0.05 per 1M request + ├─ ebs_block_device[2] + │ └─ Storage (cold HDD, sc1) 30 GB $0.45 + ├─ ebs_block_device[3] + │ ├─ Storage (provisioned IOPS SSD, io1) 40 GB $5.00 + │ └─ Provisioned IOPS 1,000 IOPS $65.00 + └─ ebs_block_device[4] + └─ Storage (general purpose SSD, gp3) 20 GB $1.60 + + aws_instance.t3_unlimited_cpuCredits + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 + ├─ CPU credits 1,460 vCPU-hours $73.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance1_detailedMonitoring + ├─ Instance usage (Linux/UNIX, on-demand, m3.large) 730 hours $97.09 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance1_ebsOptimized + ├─ Instance usage (Linux/UNIX, on-demand, m3.large) 730 hours $97.09 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_withLaunchTemplateOverride + ├─ Instance usage (Linux/UNIX, on-demand, t3.large) 730 hours $60.74 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 20 GB $2.50 + └─ Provisioned IOPS 100 IOPS $6.50 + + aws_instance.t2_unlimited_cpuCredits + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 + ├─ CPU credits 600 vCPU-hours $30.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_withLaunchTemplateByName + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $32.19 + ├─ EC2 detailed monitoring 7 metrics $2.10 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 10 GB $1.25 + └─ Provisioned IOPS 100 IOPS $6.50 + + aws_instance.instance_ebsOptimized_withMonthlyHours + ├─ Instance usage (Linux/UNIX, on-demand, r3.xlarge) 100 hours $33.30 + ├─ EBS-optimized usage 100 hours $2.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.t2_default_cpuCredits + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.t2_standard_cpuCredits + ├─ Instance usage (Linux/UNIX, on-demand, t2.medium) 730 hours $33.87 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.t3_default_cpuCredits + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.t3_standard_cpuCredits + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 730 hours $30.37 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.cnvr_1yr_no_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $21.90 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.std_1yr_no_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $19.05 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.instance_detailedMonitoring_withMonthlyHours + ├─ Instance usage (Linux/UNIX, on-demand, m3.large) 100 hours $13.30 + ├─ EC2 detailed monitoring 7 metrics $2.10 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.cnvr_3yr_no_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $15.04 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.std_3yr_no_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $13.14 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.cnvr_1yr_partial_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $10.44 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.std_1yr_partial_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $9.05 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.cnvr_3yr_partial_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $7.01 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.std_3yr_partial_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $6.06 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.with_host + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + + aws_instance.instance_withMonthlyHours + ├─ Instance usage (Linux/UNIX, on-demand, t3.medium) 100 hours $4.16 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.cnvr_1yr_all_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.cnvr_3yr_all_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.std_1yr_all_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.std_3yr_all_upfront + ├─ Instance usage (Linux/UNIX, reserved, t3.medium) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $2,089.71 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 32 cloud resources were detected: ∙ 30 were estimated @@ -189,11 +192,11 @@ ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x aws_instance -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestInstanceGoldenFile ┃ $2,090 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestInstanceGoldenFile ┃ $2,090 ┃ $0.00 ┃ $2,090 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource aws_instance.instance1_hostTenancy. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden index e4d261cd610..cc153809eee 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden @@ -1,61 +1,64 @@ - Name Monthly Qty Unit Monthly Cost - - aws_kinesis_firehose_delivery_stream.withAllTags - ├─ Data ingested (first 500TB) 512,000 GB $17,920.00 - ├─ Data ingested (next 1.5PB) 1,536,000 GB $46,080.00 - ├─ Data ingested (next 3PB) 4,952,000 GB $118,848.00 - ├─ Format conversion 7,000,000 GB $147,000.00 - ├─ VPC data 7,000,000 GB $70,000.00 - └─ VPC AZ delivery 1,460 hours $16.06 - - aws_kinesis_firehose_delivery_stream.EnabledFalse - ├─ Data ingested (first 500TB) 512,000 GB $17,920.00 - ├─ Data ingested (next 1.5PB) 1,536,000 GB $46,080.00 - ├─ Data ingested (next 3PB) 952,000 GB $22,848.00 - ├─ VPC data 3,000,000 GB $30,000.00 - └─ VPC AZ delivery 1,460 hours $16.06 - - aws_kinesis_firehose_delivery_stream.onlyDataIngested - ├─ Data ingested (first 500TB) 512,000 GB $17,920.00 - ├─ Data ingested (next 1.5PB) 1,536,000 GB $46,080.00 - └─ Data ingested (next 3PB) 952,000 GB $22,848.00 - - aws_kinesis_firehose_delivery_stream.forTwoMilGB - ├─ Data ingested (first 500TB) 512,000 GB $17,920.00 - └─ Data ingested (next 1.5PB) 1,488,000 GB $44,640.00 - - aws_elasticsearch_domain.test_cluster - └─ Instance (on-demand, m4.large.elasticsearch) 730 hours $134.32 - - aws_kinesis_firehose_delivery_stream.with_dynamic_subnet - ├─ Data ingested (first 500TB) Monthly cost depends on usage: $0.035 per GB - ├─ Format conversion Monthly cost depends on usage: $0.021 per GB - ├─ VPC data Monthly cost depends on usage: $0.01 per GB - └─ VPC AZ delivery 1,460 hours $16.06 - - aws_kinesis_firehose_delivery_stream.withoutUsage - ├─ Data ingested (first 500TB) Monthly cost depends on usage: $0.035 per GB - ├─ Format conversion Monthly cost depends on usage: $0.021 per GB - ├─ VPC data Monthly cost depends on usage: $0.01 per GB - └─ VPC AZ delivery 1,460 hours $16.06 - - aws_s3_bucket.bucket - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.024 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.0053 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.00042 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.00225 per GB - └─ Select data returned Monthly cost depends on usage: $0.0008 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_kinesis_firehose_delivery_stream.withAllTags + ├─ Data ingested (first 500TB) 512,000 GB $17,920.00 * + ├─ Data ingested (next 1.5PB) 1,536,000 GB $46,080.00 * + ├─ Data ingested (next 3PB) 4,952,000 GB $118,848.00 * + ├─ Format conversion 7,000,000 GB $147,000.00 + ├─ VPC data 7,000,000 GB $70,000.00 + └─ VPC AZ delivery 1,460 hours $16.06 + + aws_kinesis_firehose_delivery_stream.EnabledFalse + ├─ Data ingested (first 500TB) 512,000 GB $17,920.00 * + ├─ Data ingested (next 1.5PB) 1,536,000 GB $46,080.00 * + ├─ Data ingested (next 3PB) 952,000 GB $22,848.00 * + ├─ VPC data 3,000,000 GB $30,000.00 + └─ VPC AZ delivery 1,460 hours $16.06 + + aws_kinesis_firehose_delivery_stream.onlyDataIngested + ├─ Data ingested (first 500TB) 512,000 GB $17,920.00 * + ├─ Data ingested (next 1.5PB) 1,536,000 GB $46,080.00 * + └─ Data ingested (next 3PB) 952,000 GB $22,848.00 * + + aws_kinesis_firehose_delivery_stream.forTwoMilGB + ├─ Data ingested (first 500TB) 512,000 GB $17,920.00 * + └─ Data ingested (next 1.5PB) 1,488,000 GB $44,640.00 * + + aws_elasticsearch_domain.test_cluster + └─ Instance (on-demand, m4.large.elasticsearch) 730 hours $134.32 + + aws_kinesis_firehose_delivery_stream.with_dynamic_subnet + ├─ Data ingested (first 500TB) Monthly cost depends on usage: $0.035 per GB + ├─ Format conversion Monthly cost depends on usage: $0.021 per GB + ├─ VPC data Monthly cost depends on usage: $0.01 per GB + └─ VPC AZ delivery 1,460 hours $16.06 + + aws_kinesis_firehose_delivery_stream.withoutUsage + ├─ Data ingested (first 500TB) Monthly cost depends on usage: $0.035 per GB + ├─ Format conversion Monthly cost depends on usage: $0.021 per GB + ├─ VPC data Monthly cost depends on usage: $0.01 per GB + └─ VPC AZ delivery 1,460 hours $16.06 + + aws_s3_bucket.bucket + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.024 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.0053 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.00042 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.00225 per GB + └─ Select data returned Monthly cost depends on usage: $0.0008 per GB + OVERALL TOTAL $666,302.56 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 13 cloud resources were detected: ∙ 8 were estimated ∙ 5 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestKinesisFirehoseDeliveryStream ┃ $666,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKinesisFirehoseDeliveryStream ┃ $247,199 ┃ $419,104 ┃ $666,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden index 247d16f1fb9..5edb195aa06 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden @@ -1,81 +1,84 @@ - Name Monthly Qty Unit Monthly Cost - - aws_kinesis_stream.test_stream_provisioned_with_usage - ├─ PROVISIONED 2,920 hours $43.80 - ├─ Put request unit 6,500,000 units $0.09 - ├─ Extended retention (24H to 7D) 100 GB $2.00 - ├─ Long term retention (7D+) 100 GB $2.30 - ├─ Extended retention retrieval (7D+) 100 GB $2.10 - ├─ Enhanced Fan Out (EFO) Data retrieval 100 GB $1.30 - └─ Enhanced Fan Out (EFO) 100 consumer-shard hour $1.50 - - aws_kinesis_stream.use2_test_stream_provisioned_with_usage - ├─ PROVISIONED 2,920 hours $43.80 - ├─ Put request unit 6,500,000 units $0.09 - ├─ Extended retention (24H to 7D) 100 GB $2.00 - ├─ Long term retention (7D+) 100 GB $2.30 - ├─ Extended retention retrieval (7D+) 100 GB $2.10 - ├─ Enhanced Fan Out (EFO) Data retrieval 100 GB $1.30 - └─ Enhanced Fan Out (EFO) 100 consumer-shard hour $1.50 - - aws_kinesis_stream.test_stream_on_demand_with_usage - ├─ ON_DEMAND 730 hours $29.20 - ├─ Data ingested 0.2 GB $0.02 - ├─ Data retrieval 0.2 GB $0.01 - ├─ Enhanced Fan Out (EFO) Data retrieval 2 GB $0.10 - ├─ Extended retention (24H to 7D) 1 GB $0.10 - └─ Long term retention (7D+) 1 GB $0.02 - - aws_kinesis_stream.use2_test_stream_on_demand_with_usage - ├─ ON_DEMAND 730 hours $29.20 - ├─ Data ingested 0.2 GB $0.02 - ├─ Data retrieval 0.2 GB $0.01 - ├─ Enhanced Fan Out (EFO) Data retrieval 2 GB $0.10 - ├─ Extended retention (24H to 7D) 1 GB $0.10 - └─ Long term retention (7D+) 1 GB $0.02 - - aws_kinesis_stream.test_stream_on_demand - ├─ ON_DEMAND 730 hours $29.20 - ├─ Data ingested Monthly cost depends on usage: $0.08 per GB - ├─ Data retrieval Monthly cost depends on usage: $0.04 per GB - ├─ Enhanced Fan Out (EFO) Data retrieval Monthly cost depends on usage: $0.05 per GB - ├─ Extended retention (24H to 7D) Monthly cost depends on usage: $0.10 per GB - └─ Long term retention (7D+) Monthly cost depends on usage: $0.023 per GB - - aws_kinesis_stream.use2_test_stream_on_demand - ├─ ON_DEMAND 730 hours $29.20 - ├─ Data ingested Monthly cost depends on usage: $0.08 per GB - ├─ Data retrieval Monthly cost depends on usage: $0.04 per GB - ├─ Enhanced Fan Out (EFO) Data retrieval Monthly cost depends on usage: $0.05 per GB - ├─ Extended retention (24H to 7D) Monthly cost depends on usage: $0.10 per GB - └─ Long term retention (7D+) Monthly cost depends on usage: $0.023 per GB - - aws_kinesis_stream.test_stream_provisioned - ├─ PROVISIONED 730 hours $10.95 - ├─ Put request unit Monthly cost depends on usage: $0.000000014 per units - ├─ Extended retention (24H to 7D) Monthly cost depends on usage: $0.02 per GB - ├─ Long term retention (7D+) Monthly cost depends on usage: $0.023 per GB - ├─ Extended retention retrieval (7D+) Monthly cost depends on usage: $0.021 per GB - ├─ Enhanced Fan Out (EFO) Data retrieval Monthly cost depends on usage: $0.013 per GB - └─ Enhanced Fan Out (EFO) Monthly cost depends on usage: $0.015 per consumer-shard hour - - aws_kinesis_stream.use2_test_stream_provisioned - ├─ PROVISIONED 730 hours $10.95 - ├─ Put request unit Monthly cost depends on usage: $0.000000014 per units - ├─ Extended retention (24H to 7D) Monthly cost depends on usage: $0.02 per GB - ├─ Long term retention (7D+) Monthly cost depends on usage: $0.023 per GB - ├─ Extended retention retrieval (7D+) Monthly cost depends on usage: $0.021 per GB - ├─ Enhanced Fan Out (EFO) Data retrieval Monthly cost depends on usage: $0.013 per GB - └─ Enhanced Fan Out (EFO) Monthly cost depends on usage: $0.015 per consumer-shard hour - + Name Monthly Qty Unit Monthly Cost + + aws_kinesis_stream.test_stream_provisioned_with_usage + ├─ PROVISIONED 2,920 hours $43.80 + ├─ Put request unit 6,500,000 units $0.09 * + ├─ Extended retention (24H to 7D) 100 GB $2.00 * + ├─ Long term retention (7D+) 100 GB $2.30 * + ├─ Extended retention retrieval (7D+) 100 GB $2.10 * + ├─ Enhanced Fan Out (EFO) Data retrieval 100 GB $1.30 * + └─ Enhanced Fan Out (EFO) 100 consumer-shard hour $1.50 * + + aws_kinesis_stream.use2_test_stream_provisioned_with_usage + ├─ PROVISIONED 2,920 hours $43.80 + ├─ Put request unit 6,500,000 units $0.09 * + ├─ Extended retention (24H to 7D) 100 GB $2.00 * + ├─ Long term retention (7D+) 100 GB $2.30 * + ├─ Extended retention retrieval (7D+) 100 GB $2.10 * + ├─ Enhanced Fan Out (EFO) Data retrieval 100 GB $1.30 * + └─ Enhanced Fan Out (EFO) 100 consumer-shard hour $1.50 * + + aws_kinesis_stream.test_stream_on_demand_with_usage + ├─ ON_DEMAND 730 hours $29.20 + ├─ Data ingested 0.2 GB $0.02 * + ├─ Data retrieval 0.2 GB $0.01 * + ├─ Enhanced Fan Out (EFO) Data retrieval 2 GB $0.10 * + ├─ Extended retention (24H to 7D) 1 GB $0.10 * + └─ Long term retention (7D+) 1 GB $0.02 * + + aws_kinesis_stream.use2_test_stream_on_demand_with_usage + ├─ ON_DEMAND 730 hours $29.20 + ├─ Data ingested 0.2 GB $0.02 * + ├─ Data retrieval 0.2 GB $0.01 * + ├─ Enhanced Fan Out (EFO) Data retrieval 2 GB $0.10 * + ├─ Extended retention (24H to 7D) 1 GB $0.10 * + └─ Long term retention (7D+) 1 GB $0.02 * + + aws_kinesis_stream.test_stream_on_demand + ├─ ON_DEMAND 730 hours $29.20 + ├─ Data ingested Monthly cost depends on usage: $0.08 per GB + ├─ Data retrieval Monthly cost depends on usage: $0.04 per GB + ├─ Enhanced Fan Out (EFO) Data retrieval Monthly cost depends on usage: $0.05 per GB + ├─ Extended retention (24H to 7D) Monthly cost depends on usage: $0.10 per GB + └─ Long term retention (7D+) Monthly cost depends on usage: $0.023 per GB + + aws_kinesis_stream.use2_test_stream_on_demand + ├─ ON_DEMAND 730 hours $29.20 + ├─ Data ingested Monthly cost depends on usage: $0.08 per GB + ├─ Data retrieval Monthly cost depends on usage: $0.04 per GB + ├─ Enhanced Fan Out (EFO) Data retrieval Monthly cost depends on usage: $0.05 per GB + ├─ Extended retention (24H to 7D) Monthly cost depends on usage: $0.10 per GB + └─ Long term retention (7D+) Monthly cost depends on usage: $0.023 per GB + + aws_kinesis_stream.test_stream_provisioned + ├─ PROVISIONED 730 hours $10.95 + ├─ Put request unit Monthly cost depends on usage: $0.000000014 per units + ├─ Extended retention (24H to 7D) Monthly cost depends on usage: $0.02 per GB + ├─ Long term retention (7D+) Monthly cost depends on usage: $0.023 per GB + ├─ Extended retention retrieval (7D+) Monthly cost depends on usage: $0.021 per GB + ├─ Enhanced Fan Out (EFO) Data retrieval Monthly cost depends on usage: $0.013 per GB + └─ Enhanced Fan Out (EFO) Monthly cost depends on usage: $0.015 per consumer-shard hour + + aws_kinesis_stream.use2_test_stream_provisioned + ├─ PROVISIONED 730 hours $10.95 + ├─ Put request unit Monthly cost depends on usage: $0.000000014 per units + ├─ Extended retention (24H to 7D) Monthly cost depends on usage: $0.02 per GB + ├─ Long term retention (7D+) Monthly cost depends on usage: $0.023 per GB + ├─ Extended retention retrieval (7D+) Monthly cost depends on usage: $0.021 per GB + ├─ Enhanced Fan Out (EFO) Data retrieval Monthly cost depends on usage: $0.013 per GB + └─ Enhanced Fan Out (EFO) Monthly cost depends on usage: $0.015 per consumer-shard hour + OVERALL TOTAL $245.38 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestKinesisStream ┃ $245 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKinesisStream ┃ $226 ┃ $19 ┃ $245 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden index 22e8fab8fef..a4f377fb263 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - aws_kinesis_analytics_application.withUsage - └─ Processing (stream) 10 KPU $927.10 - - aws_kinesis_analytics_application.withoutUsage - └─ Processing (stream) Monthly cost depends on usage: $92.71 per KPU - + Name Monthly Qty Unit Monthly Cost + + aws_kinesis_analytics_application.withUsage + └─ Processing (stream) 10 KPU $927.10 * + + aws_kinesis_analytics_application.withoutUsage + └─ Processing (stream) Monthly cost depends on usage: $92.71 per KPU + OVERALL TOTAL $927.10 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsApplicationGoldenFile ┃ $927 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKinesisAnalyticsApplicationGoldenFile ┃ $0.00 ┃ $927 ┃ $927 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden index f603452aea5..c38b43ca69e 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden @@ -1,32 +1,35 @@ - Name Monthly Qty Unit Monthly Cost - - aws_kinesisanalyticsv2_application.flink - ├─ Processing (stream) Monthly cost depends on usage: $92.71 per KPU - ├─ Processing (orchestration) 1 KPU $92.71 - ├─ Running storage Monthly cost depends on usage: $0.12 per GB - └─ Backup Monthly cost depends on usage: $0.024 per GB - - aws_kinesisanalyticsv2_application.withoutUsage - ├─ Processing (stream) Monthly cost depends on usage: $92.71 per KPU - ├─ Processing (orchestration) 1 KPU $92.71 - ├─ Running storage Monthly cost depends on usage: $0.12 per GB - └─ Backup Monthly cost depends on usage: $0.024 per GB - - aws_kinesisanalyticsv2_application_snapshot.flink - └─ Backup 100 GB $2.40 - - aws_kinesisanalyticsv2_application_snapshot.withoutUsage - └─ Backup Monthly cost depends on usage: $0.024 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_kinesisanalyticsv2_application.flink + ├─ Processing (stream) Monthly cost depends on usage: $92.71 per KPU + ├─ Processing (orchestration) 1 KPU $92.71 + ├─ Running storage Monthly cost depends on usage: $0.12 per GB + └─ Backup Monthly cost depends on usage: $0.024 per GB + + aws_kinesisanalyticsv2_application.withoutUsage + ├─ Processing (stream) Monthly cost depends on usage: $92.71 per KPU + ├─ Processing (orchestration) 1 KPU $92.71 + ├─ Running storage Monthly cost depends on usage: $0.12 per GB + └─ Backup Monthly cost depends on usage: $0.024 per GB + + aws_kinesisanalyticsv2_application_snapshot.flink + └─ Backup 100 GB $2.40 * + + aws_kinesisanalyticsv2_application_snapshot.withoutUsage + └─ Backup Monthly cost depends on usage: $0.024 per GB + OVERALL TOTAL $187.82 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsV2ApplicationSnapshotGoldenFile ┃ $188 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKinesisAnalyticsV2ApplicationSnapshotGoldenFile ┃ $185 ┃ $2 ┃ $188 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden index bf2f6363a22..c90246d0b8b 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - aws_kinesisanalyticsv2_application.flink - ├─ Processing (stream) 10 KPU $927.10 - ├─ Processing (orchestration) 1 KPU $92.71 - ├─ Running storage 500 GB $58.00 - └─ Backup 100 GB $2.40 - - aws_kinesisanalyticsv2_application.notFlink - └─ Processing (stream) 10 KPU $927.10 - - aws_kinesisanalyticsv2_application.withoutUsage - ├─ Processing (stream) Monthly cost depends on usage: $92.71 per KPU - ├─ Processing (orchestration) 1 KPU $92.71 - ├─ Running storage Monthly cost depends on usage: $0.12 per GB - └─ Backup Monthly cost depends on usage: $0.024 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_kinesisanalyticsv2_application.flink + ├─ Processing (stream) 10 KPU $927.10 * + ├─ Processing (orchestration) 1 KPU $92.71 + ├─ Running storage 500 GB $58.00 * + └─ Backup 100 GB $2.40 * + + aws_kinesisanalyticsv2_application.notFlink + └─ Processing (stream) 10 KPU $927.10 * + + aws_kinesisanalyticsv2_application.withoutUsage + ├─ Processing (stream) Monthly cost depends on usage: $92.71 per KPU + ├─ Processing (orchestration) 1 KPU $92.71 + ├─ Running storage Monthly cost depends on usage: $0.12 per GB + └─ Backup Monthly cost depends on usage: $0.024 per GB + OVERALL TOTAL $2,100.02 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 3 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsV2ApplicationGoldenFile ┃ $2,100 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKinesisAnalyticsV2ApplicationGoldenFile ┃ $185 ┃ $1,915 ┃ $2,100 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden index d82e2d22d5d..98d212549da 100644 --- a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_kms_external_key.kms - └─ Customer master key 1 months $1.00 - - OVERALL TOTAL $1.00 + Name Monthly Qty Unit Monthly Cost + + aws_kms_external_key.kms + └─ Customer master key 1 months $1.00 + + OVERALL TOTAL $1.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestKMSExternalKeyGoldenFile ┃ $1 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKMSExternalKeyGoldenFile ┃ $1 ┃ $0.00 ┃ $1 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden index 5d0d289b78c..37d0224763b 100644 --- a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - aws_kms_key.kms - ├─ Customer master key 1 months $1.00 - ├─ Requests Monthly cost depends on usage: $0.03 per 10k requests - ├─ ECC GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests - └─ RSA GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests - - aws_kms_key.rsa2048 - ├─ Customer master key 1 months $1.00 - └─ Requests (RSA 2048) Monthly cost depends on usage: $0.03 per 10k requests - - aws_kms_key.rsa3072 - ├─ Customer master key 1 months $1.00 - └─ Requests (asymmetric) Monthly cost depends on usage: $0.15 per 10k requests - - OVERALL TOTAL $3.00 + Name Monthly Qty Unit Monthly Cost + + aws_kms_key.kms + ├─ Customer master key 1 months $1.00 + ├─ Requests Monthly cost depends on usage: $0.03 per 10k requests + ├─ ECC GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests + └─ RSA GenerateDataKeyPair requests Monthly cost depends on usage: $0.10 per 10k requests + + aws_kms_key.rsa2048 + ├─ Customer master key 1 months $1.00 + └─ Requests (RSA 2048) Monthly cost depends on usage: $0.03 per 10k requests + + aws_kms_key.rsa3072 + ├─ Customer master key 1 months $1.00 + └─ Requests (asymmetric) Monthly cost depends on usage: $0.15 per 10k requests + + OVERALL TOTAL $3.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestKMSKey ┃ $3 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKMSKey ┃ $3 ┃ $0.00 ┃ $3 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden index 9d6a2c7af0a..24f8bec55eb 100644 --- a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden @@ -1,69 +1,72 @@ - Name Monthly Qty Unit Monthly Cost - - aws_lambda_function.lambda_duration_18B_arm - ├─ Requests 18,250 1M requests $3,650.00 - ├─ Duration (first 7.5B) 7,500,000,000 GB-seconds $100,000.50 - ├─ Duration (next 11.25B) 11,250,000,000 GB-seconds $135,001.13 - └─ Duration (over 18.75B) 18,750,000,000 GB-seconds $200,000.63 - - aws_lambda_function.lambda_duration_15B - ├─ Requests 15,000 1M requests $3,000.00 - ├─ Duration (first 6B) 6,000,000,000 GB-seconds $100,000.20 - ├─ Duration (next 9B) 9,000,000,000 GB-seconds $135,000.00 - └─ Duration (over 15B) 15,000,000,000 GB-seconds $200,001.00 - - aws_lambda_function.lambda_duration_11B_arm - ├─ Requests 11,250 1M requests $2,250.00 - ├─ Duration (first 7.5B) 7,500,000,000 GB-seconds $100,000.50 - └─ Duration (next 11.25B) 4,020,000,000 GB-seconds $48,240.40 - - aws_lambda_function.lambda_duration_9B - ├─ Requests 9,000 1M requests $1,800.00 - ├─ Duration (first 6B) 6,000,000,000 GB-seconds $100,000.20 - └─ Duration (next 9B) 3,216,000,000 GB-seconds $48,240.00 - - aws_lambda_function.lambda_duration_75B_arm - ├─ Requests 7,500 1M requests $1,500.00 - └─ Duration (first 7.5B) 3,840,000,000 GB-seconds $51,200.26 - - aws_lambda_function.lambda_duration_6B - ├─ Requests 6,000 1M requests $1,200.00 - └─ Duration (first 6B) 3,072,000,000 GB-seconds $51,200.10 - - aws_lambda_function.lambda_withUsage512Mem - ├─ Requests 0.1 1M requests $0.02 - └─ Duration (first 6B) 17,500 GB-seconds $0.29 - - aws_lambda_function.lambda_withUsage512Mem_arm - ├─ Requests 0.1 1M requests $0.02 - └─ Duration (first 7.5B) 17,500 GB-seconds $0.23 - - aws_lambda_function.lambda_withUsage - ├─ Requests 0.1 1M requests $0.02 - └─ Duration (first 6B) 4,375 GB-seconds $0.07 - - aws_lambda_function.lambda_withUsage_arm - ├─ Requests 0.1 1M requests $0.02 - └─ Duration (first 7.5B) 4,375 GB-seconds $0.06 - - aws_lambda_function.lambda - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - aws_lambda_function.lambda_arm - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 7.5B) Monthly cost depends on usage: $0.0000133334 per GB-seconds - + Name Monthly Qty Unit Monthly Cost + + aws_lambda_function.lambda_duration_18B_arm + ├─ Requests 18,250 1M requests $3,650.00 * + ├─ Duration (first 7.5B) 7,500,000,000 GB-seconds $100,000.50 * + ├─ Duration (next 11.25B) 11,250,000,000 GB-seconds $135,001.13 * + └─ Duration (over 18.75B) 18,750,000,000 GB-seconds $200,000.63 * + + aws_lambda_function.lambda_duration_15B + ├─ Requests 15,000 1M requests $3,000.00 * + ├─ Duration (first 6B) 6,000,000,000 GB-seconds $100,000.20 * + ├─ Duration (next 9B) 9,000,000,000 GB-seconds $135,000.00 * + └─ Duration (over 15B) 15,000,000,000 GB-seconds $200,001.00 * + + aws_lambda_function.lambda_duration_11B_arm + ├─ Requests 11,250 1M requests $2,250.00 * + ├─ Duration (first 7.5B) 7,500,000,000 GB-seconds $100,000.50 * + └─ Duration (next 11.25B) 4,020,000,000 GB-seconds $48,240.40 * + + aws_lambda_function.lambda_duration_9B + ├─ Requests 9,000 1M requests $1,800.00 * + ├─ Duration (first 6B) 6,000,000,000 GB-seconds $100,000.20 * + └─ Duration (next 9B) 3,216,000,000 GB-seconds $48,240.00 * + + aws_lambda_function.lambda_duration_75B_arm + ├─ Requests 7,500 1M requests $1,500.00 * + └─ Duration (first 7.5B) 3,840,000,000 GB-seconds $51,200.26 * + + aws_lambda_function.lambda_duration_6B + ├─ Requests 6,000 1M requests $1,200.00 * + └─ Duration (first 6B) 3,072,000,000 GB-seconds $51,200.10 * + + aws_lambda_function.lambda_withUsage512Mem + ├─ Requests 0.1 1M requests $0.02 * + └─ Duration (first 6B) 17,500 GB-seconds $0.29 * + + aws_lambda_function.lambda_withUsage512Mem_arm + ├─ Requests 0.1 1M requests $0.02 * + └─ Duration (first 7.5B) 17,500 GB-seconds $0.23 * + + aws_lambda_function.lambda_withUsage + ├─ Requests 0.1 1M requests $0.02 * + └─ Duration (first 6B) 4,375 GB-seconds $0.07 * + + aws_lambda_function.lambda_withUsage_arm + ├─ Requests 0.1 1M requests $0.02 * + └─ Duration (first 7.5B) 4,375 GB-seconds $0.06 * + + aws_lambda_function.lambda + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds + + aws_lambda_function.lambda_arm + ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds + └─ Duration (first 7.5B) Monthly cost depends on usage: $0.0000133334 per GB-seconds + OVERALL TOTAL $1,282,285.65 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 12 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLambdaFunctionGoldenFile ┃ $1,282,286 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLambdaFunctionGoldenFile ┃ $0.00 ┃ $1,282,286 ┃ $1,282,286 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden index 129dfbd0c02..563bb2bf728 100644 --- a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden @@ -1,18 +1,21 @@ - Name Monthly Qty Unit Monthly Cost - - aws_lambda_provisioned_concurrency_config.with_usage - ├─ Requests 10 1M requests $2.00 - ├─ Provisioned Concurrency 9,000,000 GB-seconds $30.00 - └─ Duration 1,750,000 GB-seconds $13.61 - + Name Monthly Qty Unit Monthly Cost + + aws_lambda_provisioned_concurrency_config.with_usage + ├─ Requests 10 1M requests $2.00 * + ├─ Provisioned Concurrency 9,000,000 GB-seconds $30.00 * + └─ Duration 1,750,000 GB-seconds $13.61 * + OVERALL TOTAL $45.61 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLambdaProvisionedConcurrencyConfig ┃ $46 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLambdaProvisionedConcurrencyConfig ┃ $0.00 ┃ $46 ┃ $46 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden index 3a794a90099..816c64f75a2 100644 --- a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden @@ -1,33 +1,36 @@ - Name Monthly Qty Unit Monthly Cost - - aws_lb.alb1_usage - ├─ Application load balancer 730 hours $16.43 - └─ Load balancer capacity units 1.3698 LCU $8.00 - - aws_lb.nlb1_usage - ├─ Network load balancer 730 hours $16.43 - └─ Load balancer capacity units 1.3698 LCU $6.00 - - aws_alb.alb1 - ├─ Application load balancer 730 hours $16.43 - └─ Load balancer capacity units Monthly cost depends on usage: $5.84 per LCU - - aws_lb.lb1 - ├─ Application load balancer 730 hours $16.43 - └─ Load balancer capacity units Monthly cost depends on usage: $5.84 per LCU - - aws_lb.nlb1 - ├─ Network load balancer 730 hours $16.43 - └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU - + Name Monthly Qty Unit Monthly Cost + + aws_lb.alb1_usage + ├─ Application load balancer 730 hours $16.43 + └─ Load balancer capacity units 1.3698 LCU $8.00 * + + aws_lb.nlb1_usage + ├─ Network load balancer 730 hours $16.43 + └─ Load balancer capacity units 1.3698 LCU $6.00 * + + aws_alb.alb1 + ├─ Application load balancer 730 hours $16.43 + └─ Load balancer capacity units Monthly cost depends on usage: $5.84 per LCU + + aws_lb.lb1 + ├─ Application load balancer 730 hours $16.43 + └─ Load balancer capacity units Monthly cost depends on usage: $5.84 per LCU + + aws_lb.nlb1 + ├─ Network load balancer 730 hours $16.43 + └─ Load balancer capacity units Monthly cost depends on usage: $4.38 per LCU + OVERALL TOTAL $96.13 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLBGoldenFile ┃ $96 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLBGoldenFile ┃ $82 ┃ $14 ┃ $96 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden index 1d00d40669f..5e6376fe421 100644 --- a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - aws_lightsail_instance.linux1 - └─ Virtual server (Linux/UNIX) 730 hours $78.50 - - aws_lightsail_instance.win1 - └─ Virtual server (Windows) 730 hours $19.62 - - OVERALL TOTAL $98.12 + Name Monthly Qty Unit Monthly Cost + + aws_lightsail_instance.linux1 + └─ Virtual server (Linux/UNIX) 730 hours $78.50 + + aws_lightsail_instance.win1 + └─ Virtual server (Windows) 730 hours $19.62 + + OVERALL TOTAL $98.12 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLightsailInstanceGoldenFile ┃ $98 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLightsailInstanceGoldenFile ┃ $98 ┃ $0.00 ┃ $98 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden index 372a9ebeb5d..1f88cf27d7e 100644 --- a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden +++ b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - aws_mq_broker.my_aws_mq_broker_rabbitmq_cluster - ├─ Instance usage (RabbitMQ, mq.m5.xlarge, cluster_multi_az) 730 hours $1,261.44 - └─ Storage (RabbitMQ, EBS) 30 GB $3.00 - - aws_mq_broker.my_aws_mq_broker_activemq_standby_efs - ├─ Instance usage (ActiveMQ, mq.m5.large, active_standby_multi_az) 730 hours $420.48 - └─ Storage (ActiveMQ, EFS) Monthly cost depends on usage: $0.30 per GB - - aws_mq_broker.my_aws_mq_broker_rabbitmq_single - ├─ Instance usage (RabbitMQ, mq.m5.xlarge, single_instance) 730 hours $420.48 - └─ Storage (RabbitMQ, EBS) Monthly cost depends on usage: $0.10 per GB - - aws_mq_broker.my_aws_mq_broker_activemq_single_default - ├─ Instance usage (ActiveMQ, mq.t2.micro, single_instance) 730 hours $21.90 - └─ Storage (ActiveMQ, EFS) Monthly cost depends on usage: $0.30 per GB - - aws_mq_broker.my_aws_mq_broker_activemq_single_ebs - ├─ Instance usage (ActiveMQ, mq.t2.micro, single_instance) 730 hours $21.90 - └─ Storage (ActiveMQ, EBS) Monthly cost depends on usage: $0.10 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_mq_broker.my_aws_mq_broker_rabbitmq_cluster + ├─ Instance usage (RabbitMQ, mq.m5.xlarge, cluster_multi_az) 730 hours $1,261.44 + └─ Storage (RabbitMQ, EBS) 30 GB $3.00 * + + aws_mq_broker.my_aws_mq_broker_activemq_standby_efs + ├─ Instance usage (ActiveMQ, mq.m5.large, active_standby_multi_az) 730 hours $420.48 + └─ Storage (ActiveMQ, EFS) Monthly cost depends on usage: $0.30 per GB + + aws_mq_broker.my_aws_mq_broker_rabbitmq_single + ├─ Instance usage (RabbitMQ, mq.m5.xlarge, single_instance) 730 hours $420.48 + └─ Storage (RabbitMQ, EBS) Monthly cost depends on usage: $0.10 per GB + + aws_mq_broker.my_aws_mq_broker_activemq_single_default + ├─ Instance usage (ActiveMQ, mq.t2.micro, single_instance) 730 hours $21.90 + └─ Storage (ActiveMQ, EFS) Monthly cost depends on usage: $0.30 per GB + + aws_mq_broker.my_aws_mq_broker_activemq_single_ebs + ├─ Instance usage (ActiveMQ, mq.t2.micro, single_instance) 730 hours $21.90 + └─ Storage (ActiveMQ, EBS) Monthly cost depends on usage: $0.10 per GB + OVERALL TOTAL $2,149.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 5 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMQBrokerGoldenFile ┃ $2,149 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMQBrokerGoldenFile ┃ $2,146 ┃ $3 ┃ $2,149 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden index 0ac98cc44bb..c38e705ae1d 100644 --- a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - aws_msk_cluster.cluster-4-nodes - ├─ Instance (kafka.m5.24xlarge) 2,920 hours $29,433.60 - └─ Storage 4,000 GB $400.00 - - aws_msk_cluster.cluster-autoscaling-usage - ├─ Instance (kafka.t3.small) 1,460 hours $66.58 - └─ Storage (autoscaling) 2,468 GB $246.80 - - aws_msk_cluster.cluster-2-nodes - ├─ Instance (kafka.t3.small) 1,460 hours $66.58 - └─ Storage 1,000 GB $100.00 - - aws_msk_cluster.cluster-autoscaling - ├─ Instance (kafka.t3.small) 1,460 hours $66.58 - └─ Storage (autoscaling) 246 GB $24.60 - + Name Monthly Qty Unit Monthly Cost + + aws_msk_cluster.cluster-4-nodes + ├─ Instance (kafka.m5.24xlarge) 2,920 hours $29,433.60 + └─ Storage 4,000 GB $400.00 * + + aws_msk_cluster.cluster-autoscaling-usage + ├─ Instance (kafka.t3.small) 1,460 hours $66.58 + └─ Storage (autoscaling) 2,468 GB $246.80 * + + aws_msk_cluster.cluster-2-nodes + ├─ Instance (kafka.t3.small) 1,460 hours $66.58 + └─ Storage 1,000 GB $100.00 * + + aws_msk_cluster.cluster-autoscaling + ├─ Instance (kafka.t3.small) 1,460 hours $66.58 + └─ Storage (autoscaling) 246 GB $24.60 * + OVERALL TOTAL $30,404.73 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMSKClusterGoldenFile ┃ $30,405 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMSKClusterGoldenFile ┃ $29,633 ┃ $771 ┃ $30,405 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden index d10069c720d..a37970ae203 100644 --- a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden @@ -1,31 +1,34 @@ - Name Monthly Qty Unit Monthly Cost - - aws_mwaa_environment.large_with_usage - ├─ Environment (Large) 730 hours $722.70 - ├─ Worker (Large) 1,825 hours $401.50 - ├─ Scheduler (Large) 2,190 hours $481.80 - └─ Meta database 1,000 GB $100.00 - - aws_mwaa_environment.medium - ├─ Environment (Medium) 730 hours $540.20 - ├─ Worker (Medium) Monthly cost depends on usage: $0.11 per hours - ├─ Scheduler (Medium) Monthly cost depends on usage: $0.11 per hours - └─ Meta database Monthly cost depends on usage: $0.10 per GB - - aws_mwaa_environment.default_environment_class - ├─ Environment (Small) 730 hours $357.70 - ├─ Worker (Small) Monthly cost depends on usage: $0.055 per hours - ├─ Scheduler (Small) Monthly cost depends on usage: $0.055 per hours - └─ Meta database Monthly cost depends on usage: $0.10 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_mwaa_environment.large_with_usage + ├─ Environment (Large) 730 hours $722.70 + ├─ Worker (Large) 1,825 hours $401.50 + ├─ Scheduler (Large) 2,190 hours $481.80 + └─ Meta database 1,000 GB $100.00 * + + aws_mwaa_environment.medium + ├─ Environment (Medium) 730 hours $540.20 + ├─ Worker (Medium) Monthly cost depends on usage: $0.11 per hours + ├─ Scheduler (Medium) Monthly cost depends on usage: $0.11 per hours + └─ Meta database Monthly cost depends on usage: $0.10 per GB + + aws_mwaa_environment.default_environment_class + ├─ Environment (Small) 730 hours $357.70 + ├─ Worker (Small) Monthly cost depends on usage: $0.055 per hours + ├─ Scheduler (Small) Monthly cost depends on usage: $0.055 per hours + └─ Meta database Monthly cost depends on usage: $0.10 per GB + OVERALL TOTAL $2,603.90 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMWAAEnvironmentGoldenFile ┃ $2,604 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMWAAEnvironmentGoldenFile ┃ $2,504 ┃ $100 ┃ $2,604 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden index db91b27c848..2d118ed0be7 100644 --- a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_nat_gateway.nat_withUsage - ├─ NAT gateway 730 hours $32.85 - └─ Data processed 100 GB $4.50 - - aws_nat_gateway.nat - ├─ NAT gateway 730 hours $32.85 - └─ Data processed Monthly cost depends on usage: $0.045 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_nat_gateway.nat_withUsage + ├─ NAT gateway 730 hours $32.85 + └─ Data processed 100 GB $4.50 * + + aws_nat_gateway.nat + ├─ NAT gateway 730 hours $32.85 + └─ Data processed Monthly cost depends on usage: $0.045 per GB + OVERALL TOTAL $70.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNATGatewayGoldenFile ┃ $70 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNATGatewayGoldenFile ┃ $66 ┃ $5 ┃ $70 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden index 7e50ba8d149..6b7fe305309 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden @@ -1,39 +1,42 @@ - Name Monthly Qty Unit Monthly Cost - - aws_neptune_cluster_instance.dbT3Medium - ├─ Database instance (on-demand, db.t3.medium) 730 hours $81.76 - └─ CPU credits 7,300 vCPU-hours $1,095.00 - - aws_neptune_cluster_instance.dbR4LargeCount2[0] - └─ Database instance (on-demand, db.r4.large) 730 hours $297.84 - - aws_neptune_cluster_instance.dbR4LargeCount2[1] - └─ Database instance (on-demand, db.r4.large) 730 hours $297.84 - - aws_neptune_cluster_instance.dbT3Medium-iooptimized - ├─ Database instance (on-demand, db.t3.medium) 730 hours $110.23 - └─ CPU credits Monthly cost depends on usage: $0.15 per vCPU-hours - - aws_neptune_cluster_instance.dbT3WithoutUsage - ├─ Database instance (on-demand, db.t3.medium) 730 hours $81.76 - └─ CPU credits Monthly cost depends on usage: $0.15 per vCPU-hours - - aws_neptune_cluster.default - ├─ Storage Monthly cost depends on usage: $0.12 per GB - └─ I/O requests Monthly cost depends on usage: $0.23 per 1M request - - aws_neptune_cluster.iooptimized - ├─ Storage Monthly cost depends on usage: $0.12 per GB - └─ I/O requests Monthly cost depends on usage: $0.23 per 1M request - + Name Monthly Qty Unit Monthly Cost + + aws_neptune_cluster_instance.dbT3Medium + ├─ Database instance (on-demand, db.t3.medium) 730 hours $81.76 + └─ CPU credits 7,300 vCPU-hours $1,095.00 * + + aws_neptune_cluster_instance.dbR4LargeCount2[0] + └─ Database instance (on-demand, db.r4.large) 730 hours $297.84 + + aws_neptune_cluster_instance.dbR4LargeCount2[1] + └─ Database instance (on-demand, db.r4.large) 730 hours $297.84 + + aws_neptune_cluster_instance.dbT3Medium-iooptimized + ├─ Database instance (on-demand, db.t3.medium) 730 hours $110.23 + └─ CPU credits Monthly cost depends on usage: $0.15 per vCPU-hours + + aws_neptune_cluster_instance.dbT3WithoutUsage + ├─ Database instance (on-demand, db.t3.medium) 730 hours $81.76 + └─ CPU credits Monthly cost depends on usage: $0.15 per vCPU-hours + + aws_neptune_cluster.default + ├─ Storage Monthly cost depends on usage: $0.12 per GB + └─ I/O requests Monthly cost depends on usage: $0.23 per 1M request + + aws_neptune_cluster.iooptimized + ├─ Storage Monthly cost depends on usage: $0.12 per GB + └─ I/O requests Monthly cost depends on usage: $0.23 per 1M request + OVERALL TOTAL $1,964.43 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 7 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNeptuneClusterInstanceGoldenFile ┃ $1,964 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNeptuneClusterInstanceGoldenFile ┃ $869 ┃ $1,095 ┃ $1,964 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden index 97df9ada743..cdb7e35968d 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden @@ -1,37 +1,40 @@ - Name Monthly Qty Unit Monthly Cost - - aws_neptune_cluster_snapshot.fiveDaysRetenPeriod - └─ Backup storage 1,000 GB $22.00 - - aws_neptune_cluster.fiveDaysRetentionPeriod - ├─ Storage Monthly cost depends on usage: $0.12 per GB - ├─ I/O requests Monthly cost depends on usage: $0.23 per 1M request - └─ Backup storage Monthly cost depends on usage: $0.022 per GB - - aws_neptune_cluster.oneDayRetentionPeriod - ├─ Storage Monthly cost depends on usage: $0.12 per GB - └─ I/O requests Monthly cost depends on usage: $0.23 per 1M request - - aws_neptune_cluster.withoutUsage - ├─ Storage Monthly cost depends on usage: $0.12 per GB - ├─ I/O requests Monthly cost depends on usage: $0.23 per 1M request - └─ Backup storage Monthly cost depends on usage: $0.022 per GB - - aws_neptune_cluster_snapshot.inAnotherModule - └─ Backup storage Monthly cost depends on usage: $0.022 per GB - - aws_neptune_cluster_snapshot.withoutUsage - └─ Backup storage Monthly cost depends on usage: $0.022 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_neptune_cluster_snapshot.fiveDaysRetenPeriod + └─ Backup storage 1,000 GB $22.00 * + + aws_neptune_cluster.fiveDaysRetentionPeriod + ├─ Storage Monthly cost depends on usage: $0.12 per GB + ├─ I/O requests Monthly cost depends on usage: $0.23 per 1M request + └─ Backup storage Monthly cost depends on usage: $0.022 per GB + + aws_neptune_cluster.oneDayRetentionPeriod + ├─ Storage Monthly cost depends on usage: $0.12 per GB + └─ I/O requests Monthly cost depends on usage: $0.23 per 1M request + + aws_neptune_cluster.withoutUsage + ├─ Storage Monthly cost depends on usage: $0.12 per GB + ├─ I/O requests Monthly cost depends on usage: $0.23 per 1M request + └─ Backup storage Monthly cost depends on usage: $0.022 per GB + + aws_neptune_cluster_snapshot.inAnotherModule + └─ Backup storage Monthly cost depends on usage: $0.022 per GB + + aws_neptune_cluster_snapshot.withoutUsage + └─ Backup storage Monthly cost depends on usage: $0.022 per GB + OVERALL TOTAL $22.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 6 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNeptuneClusterSnapshotGoldenFile ┃ $22 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNeptuneClusterSnapshotGoldenFile ┃ $0.00 ┃ $22 ┃ $22 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden index 3366d88a838..02a09cb3feb 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - aws_neptune_cluster.fiveDaysRetenPeriod - ├─ Storage 100 GB $11.60 - ├─ I/O requests 10 1M request $2.32 - └─ Backup storage 1,000 GB $22.00 - - aws_neptune_cluster.oneDayRetenPeriod - ├─ Storage 100 GB $11.60 - └─ I/O requests 10 1M request $2.32 - - aws_neptune_cluster.withoutUsage - ├─ Storage Monthly cost depends on usage: $0.12 per GB - ├─ I/O requests Monthly cost depends on usage: $0.23 per 1M request - └─ Backup storage Monthly cost depends on usage: $0.022 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_neptune_cluster.fiveDaysRetenPeriod + ├─ Storage 100 GB $11.60 * + ├─ I/O requests 10 1M request $2.32 * + └─ Backup storage 1,000 GB $22.00 * + + aws_neptune_cluster.oneDayRetenPeriod + ├─ Storage 100 GB $11.60 * + └─ I/O requests 10 1M request $2.32 * + + aws_neptune_cluster.withoutUsage + ├─ Storage Monthly cost depends on usage: $0.12 per GB + ├─ I/O requests Monthly cost depends on usage: $0.23 per 1M request + └─ Backup storage Monthly cost depends on usage: $0.022 per GB + OVERALL TOTAL $49.84 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNeptuneClusterGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNeptuneClusterGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden index ca9d66f4bee..f3bb6c2608d 100644 --- a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden +++ b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_networkfirewall_firewall.networkfirewall_firewall_with_usage - ├─ Network Firewall Endpoint 730 hours $288.35 - └─ Data Processed 100 GB $6.50 - - aws_networkfirewall_firewall.networkfirewall_firewall - ├─ Network Firewall Endpoint 730 hours $288.35 - └─ Data Processed Monthly cost depends on usage: $0.065 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_networkfirewall_firewall.networkfirewall_firewall_with_usage + ├─ Network Firewall Endpoint 730 hours $288.35 + └─ Data Processed 100 GB $6.50 * + + aws_networkfirewall_firewall.networkfirewall_firewall + ├─ Network Firewall Endpoint 730 hours $288.35 + └─ Data Processed Monthly cost depends on usage: $0.065 per GB + OVERALL TOTAL $583.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNetworkfirewallFirewallGoldenFile ┃ $583 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNetworkfirewallFirewallGoldenFile ┃ $577 ┃ $7 ┃ $583 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden index 782badc3c0a..98deb3baddb 100644 --- a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - aws_opensearch_domain.gp2 - ├─ Instance (on-demand, c4.2xlarge.search) 2,190 hours $1,285.53 - ├─ Storage (gp2) 400 GB $54.00 - ├─ Dedicated master (on-demand, c4.8xlarge.search) 730 hours $1,713.31 - └─ UltraWarm instance (on-demand, ultrawarm1.medium.search) 1,460 hours $347.48 - - aws_opensearch_domain.io1 - ├─ Instance (on-demand, c4.2xlarge.search) 2,190 hours $1,285.53 - ├─ Storage (io1) 1,000 GB $169.00 - └─ Storage IOPS (io1) 10 IOPS $0.88 - - aws_opensearch_domain.std - ├─ Instance (on-demand, c4.2xlarge.search) 2,190 hours $1,285.53 - └─ Storage (standard) 123 GB $8.24 - - OVERALL TOTAL $6,149.50 + Name Monthly Qty Unit Monthly Cost + + aws_opensearch_domain.gp2 + ├─ Instance (on-demand, c4.2xlarge.search) 2,190 hours $1,285.53 + ├─ Storage (gp2) 400 GB $54.00 + ├─ Dedicated master (on-demand, c4.8xlarge.search) 730 hours $1,713.31 + └─ UltraWarm instance (on-demand, ultrawarm1.medium.search) 1,460 hours $347.48 + + aws_opensearch_domain.io1 + ├─ Instance (on-demand, c4.2xlarge.search) 2,190 hours $1,285.53 + ├─ Storage (io1) 1,000 GB $169.00 + └─ Storage IOPS (io1) 10 IOPS $0.88 + + aws_opensearch_domain.std + ├─ Instance (on-demand, c4.2xlarge.search) 2,190 hours $1,285.53 + └─ Storage (standard) 123 GB $8.24 + + OVERALL TOTAL $6,149.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestOpensearchDomain ┃ $6,150 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestOpensearchDomain ┃ $6,150 ┃ $0.00 ┃ $6,150 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden index 7563c877324..c4078350ed0 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden @@ -1,93 +1,96 @@ - Name Monthly Qty Unit Monthly Cost - - aws_rds_cluster_instance.cluster_instance_performance_insights - ├─ Database instance (on-demand, db.r4.8xlarge) 730 hours $3,387.20 - ├─ Performance Insights Long Term Retention (db.r4.8xlarge) 32 vCPU-month $165.89 - └─ Performance Insights API Monthly cost depends on usage: $0.01 per 1000 requests - - aws_rds_cluster_instance.extended_support["aurora-postgresql-11"] - ├─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_rds_cluster_instance.extended_support["aurora-postgresql-11.22"] - ├─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - └─ Extended support (year 1) 1,460 vCPU-hours $146.00 - - aws_rds_cluster_instance.cluster_instance - └─ Database instance (on-demand, db.r4.large) 730 hours $211.70 - - aws_rds_cluster_instance.cluster_instance_1yr_no_upfront - └─ Database instance (reserved, db.r4.large) 730 hours $138.70 - - aws_rds_cluster_instance.cluster_instance_performance_insights_with_usage - ├─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - ├─ CPU credits 60 vCPU-hours $5.40 - ├─ Performance Insights Long Term Retention (db.t3.large) 2 vCPU-month $5.90 - └─ Performance Insights API 12.345 1000 requests $0.12 - - aws_rds_cluster_instance.extended_support["aurora-mysql-5.7"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.extended_support["aurora-mysql-5.7.44"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.extended_support["aurora-mysql-8.0"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.extended_support["aurora-mysql-8.0.36"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.extended_support["aurora-postgresql-12"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.extended_support["aurora-postgresql-13"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.extended_support["aurora-postgresql-14"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.extended_support["aurora-postgresql-15"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.extended_support["aurora-postgresql-16"] - └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 - - aws_rds_cluster_instance.cluster_instance_1yr_partial_upfront - └─ Database instance (reserved, db.r4.large) 730 hours $65.70 - - aws_rds_cluster_instance.cluster_instance_t3 - ├─ Database instance (on-demand, db.t3.medium) 730 hours $59.86 - └─ CPU credits 48 vCPU-hours $4.32 - - aws_rds_cluster_instance.cluster_instance_3yr_partial_upfront - └─ Database instance (reserved, db.r4.large) 730 hours $43.80 - - aws_rds_cluster_instance.cluster_instance_1yr_all_upfront - └─ Database instance (reserved, db.r4.large) 730 hours $0.00 - - aws_rds_cluster_instance.cluster_instance_3yr_all_upfront - └─ Database instance (reserved, db.t3.medium) 730 hours $0.00 - - aws_rds_cluster.default - ├─ Storage Monthly cost depends on usage: $0.10 per GB - ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Backtrack Monthly cost depends on usage: $0.012 per 1M change-records - └─ Snapshot export Monthly cost depends on usage: $0.01 per GB - - aws_rds_cluster.default_t3 - ├─ Storage Monthly cost depends on usage: $0.10 per GB - ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Backtrack Monthly cost depends on usage: $0.012 per 1M change-records - └─ Snapshot export Monthly cost depends on usage: $0.01 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_rds_cluster_instance.cluster_instance_performance_insights + ├─ Database instance (on-demand, db.r4.8xlarge) 730 hours $3,387.20 + ├─ Performance Insights Long Term Retention (db.r4.8xlarge) 32 vCPU-month $165.89 + └─ Performance Insights API Monthly cost depends on usage: $0.01 per 1000 requests + + aws_rds_cluster_instance.extended_support["aurora-postgresql-11"] + ├─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_rds_cluster_instance.extended_support["aurora-postgresql-11.22"] + ├─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + └─ Extended support (year 1) 1,460 vCPU-hours $146.00 + + aws_rds_cluster_instance.cluster_instance + └─ Database instance (on-demand, db.r4.large) 730 hours $211.70 + + aws_rds_cluster_instance.cluster_instance_1yr_no_upfront + └─ Database instance (reserved, db.r4.large) 730 hours $138.70 + + aws_rds_cluster_instance.cluster_instance_performance_insights_with_usage + ├─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + ├─ CPU credits 60 vCPU-hours $5.40 * + ├─ Performance Insights Long Term Retention (db.t3.large) 2 vCPU-month $5.90 + └─ Performance Insights API 12.345 1000 requests $0.12 * + + aws_rds_cluster_instance.extended_support["aurora-mysql-5.7"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.extended_support["aurora-mysql-5.7.44"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.extended_support["aurora-mysql-8.0"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.extended_support["aurora-mysql-8.0.36"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.extended_support["aurora-postgresql-12"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.extended_support["aurora-postgresql-13"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.extended_support["aurora-postgresql-14"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.extended_support["aurora-postgresql-15"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.extended_support["aurora-postgresql-16"] + └─ Database instance (on-demand, db.t3.large) 730 hours $119.72 + + aws_rds_cluster_instance.cluster_instance_1yr_partial_upfront + └─ Database instance (reserved, db.r4.large) 730 hours $65.70 + + aws_rds_cluster_instance.cluster_instance_t3 + ├─ Database instance (on-demand, db.t3.medium) 730 hours $59.86 + └─ CPU credits 48 vCPU-hours $4.32 * + + aws_rds_cluster_instance.cluster_instance_3yr_partial_upfront + └─ Database instance (reserved, db.r4.large) 730 hours $43.80 + + aws_rds_cluster_instance.cluster_instance_1yr_all_upfront + └─ Database instance (reserved, db.r4.large) 730 hours $0.00 + + aws_rds_cluster_instance.cluster_instance_3yr_all_upfront + └─ Database instance (reserved, db.t3.medium) 730 hours $0.00 + + aws_rds_cluster.default + ├─ Storage Monthly cost depends on usage: $0.10 per GB + ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Backtrack Monthly cost depends on usage: $0.012 per 1M change-records + └─ Snapshot export Monthly cost depends on usage: $0.01 per GB + + aws_rds_cluster.default_t3 + ├─ Storage Monthly cost depends on usage: $0.10 per GB + ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Backtrack Monthly cost depends on usage: $0.012 per 1M change-records + └─ Snapshot export Monthly cost depends on usage: $0.01 per GB + OVERALL TOTAL $5,817.24 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 22 cloud resources were detected: ∙ 22 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestRDSClusterInstanceGoldenFile ┃ $5,817 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestRDSClusterInstanceGoldenFile ┃ $5,807 ┃ $10 ┃ $5,817 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden index 192df910388..148e9bc8ce6 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden @@ -1,59 +1,62 @@ - Name Monthly Qty Unit Monthly Cost - - aws_rds_cluster.postgres_serverlessWithExport - ├─ Aurora serverless 730,000 ACU-hours $43,800.00 - ├─ Storage 100 GB $10.00 - ├─ I/O requests 52.56 1M requests $10.51 - ├─ Backup storage 400 GB $8.40 - └─ Snapshot export 200 GB $2.00 - - aws_rds_cluster.postgres_serverlessWithBackup - ├─ Aurora serverless 730,000 ACU-hours $43,800.00 - ├─ Storage 100 GB $10.00 - ├─ I/O requests 52.56 1M requests $10.51 - ├─ Backup storage 400 GB $8.40 - └─ Snapshot export Monthly cost depends on usage: $0.01 per GB - - aws_rds_cluster.my_sql_serverless - ├─ Aurora serverless 730,000 ACU-hours $43,800.00 - ├─ Storage 100 GB $10.00 - ├─ I/O requests 52.56 1M requests $10.51 - └─ Snapshot export Monthly cost depends on usage: $0.01 per GB - - aws_rds_cluster.postgres_serverless - ├─ Aurora serverless 730,000 ACU-hours $43,800.00 - ├─ Storage 100 GB $10.00 - ├─ I/O requests 52.56 1M requests $10.51 - └─ Snapshot export Monthly cost depends on usage: $0.01 per GB - - aws_rds_cluster.mysql_backtrack - ├─ Storage 100 GB $10.00 - ├─ I/O requests 52.56 1M requests $10.51 - ├─ Backup storage 400 GB $8.40 - ├─ Backtrack 66,576 1M change-records $798.91 - └─ Snapshot export 200 GB $2.00 - - aws_rds_cluster.mysql_backtrack_withoutU - ├─ Storage Monthly cost depends on usage: $0.10 per GB - ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Backup storage Monthly cost depends on usage: $0.021 per GB - ├─ Backtrack Monthly cost depends on usage: $0.012 per 1M change-records - └─ Snapshot export Monthly cost depends on usage: $0.01 per GB - - aws_rds_cluster.postgres_serverless_withoutU - ├─ Aurora serverless Monthly cost depends on usage: $0.06 per ACU-hours - ├─ Storage Monthly cost depends on usage: $0.10 per GB - ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests - └─ Snapshot export Monthly cost depends on usage: $0.01 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_rds_cluster.postgres_serverlessWithExport + ├─ Aurora serverless 730,000 ACU-hours $43,800.00 * + ├─ Storage 100 GB $10.00 * + ├─ I/O requests 52.56 1M requests $10.51 * + ├─ Backup storage 400 GB $8.40 * + └─ Snapshot export 200 GB $2.00 * + + aws_rds_cluster.postgres_serverlessWithBackup + ├─ Aurora serverless 730,000 ACU-hours $43,800.00 * + ├─ Storage 100 GB $10.00 * + ├─ I/O requests 52.56 1M requests $10.51 * + ├─ Backup storage 400 GB $8.40 * + └─ Snapshot export Monthly cost depends on usage: $0.01 per GB + + aws_rds_cluster.my_sql_serverless + ├─ Aurora serverless 730,000 ACU-hours $43,800.00 * + ├─ Storage 100 GB $10.00 * + ├─ I/O requests 52.56 1M requests $10.51 * + └─ Snapshot export Monthly cost depends on usage: $0.01 per GB + + aws_rds_cluster.postgres_serverless + ├─ Aurora serverless 730,000 ACU-hours $43,800.00 * + ├─ Storage 100 GB $10.00 * + ├─ I/O requests 52.56 1M requests $10.51 * + └─ Snapshot export Monthly cost depends on usage: $0.01 per GB + + aws_rds_cluster.mysql_backtrack + ├─ Storage 100 GB $10.00 * + ├─ I/O requests 52.56 1M requests $10.51 * + ├─ Backup storage 400 GB $8.40 * + ├─ Backtrack 66,576 1M change-records $798.91 * + └─ Snapshot export 200 GB $2.00 * + + aws_rds_cluster.mysql_backtrack_withoutU + ├─ Storage Monthly cost depends on usage: $0.10 per GB + ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests + ├─ Backup storage Monthly cost depends on usage: $0.021 per GB + ├─ Backtrack Monthly cost depends on usage: $0.012 per 1M change-records + └─ Snapshot export Monthly cost depends on usage: $0.01 per GB + + aws_rds_cluster.postgres_serverless_withoutU + ├─ Aurora serverless Monthly cost depends on usage: $0.06 per ACU-hours + ├─ Storage Monthly cost depends on usage: $0.10 per GB + ├─ I/O requests Monthly cost depends on usage: $0.20 per 1M requests + └─ Snapshot export Monthly cost depends on usage: $0.01 per GB + OVERALL TOTAL $176,130.67 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 7 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestRDSClusterGoldenFile ┃ $176,131 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestRDSClusterGoldenFile ┃ $0.00 ┃ $176,131 ┃ $176,131 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden index 4d9c79ee297..14fbf6c314f 100644 --- a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden @@ -1,41 +1,44 @@ - Name Monthly Qty Unit Monthly Cost - - aws_redshift_cluster.ca_withUsage - ├─ Cluster usage (on-demand, ds2.8xlarge) 730 hours $4,964.00 - ├─ Concurrency scaling (ds2.8xlarge) 4,321 node-seconds $8.17 - ├─ Spectrum 0.5 TB $2.50 - ├─ Backup storage (first 50 TB) 51,200 GB $1,177.60 - ├─ Backup storage (next 450 TB) 512,000 GB $11,264.00 - └─ Backup storage (over 500 TB) 48,800 GB $1,024.80 - - aws_redshift_cluster.manageda - ├─ Cluster usage (on-demand, ra3.4xlarge) 4,380 hours $14,278.80 - ├─ Managed storage (ra3.4xlarge) Monthly cost depends on usage: $0.024 per GB - ├─ Concurrency scaling (ra3.4xlarge) Monthly cost depends on usage: $0.0009 per node-seconds - ├─ Spectrum Monthly cost depends on usage: $5.00 per TB - └─ Backup storage (first 50 TB) Monthly cost depends on usage: $0.023 per GB - - aws_redshift_cluster.manageda_withUsage - ├─ Cluster usage (on-demand, ra3.16xlarge) 730 hours $9,519.20 - ├─ Managed storage (ra3.16xlarge) 321 GB $7.70 - ├─ Concurrency scaling (ra3.16xlarge) Monthly cost depends on usage: $0.00362 per node-seconds - ├─ Spectrum Monthly cost depends on usage: $5.00 per TB - └─ Backup storage (first 50 TB) Monthly cost depends on usage: $0.023 per GB - - aws_redshift_cluster.ca - ├─ Cluster usage (on-demand, dc2.large) 2,920 hours $730.00 - ├─ Concurrency scaling (dc2.large) Monthly cost depends on usage: $0.00007 per node-seconds - ├─ Spectrum Monthly cost depends on usage: $5.00 per TB - └─ Backup storage (first 50 TB) Monthly cost depends on usage: $0.023 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_redshift_cluster.ca_withUsage + ├─ Cluster usage (on-demand, ds2.8xlarge) 730 hours $4,964.00 + ├─ Concurrency scaling (ds2.8xlarge) 4,321 node-seconds $8.17 * + ├─ Spectrum 0.5 TB $2.50 * + ├─ Backup storage (first 50 TB) 51,200 GB $1,177.60 * + ├─ Backup storage (next 450 TB) 512,000 GB $11,264.00 * + └─ Backup storage (over 500 TB) 48,800 GB $1,024.80 * + + aws_redshift_cluster.manageda + ├─ Cluster usage (on-demand, ra3.4xlarge) 4,380 hours $14,278.80 + ├─ Managed storage (ra3.4xlarge) Monthly cost depends on usage: $0.024 per GB + ├─ Concurrency scaling (ra3.4xlarge) Monthly cost depends on usage: $0.0009 per node-seconds + ├─ Spectrum Monthly cost depends on usage: $5.00 per TB + └─ Backup storage (first 50 TB) Monthly cost depends on usage: $0.023 per GB + + aws_redshift_cluster.manageda_withUsage + ├─ Cluster usage (on-demand, ra3.16xlarge) 730 hours $9,519.20 + ├─ Managed storage (ra3.16xlarge) 321 GB $7.70 * + ├─ Concurrency scaling (ra3.16xlarge) Monthly cost depends on usage: $0.00362 per node-seconds + ├─ Spectrum Monthly cost depends on usage: $5.00 per TB + └─ Backup storage (first 50 TB) Monthly cost depends on usage: $0.023 per GB + + aws_redshift_cluster.ca + ├─ Cluster usage (on-demand, dc2.large) 2,920 hours $730.00 + ├─ Concurrency scaling (dc2.large) Monthly cost depends on usage: $0.00007 per node-seconds + ├─ Spectrum Monthly cost depends on usage: $5.00 per TB + └─ Backup storage (first 50 TB) Monthly cost depends on usage: $0.023 per GB + OVERALL TOTAL $42,976.77 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestRedshiftClusterGoldenFile ┃ $42,977 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestRedshiftClusterGoldenFile ┃ $29,492 ┃ $13,485 ┃ $42,977 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden index f51db0ea136..841ca8639c2 100644 --- a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden @@ -1,51 +1,54 @@ - Name Monthly Qty Unit Monthly Cost - - aws_route53_health_check.ssl_latency_interval_string_match_withUsage - ├─ Health check 1 months $0.75 - └─ Optional features 4 months $8.00 - - aws_route53_health_check.ssl_latency_string_match_withUsage - ├─ Health check 1 months $0.75 - └─ Optional features 3 months $6.00 - - aws_route53_health_check.ssl_string_match_withUsage - ├─ Health check 1 months $0.75 - └─ Optional features 2 months $4.00 - - aws_route53_health_check.ssl_latency_interval_string_match - ├─ Health check 1 months $0.50 - └─ Optional features 4 months $4.00 - - aws_route53_health_check.ssl_latency_string_match - ├─ Health check 1 months $0.50 - └─ Optional features 3 months $3.00 - - aws_route53_health_check.https_withUsage - ├─ Health check 1 months $0.75 - └─ Optional features 1 months $2.00 - - aws_route53_health_check.ssl_string_match - ├─ Health check 1 months $0.50 - └─ Optional features 2 months $2.00 - - aws_route53_health_check.https - ├─ Health check 1 months $0.50 - └─ Optional features 1 months $1.00 - - aws_route53_health_check.simple_withUsage - └─ Health check 1 months $0.75 - - aws_route53_health_check.simple - └─ Health check 1 months $0.50 - - OVERALL TOTAL $36.25 + Name Monthly Qty Unit Monthly Cost + + aws_route53_health_check.ssl_latency_interval_string_match_withUsage + ├─ Health check 1 months $0.75 + └─ Optional features 4 months $8.00 + + aws_route53_health_check.ssl_latency_string_match_withUsage + ├─ Health check 1 months $0.75 + └─ Optional features 3 months $6.00 + + aws_route53_health_check.ssl_string_match_withUsage + ├─ Health check 1 months $0.75 + └─ Optional features 2 months $4.00 + + aws_route53_health_check.ssl_latency_interval_string_match + ├─ Health check 1 months $0.50 + └─ Optional features 4 months $4.00 + + aws_route53_health_check.ssl_latency_string_match + ├─ Health check 1 months $0.50 + └─ Optional features 3 months $3.00 + + aws_route53_health_check.https_withUsage + ├─ Health check 1 months $0.75 + └─ Optional features 1 months $2.00 + + aws_route53_health_check.ssl_string_match + ├─ Health check 1 months $0.50 + └─ Optional features 2 months $2.00 + + aws_route53_health_check.https + ├─ Health check 1 months $0.50 + └─ Optional features 1 months $1.00 + + aws_route53_health_check.simple_withUsage + └─ Health check 1 months $0.75 + + aws_route53_health_check.simple + └─ Health check 1 months $0.50 + + OVERALL TOTAL $36.25 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 10 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestGetRoute53HealthCheckGoldenFile ┃ $36 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestGetRoute53HealthCheckGoldenFile ┃ $36 ┃ $0.00 ┃ $36 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden index d312d0b6b6a..b3260bbd320 100644 --- a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden @@ -1,32 +1,35 @@ - Name Monthly Qty Unit Monthly Cost - - aws_route53_record.my_record_withUsage - ├─ Standard queries (first 1B) 1,000 1M queries $400.00 - ├─ Standard queries (over 1B) 100 1M queries $20.00 - ├─ Latency based routing queries (first 1B) 1,000 1M queries $600.00 - ├─ Latency based routing queries (over 1B) 200 1M queries $60.00 - ├─ Geo DNS queries (first 1B) 1,000 1M queries $700.00 - └─ Geo DNS queries (over 1B) 500 1M queries $175.00 - - aws_route53_zone.zone1 - └─ Hosted zone 1 months $0.50 - - aws_route53_zone.zone_withUsage - └─ Hosted zone 1 months $0.50 - - aws_route53_record.standard - ├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - ├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries - └─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + aws_route53_record.my_record_withUsage + ├─ Standard queries (first 1B) 1,000 1M queries $400.00 * + ├─ Standard queries (over 1B) 100 1M queries $20.00 * + ├─ Latency based routing queries (first 1B) 1,000 1M queries $600.00 * + ├─ Latency based routing queries (over 1B) 200 1M queries $60.00 * + ├─ Geo DNS queries (first 1B) 1,000 1M queries $700.00 * + └─ Geo DNS queries (over 1B) 500 1M queries $175.00 * + + aws_route53_zone.zone1 + └─ Hosted zone 1 months $0.50 + + aws_route53_zone.zone_withUsage + └─ Hosted zone 1 months $0.50 + + aws_route53_record.standard + ├─ Standard queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + ├─ Latency based routing queries (first 1B) Monthly cost depends on usage: $0.60 per 1M queries + └─ Geo DNS queries (first 1B) Monthly cost depends on usage: $0.70 per 1M queries + OVERALL TOTAL $1,956.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestRoute53RecordGoldenFile ┃ $1,956 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestRoute53RecordGoldenFile ┃ $1 ┃ $1,955 ┃ $1,956 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden index 9cd607006b2..232729d44be 100644 --- a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden @@ -1,26 +1,29 @@ - Name Monthly Qty Unit Monthly Cost - - aws_route53_resolver_endpoint.test_withUsage2B - ├─ Resolver endpoints 1,460 hours $182.50 - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 1,000 1M queries $200.00 - - aws_route53_resolver_endpoint.test_withUsage1B - ├─ Resolver endpoints 1,460 hours $182.50 - └─ DNS queries (first 1B) 100 1M queries $40.00 - - aws_route53_resolver_endpoint.test - ├─ Resolver endpoints 1,460 hours $182.50 - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + aws_route53_resolver_endpoint.test_withUsage2B + ├─ Resolver endpoints 1,460 hours $182.50 + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 1,000 1M queries $200.00 * + + aws_route53_resolver_endpoint.test_withUsage1B + ├─ Resolver endpoints 1,460 hours $182.50 + └─ DNS queries (first 1B) 100 1M queries $40.00 * + + aws_route53_resolver_endpoint.test + ├─ Resolver endpoints 1,460 hours $182.50 + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $1,187.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestRoute53ResolverEndpointGoldenFile ┃ $1,188 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestRoute53ResolverEndpointGoldenFile ┃ $548 ┃ $640 ┃ $1,188 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden index 5dbb703d60d..7931ab1a964 100644 --- a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - aws_route53_zone.zone1 - └─ Hosted zone 1 months $0.50 - - OVERALL TOTAL $0.50 + Name Monthly Qty Unit Monthly Cost + + aws_route53_zone.zone1 + └─ Hosted zone 1 months $0.50 + + OVERALL TOTAL $0.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestRoute53ZoneGoldenFile ┃ $0.50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestRoute53ZoneGoldenFile ┃ $0.50 ┃ $0.00 ┃ $0.50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden index 33762fe3e56..bb50ef1ba34 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden @@ -1,35 +1,38 @@ - Name Monthly Qty Unit Monthly Cost - - aws_s3_bucket_analytics_configuration.bucketanalytics - └─ Objects monitored 10 1M objects $1.00 - - aws_s3_bucket.bucket1 - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - aws_s3_bucket.bucket1_withUsage - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - aws_s3_bucket_analytics_configuration.bucketanalytics_withUsage - └─ Objects monitored Monthly cost depends on usage: $0.10 per 1M objects - + Name Monthly Qty Unit Monthly Cost + + aws_s3_bucket_analytics_configuration.bucketanalytics + └─ Objects monitored 10 1M objects $1.00 * + + aws_s3_bucket.bucket1 + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + aws_s3_bucket.bucket1_withUsage + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + aws_s3_bucket_analytics_configuration.bucketanalytics_withUsage + └─ Objects monitored Monthly cost depends on usage: $0.10 per 1M objects + OVERALL TOTAL $1.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestS3AnalyticsConfigurationGoldenFile ┃ $1 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestS3AnalyticsConfigurationGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden index a301444a8c7..2bf1201639d 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden @@ -1,51 +1,54 @@ - Name Monthly Qty Unit Monthly Cost - - aws_s3_bucket_inventory.inventory_withUsage - └─ Objects listed 10 1M objects $0.03 - - aws_s3_bucket.bucket1 - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - aws_s3_bucket.bucket1_withUsage - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - aws_s3_bucket.bucket2 - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - aws_s3_bucket.bucket2_withUsage - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - aws_s3_bucket_inventory.inventory - └─ Objects listed Monthly cost depends on usage: $0.0025 per 1M objects - + Name Monthly Qty Unit Monthly Cost + + aws_s3_bucket_inventory.inventory_withUsage + └─ Objects listed 10 1M objects $0.03 * + + aws_s3_bucket.bucket1 + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + aws_s3_bucket.bucket1_withUsage + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + aws_s3_bucket.bucket2 + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + aws_s3_bucket.bucket2_withUsage + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + aws_s3_bucket_inventory.inventory + └─ Objects listed Monthly cost depends on usage: $0.0025 per 1M objects + OVERALL TOTAL $0.03 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestS3BucketInventoryGoldenFile ┃ $0.03 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestS3BucketInventoryGoldenFile ┃ $0.00 ┃ $0.03 ┃ $0.03 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden index 3c836d12354..9a265cc01f0 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden @@ -1,218 +1,221 @@ - Name Monthly Qty Unit Monthly Cost - - aws_s3_bucket_lifecycle_configuration.bucket_lifecycle_config_with_usage - ├─ Object tagging 0.1 10k tags $0.00 - ├─ Standard - │ ├─ Storage 10,000 GB $230.00 - │ ├─ PUT, COPY, POST, LIST requests 10 1k requests $0.05 - │ ├─ GET, SELECT, and all other requests 10 1k requests $0.00 - │ ├─ Select data scanned 10,000 GB $20.00 - │ └─ Select data returned 10,000 GB $7.00 - ├─ Intelligent tiering - │ ├─ Storage (frequent access) 20,000 GB $460.00 - │ ├─ Storage (infrequent access) 20,000 GB $250.00 - │ ├─ Storage (archive access) 20,000 GB $72.00 - │ ├─ Storage (deep archive access) 20,000 GB $19.80 - │ ├─ Monitoring and automation 20 1k objects $0.05 - │ ├─ PUT, COPY, POST, LIST requests 20 1k requests $0.10 - │ ├─ GET, SELECT, and all other requests 20 1k requests $0.01 - │ ├─ Lifecycle transition 20 1k requests $0.20 - │ ├─ Select data scanned 20,000 GB $40.00 - │ ├─ Select data returned 20,000 GB $14.00 - │ └─ Early delete (within 30 days) 20,000 GB $460.00 - ├─ Standard - infrequent access - │ ├─ Storage 30,000 GB $375.00 - │ ├─ PUT, COPY, POST, LIST requests 30 1k requests $0.30 - │ ├─ GET, SELECT, and all other requests 30 1k requests $0.03 - │ ├─ Lifecycle transition 30 1k requests $0.30 - │ ├─ Retrievals 30,000 GB $300.00 - │ ├─ Select data scanned 30,000 GB $60.00 - │ └─ Select data returned 30,000 GB $300.00 - ├─ One zone - infrequent access - │ ├─ Storage 40,000 GB $400.00 - │ ├─ PUT, COPY, POST, LIST requests 40 1k requests $0.40 - │ ├─ GET, SELECT, and all other requests 40 1k requests $0.04 - │ ├─ Lifecycle transition 40 1k requests $0.40 - │ ├─ Retrievals 40,000 GB $400.00 - │ ├─ Select data scanned 40,000 GB $80.00 - │ └─ Select data returned 40,000 GB $400.00 - ├─ Glacier flexible retrieval - │ ├─ Storage 50,000 GB $180.00 - │ ├─ PUT, COPY, POST, LIST requests 50 1k requests $1.50 - │ ├─ GET, SELECT, and all other requests 50 1k requests $0.02 - │ ├─ Lifecycle transition 50 1k requests $1.50 - │ ├─ Retrieval requests (standard) 50 1k requests $1.50 - │ ├─ Retrievals (standard) 50,000 GB $500.00 - │ ├─ Select data scanned (standard) 50,000 GB $400.00 - │ ├─ Select data returned (standard) 50,000 GB $500.00 - │ ├─ Retrieval requests (expedited) 50 1k requests $500.00 - │ ├─ Retrievals (expedited) 50,000 GB $1,500.00 - │ ├─ Select data scanned (expedited) 50,000 GB $1,000.00 - │ ├─ Select data returned (expedited) 50,000 GB $1,500.00 - │ ├─ Select data scanned (bulk) 50,000 GB $50.00 - │ ├─ Select data returned (bulk) 50,000 GB $125.00 - │ └─ Early delete (within 90 days) 50,000 GB $180.00 - └─ Glacier deep archive - ├─ Storage 60,000 GB $59.40 - ├─ PUT, COPY, POST, LIST requests 60 1k requests $3.00 - ├─ GET, SELECT, and all other requests 60 1k requests $0.02 - ├─ Lifecycle transition 60 1k requests $3.00 - ├─ Retrieval requests (standard) 60 1k requests $6.00 - ├─ Retrievals (standard) 60,000 GB $1,200.00 - ├─ Retrieval requests (bulk) 60 1k requests $1.50 - ├─ Retrievals (bulk) 60,000 GB $150.00 - └─ Early delete (within 180 days) 60,000 GB $59.40 - - aws_s3_bucket.bucket - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - - aws_s3_bucket_lifecycle_configuration.bucket_lifecycle_config - ├─ Object tagging Monthly cost depends on usage: $0.01 per 10k tags - ├─ Standard - │ ├─ Storage Monthly cost depends on usage: $0.023 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - ├─ Intelligent tiering - │ ├─ Storage (frequent access) Monthly cost depends on usage: $0.023 per GB - │ ├─ Storage (infrequent access) Monthly cost depends on usage: $0.0125 per GB - │ ├─ Storage (archive access) Monthly cost depends on usage: $0.0036 per GB - │ ├─ Storage (deep archive access) Monthly cost depends on usage: $0.00099 per GB - │ ├─ Monitoring and automation Monthly cost depends on usage: $0.0025 per 1k objects - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ ├─ Select data returned Monthly cost depends on usage: $0.0007 per GB - │ └─ Early delete (within 30 days) Monthly cost depends on usage: $0.023 per GB - ├─ Standard - infrequent access - │ ├─ Storage Monthly cost depends on usage: $0.0125 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB - ├─ One zone - infrequent access - │ ├─ Storage Monthly cost depends on usage: $0.01 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB - ├─ Glacier flexible retrieval - │ ├─ Storage Monthly cost depends on usage: $0.0036 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ Retrievals (standard) Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned (standard) Monthly cost depends on usage: $0.008 per GB - │ ├─ Select data returned (standard) Monthly cost depends on usage: $0.01 per GB - │ ├─ Retrieval requests (expedited) Monthly cost depends on usage: $10.00 per 1k requests - │ ├─ Retrievals (expedited) Monthly cost depends on usage: $0.03 per GB - │ ├─ Select data scanned (expedited) Monthly cost depends on usage: $0.02 per GB - │ ├─ Select data returned (expedited) Monthly cost depends on usage: $0.03 per GB - │ ├─ Select data scanned (bulk) Monthly cost depends on usage: $0.001 per GB - │ ├─ Select data returned (bulk) Monthly cost depends on usage: $0.0025 per GB - │ └─ Early delete (within 90 days) Monthly cost depends on usage: $0.0036 per GB - └─ Glacier deep archive - ├─ Storage Monthly cost depends on usage: $0.00099 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.05 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Lifecycle transition Monthly cost depends on usage: $0.05 per 1k requests - ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.10 per 1k requests - ├─ Retrievals (standard) Monthly cost depends on usage: $0.02 per GB - ├─ Retrieval requests (bulk) Monthly cost depends on usage: $0.025 per 1k requests - ├─ Retrievals (bulk) Monthly cost depends on usage: $0.0025 per GB - └─ Early delete (within 180 days) Monthly cost depends on usage: $0.00099 per GB - - aws_s3_bucket_lifecycle_configuration.bucket_lifecycle_config_noncurrent_version_transitions - ├─ Object tagging Monthly cost depends on usage: $0.01 per 10k tags - ├─ Standard - │ ├─ Storage Monthly cost depends on usage: $0.023 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - ├─ Intelligent tiering - │ ├─ Storage (frequent access) Monthly cost depends on usage: $0.023 per GB - │ ├─ Storage (infrequent access) Monthly cost depends on usage: $0.0125 per GB - │ ├─ Storage (archive access) Monthly cost depends on usage: $0.0036 per GB - │ ├─ Storage (deep archive access) Monthly cost depends on usage: $0.00099 per GB - │ ├─ Monitoring and automation Monthly cost depends on usage: $0.0025 per 1k objects - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ ├─ Select data returned Monthly cost depends on usage: $0.0007 per GB - │ └─ Early delete (within 30 days) Monthly cost depends on usage: $0.023 per GB - ├─ Standard - infrequent access - │ ├─ Storage Monthly cost depends on usage: $0.0125 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB - ├─ One zone - infrequent access - │ ├─ Storage Monthly cost depends on usage: $0.01 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB - ├─ Glacier flexible retrieval - │ ├─ Storage Monthly cost depends on usage: $0.0036 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ Retrievals (standard) Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned (standard) Monthly cost depends on usage: $0.008 per GB - │ ├─ Select data returned (standard) Monthly cost depends on usage: $0.01 per GB - │ ├─ Retrieval requests (expedited) Monthly cost depends on usage: $10.00 per 1k requests - │ ├─ Retrievals (expedited) Monthly cost depends on usage: $0.03 per GB - │ ├─ Select data scanned (expedited) Monthly cost depends on usage: $0.02 per GB - │ ├─ Select data returned (expedited) Monthly cost depends on usage: $0.03 per GB - │ ├─ Select data scanned (bulk) Monthly cost depends on usage: $0.001 per GB - │ ├─ Select data returned (bulk) Monthly cost depends on usage: $0.0025 per GB - │ └─ Early delete (within 90 days) Monthly cost depends on usage: $0.0036 per GB - └─ Glacier deep archive - ├─ Storage Monthly cost depends on usage: $0.00099 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.05 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Lifecycle transition Monthly cost depends on usage: $0.05 per 1k requests - ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.10 per 1k requests - ├─ Retrievals (standard) Monthly cost depends on usage: $0.02 per GB - ├─ Retrieval requests (bulk) Monthly cost depends on usage: $0.025 per 1k requests - ├─ Retrievals (bulk) Monthly cost depends on usage: $0.0025 per GB - └─ Early delete (within 180 days) Monthly cost depends on usage: $0.00099 per GB - - aws_s3_bucket_lifecycle_configuration.bucket_lifecycle_config_without_tags - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_s3_bucket_lifecycle_configuration.bucket_lifecycle_config_with_usage + ├─ Object tagging 0.1 10k tags $0.00 * + ├─ Standard + │ ├─ Storage 10,000 GB $230.00 * + │ ├─ PUT, COPY, POST, LIST requests 10 1k requests $0.05 * + │ ├─ GET, SELECT, and all other requests 10 1k requests $0.00 * + │ ├─ Select data scanned 10,000 GB $20.00 * + │ └─ Select data returned 10,000 GB $7.00 * + ├─ Intelligent tiering + │ ├─ Storage (frequent access) 20,000 GB $460.00 * + │ ├─ Storage (infrequent access) 20,000 GB $250.00 * + │ ├─ Storage (archive access) 20,000 GB $72.00 * + │ ├─ Storage (deep archive access) 20,000 GB $19.80 * + │ ├─ Monitoring and automation 20 1k objects $0.05 * + │ ├─ PUT, COPY, POST, LIST requests 20 1k requests $0.10 * + │ ├─ GET, SELECT, and all other requests 20 1k requests $0.01 * + │ ├─ Lifecycle transition 20 1k requests $0.20 * + │ ├─ Select data scanned 20,000 GB $40.00 * + │ ├─ Select data returned 20,000 GB $14.00 * + │ └─ Early delete (within 30 days) 20,000 GB $460.00 * + ├─ Standard - infrequent access + │ ├─ Storage 30,000 GB $375.00 * + │ ├─ PUT, COPY, POST, LIST requests 30 1k requests $0.30 * + │ ├─ GET, SELECT, and all other requests 30 1k requests $0.03 * + │ ├─ Lifecycle transition 30 1k requests $0.30 * + │ ├─ Retrievals 30,000 GB $300.00 * + │ ├─ Select data scanned 30,000 GB $60.00 * + │ └─ Select data returned 30,000 GB $300.00 * + ├─ One zone - infrequent access + │ ├─ Storage 40,000 GB $400.00 * + │ ├─ PUT, COPY, POST, LIST requests 40 1k requests $0.40 * + │ ├─ GET, SELECT, and all other requests 40 1k requests $0.04 * + │ ├─ Lifecycle transition 40 1k requests $0.40 * + │ ├─ Retrievals 40,000 GB $400.00 * + │ ├─ Select data scanned 40,000 GB $80.00 * + │ └─ Select data returned 40,000 GB $400.00 * + ├─ Glacier flexible retrieval + │ ├─ Storage 50,000 GB $180.00 * + │ ├─ PUT, COPY, POST, LIST requests 50 1k requests $1.50 * + │ ├─ GET, SELECT, and all other requests 50 1k requests $0.02 * + │ ├─ Lifecycle transition 50 1k requests $1.50 * + │ ├─ Retrieval requests (standard) 50 1k requests $1.50 * + │ ├─ Retrievals (standard) 50,000 GB $500.00 * + │ ├─ Select data scanned (standard) 50,000 GB $400.00 * + │ ├─ Select data returned (standard) 50,000 GB $500.00 * + │ ├─ Retrieval requests (expedited) 50 1k requests $500.00 * + │ ├─ Retrievals (expedited) 50,000 GB $1,500.00 * + │ ├─ Select data scanned (expedited) 50,000 GB $1,000.00 * + │ ├─ Select data returned (expedited) 50,000 GB $1,500.00 * + │ ├─ Select data scanned (bulk) 50,000 GB $50.00 * + │ ├─ Select data returned (bulk) 50,000 GB $125.00 * + │ └─ Early delete (within 90 days) 50,000 GB $180.00 * + └─ Glacier deep archive + ├─ Storage 60,000 GB $59.40 * + ├─ PUT, COPY, POST, LIST requests 60 1k requests $3.00 * + ├─ GET, SELECT, and all other requests 60 1k requests $0.02 * + ├─ Lifecycle transition 60 1k requests $3.00 * + ├─ Retrieval requests (standard) 60 1k requests $6.00 * + ├─ Retrievals (standard) 60,000 GB $1,200.00 * + ├─ Retrieval requests (bulk) 60 1k requests $1.50 * + ├─ Retrievals (bulk) 60,000 GB $150.00 * + └─ Early delete (within 180 days) 60,000 GB $59.40 * + + aws_s3_bucket.bucket + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + + aws_s3_bucket_lifecycle_configuration.bucket_lifecycle_config + ├─ Object tagging Monthly cost depends on usage: $0.01 per 10k tags + ├─ Standard + │ ├─ Storage Monthly cost depends on usage: $0.023 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + ├─ Intelligent tiering + │ ├─ Storage (frequent access) Monthly cost depends on usage: $0.023 per GB + │ ├─ Storage (infrequent access) Monthly cost depends on usage: $0.0125 per GB + │ ├─ Storage (archive access) Monthly cost depends on usage: $0.0036 per GB + │ ├─ Storage (deep archive access) Monthly cost depends on usage: $0.00099 per GB + │ ├─ Monitoring and automation Monthly cost depends on usage: $0.0025 per 1k objects + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ ├─ Select data returned Monthly cost depends on usage: $0.0007 per GB + │ └─ Early delete (within 30 days) Monthly cost depends on usage: $0.023 per GB + ├─ Standard - infrequent access + │ ├─ Storage Monthly cost depends on usage: $0.0125 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB + ├─ One zone - infrequent access + │ ├─ Storage Monthly cost depends on usage: $0.01 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB + ├─ Glacier flexible retrieval + │ ├─ Storage Monthly cost depends on usage: $0.0036 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ Retrievals (standard) Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned (standard) Monthly cost depends on usage: $0.008 per GB + │ ├─ Select data returned (standard) Monthly cost depends on usage: $0.01 per GB + │ ├─ Retrieval requests (expedited) Monthly cost depends on usage: $10.00 per 1k requests + │ ├─ Retrievals (expedited) Monthly cost depends on usage: $0.03 per GB + │ ├─ Select data scanned (expedited) Monthly cost depends on usage: $0.02 per GB + │ ├─ Select data returned (expedited) Monthly cost depends on usage: $0.03 per GB + │ ├─ Select data scanned (bulk) Monthly cost depends on usage: $0.001 per GB + │ ├─ Select data returned (bulk) Monthly cost depends on usage: $0.0025 per GB + │ └─ Early delete (within 90 days) Monthly cost depends on usage: $0.0036 per GB + └─ Glacier deep archive + ├─ Storage Monthly cost depends on usage: $0.00099 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.05 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Lifecycle transition Monthly cost depends on usage: $0.05 per 1k requests + ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.10 per 1k requests + ├─ Retrievals (standard) Monthly cost depends on usage: $0.02 per GB + ├─ Retrieval requests (bulk) Monthly cost depends on usage: $0.025 per 1k requests + ├─ Retrievals (bulk) Monthly cost depends on usage: $0.0025 per GB + └─ Early delete (within 180 days) Monthly cost depends on usage: $0.00099 per GB + + aws_s3_bucket_lifecycle_configuration.bucket_lifecycle_config_noncurrent_version_transitions + ├─ Object tagging Monthly cost depends on usage: $0.01 per 10k tags + ├─ Standard + │ ├─ Storage Monthly cost depends on usage: $0.023 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + ├─ Intelligent tiering + │ ├─ Storage (frequent access) Monthly cost depends on usage: $0.023 per GB + │ ├─ Storage (infrequent access) Monthly cost depends on usage: $0.0125 per GB + │ ├─ Storage (archive access) Monthly cost depends on usage: $0.0036 per GB + │ ├─ Storage (deep archive access) Monthly cost depends on usage: $0.00099 per GB + │ ├─ Monitoring and automation Monthly cost depends on usage: $0.0025 per 1k objects + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ ├─ Select data returned Monthly cost depends on usage: $0.0007 per GB + │ └─ Early delete (within 30 days) Monthly cost depends on usage: $0.023 per GB + ├─ Standard - infrequent access + │ ├─ Storage Monthly cost depends on usage: $0.0125 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB + ├─ One zone - infrequent access + │ ├─ Storage Monthly cost depends on usage: $0.01 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB + ├─ Glacier flexible retrieval + │ ├─ Storage Monthly cost depends on usage: $0.0036 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ Retrievals (standard) Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned (standard) Monthly cost depends on usage: $0.008 per GB + │ ├─ Select data returned (standard) Monthly cost depends on usage: $0.01 per GB + │ ├─ Retrieval requests (expedited) Monthly cost depends on usage: $10.00 per 1k requests + │ ├─ Retrievals (expedited) Monthly cost depends on usage: $0.03 per GB + │ ├─ Select data scanned (expedited) Monthly cost depends on usage: $0.02 per GB + │ ├─ Select data returned (expedited) Monthly cost depends on usage: $0.03 per GB + │ ├─ Select data scanned (bulk) Monthly cost depends on usage: $0.001 per GB + │ ├─ Select data returned (bulk) Monthly cost depends on usage: $0.0025 per GB + │ └─ Early delete (within 90 days) Monthly cost depends on usage: $0.0036 per GB + └─ Glacier deep archive + ├─ Storage Monthly cost depends on usage: $0.00099 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.05 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Lifecycle transition Monthly cost depends on usage: $0.05 per 1k requests + ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.10 per 1k requests + ├─ Retrievals (standard) Monthly cost depends on usage: $0.02 per GB + ├─ Retrieval requests (bulk) Monthly cost depends on usage: $0.025 per 1k requests + ├─ Retrievals (bulk) Monthly cost depends on usage: $0.0025 per GB + └─ Early delete (within 180 days) Monthly cost depends on usage: $0.00099 per GB + + aws_s3_bucket_lifecycle_configuration.bucket_lifecycle_config_without_tags + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + OVERALL TOTAL $11,811.53 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestS3BucketLifecycleConfigurationGoldenFile ┃ $11,812 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestS3BucketLifecycleConfigurationGoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden index fa31cdf8227..edb3e1bf799 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden @@ -1,83 +1,86 @@ - Name Monthly Qty Unit Monthly Cost - - aws_s3_bucket.bucket_withUsage - ├─ Standard - │ ├─ Storage 10,000 GB $230.00 - │ ├─ PUT, COPY, POST, LIST requests 10 1k requests $0.05 - │ ├─ GET, SELECT, and all other requests 10 1k requests $0.00 - │ ├─ Select data scanned 10,000 GB $20.00 - │ └─ Select data returned 10,000 GB $7.00 - ├─ Intelligent tiering - │ ├─ Storage (frequent access) 20,000 GB $460.00 - │ ├─ Storage (infrequent access) 20,000 GB $250.00 - │ ├─ Storage (archive access) 20,000 GB $72.00 - │ ├─ Storage (deep archive access) 20,000 GB $19.80 - │ ├─ Monitoring and automation 20 1k objects $0.05 - │ ├─ PUT, COPY, POST, LIST requests 20 1k requests $0.10 - │ ├─ GET, SELECT, and all other requests 20 1k requests $0.01 - │ ├─ Lifecycle transition 20 1k requests $0.20 - │ ├─ Select data scanned 20,000 GB $40.00 - │ ├─ Select data returned 20,000 GB $14.00 - │ └─ Early delete (within 30 days) 20,000 GB $460.00 - ├─ Standard - infrequent access - │ ├─ Storage 30,000 GB $375.00 - │ ├─ PUT, COPY, POST, LIST requests 30 1k requests $0.30 - │ ├─ GET, SELECT, and all other requests 30 1k requests $0.03 - │ ├─ Lifecycle transition 30 1k requests $0.30 - │ ├─ Retrievals 30,000 GB $300.00 - │ ├─ Select data scanned 30,000 GB $60.00 - │ └─ Select data returned 30,000 GB $300.00 - ├─ One zone - infrequent access - │ ├─ Storage 40,000 GB $400.00 - │ ├─ PUT, COPY, POST, LIST requests 40 1k requests $0.40 - │ ├─ GET, SELECT, and all other requests 40 1k requests $0.04 - │ ├─ Lifecycle transition 40 1k requests $0.40 - │ ├─ Retrievals 40,000 GB $400.00 - │ ├─ Select data scanned 40,000 GB $80.00 - │ └─ Select data returned 40,000 GB $400.00 - ├─ Glacier flexible retrieval - │ ├─ Storage 50,000 GB $180.00 - │ ├─ PUT, COPY, POST, LIST requests 50 1k requests $1.50 - │ ├─ GET, SELECT, and all other requests 50 1k requests $0.02 - │ ├─ Lifecycle transition 50 1k requests $1.50 - │ ├─ Retrieval requests (standard) 50 1k requests $1.50 - │ ├─ Retrievals (standard) 50,000 GB $500.00 - │ ├─ Select data scanned (standard) 50,000 GB $400.00 - │ ├─ Select data returned (standard) 50,000 GB $500.00 - │ ├─ Retrieval requests (expedited) 50 1k requests $500.00 - │ ├─ Retrievals (expedited) 50,000 GB $1,500.00 - │ ├─ Select data scanned (expedited) 50,000 GB $1,000.00 - │ ├─ Select data returned (expedited) 50,000 GB $1,500.00 - │ ├─ Select data scanned (bulk) 50,000 GB $50.00 - │ ├─ Select data returned (bulk) 50,000 GB $125.00 - │ └─ Early delete (within 90 days) 50,000 GB $180.00 - └─ Glacier deep archive - ├─ Storage 60,000 GB $59.40 - ├─ PUT, COPY, POST, LIST requests 60 1k requests $3.00 - ├─ GET, SELECT, and all other requests 60 1k requests $0.02 - ├─ Lifecycle transition 60 1k requests $3.00 - ├─ Retrieval requests (standard) 60 1k requests $6.00 - ├─ Retrievals (standard) 60,000 GB $1,200.00 - ├─ Retrieval requests (bulk) 60 1k requests $1.50 - ├─ Retrievals (bulk) 60,000 GB $150.00 - └─ Early delete (within 180 days) 60,000 GB $59.40 - - aws_s3_bucket.bucket1 - └─ Standard - ├─ Storage Monthly cost depends on usage: $0.023 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_s3_bucket.bucket_withUsage + ├─ Standard + │ ├─ Storage 10,000 GB $230.00 * + │ ├─ PUT, COPY, POST, LIST requests 10 1k requests $0.05 * + │ ├─ GET, SELECT, and all other requests 10 1k requests $0.00 * + │ ├─ Select data scanned 10,000 GB $20.00 * + │ └─ Select data returned 10,000 GB $7.00 * + ├─ Intelligent tiering + │ ├─ Storage (frequent access) 20,000 GB $460.00 * + │ ├─ Storage (infrequent access) 20,000 GB $250.00 * + │ ├─ Storage (archive access) 20,000 GB $72.00 * + │ ├─ Storage (deep archive access) 20,000 GB $19.80 * + │ ├─ Monitoring and automation 20 1k objects $0.05 * + │ ├─ PUT, COPY, POST, LIST requests 20 1k requests $0.10 * + │ ├─ GET, SELECT, and all other requests 20 1k requests $0.01 * + │ ├─ Lifecycle transition 20 1k requests $0.20 * + │ ├─ Select data scanned 20,000 GB $40.00 * + │ ├─ Select data returned 20,000 GB $14.00 * + │ └─ Early delete (within 30 days) 20,000 GB $460.00 * + ├─ Standard - infrequent access + │ ├─ Storage 30,000 GB $375.00 * + │ ├─ PUT, COPY, POST, LIST requests 30 1k requests $0.30 * + │ ├─ GET, SELECT, and all other requests 30 1k requests $0.03 * + │ ├─ Lifecycle transition 30 1k requests $0.30 * + │ ├─ Retrievals 30,000 GB $300.00 * + │ ├─ Select data scanned 30,000 GB $60.00 * + │ └─ Select data returned 30,000 GB $300.00 * + ├─ One zone - infrequent access + │ ├─ Storage 40,000 GB $400.00 * + │ ├─ PUT, COPY, POST, LIST requests 40 1k requests $0.40 * + │ ├─ GET, SELECT, and all other requests 40 1k requests $0.04 * + │ ├─ Lifecycle transition 40 1k requests $0.40 * + │ ├─ Retrievals 40,000 GB $400.00 * + │ ├─ Select data scanned 40,000 GB $80.00 * + │ └─ Select data returned 40,000 GB $400.00 * + ├─ Glacier flexible retrieval + │ ├─ Storage 50,000 GB $180.00 * + │ ├─ PUT, COPY, POST, LIST requests 50 1k requests $1.50 * + │ ├─ GET, SELECT, and all other requests 50 1k requests $0.02 * + │ ├─ Lifecycle transition 50 1k requests $1.50 * + │ ├─ Retrieval requests (standard) 50 1k requests $1.50 * + │ ├─ Retrievals (standard) 50,000 GB $500.00 * + │ ├─ Select data scanned (standard) 50,000 GB $400.00 * + │ ├─ Select data returned (standard) 50,000 GB $500.00 * + │ ├─ Retrieval requests (expedited) 50 1k requests $500.00 * + │ ├─ Retrievals (expedited) 50,000 GB $1,500.00 * + │ ├─ Select data scanned (expedited) 50,000 GB $1,000.00 * + │ ├─ Select data returned (expedited) 50,000 GB $1,500.00 * + │ ├─ Select data scanned (bulk) 50,000 GB $50.00 * + │ ├─ Select data returned (bulk) 50,000 GB $125.00 * + │ └─ Early delete (within 90 days) 50,000 GB $180.00 * + └─ Glacier deep archive + ├─ Storage 60,000 GB $59.40 * + ├─ PUT, COPY, POST, LIST requests 60 1k requests $3.00 * + ├─ GET, SELECT, and all other requests 60 1k requests $0.02 * + ├─ Lifecycle transition 60 1k requests $3.00 * + ├─ Retrieval requests (standard) 60 1k requests $6.00 * + ├─ Retrievals (standard) 60,000 GB $1,200.00 * + ├─ Retrieval requests (bulk) 60 1k requests $1.50 * + ├─ Retrievals (bulk) 60,000 GB $150.00 * + └─ Early delete (within 180 days) 60,000 GB $59.40 * + + aws_s3_bucket.bucket1 + └─ Standard + ├─ Storage Monthly cost depends on usage: $0.023 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + OVERALL TOTAL $11,811.53 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestS3BucketGoldenFile ┃ $11,812 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestS3BucketGoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden index da92aea1481..e8f0f66cf54 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden @@ -1,139 +1,142 @@ - Name Monthly Qty Unit Monthly Cost - - aws_s3_bucket.bucket_withUsage - ├─ Object tagging 0.1 10k tags $0.00 - ├─ Standard - │ ├─ Storage 10,000 GB $230.00 - │ ├─ PUT, COPY, POST, LIST requests 10 1k requests $0.05 - │ ├─ GET, SELECT, and all other requests 10 1k requests $0.00 - │ ├─ Select data scanned 10,000 GB $20.00 - │ └─ Select data returned 10,000 GB $7.00 - ├─ Intelligent tiering - │ ├─ Storage (frequent access) 20,000 GB $460.00 - │ ├─ Storage (infrequent access) 20,000 GB $250.00 - │ ├─ Storage (archive access) 20,000 GB $72.00 - │ ├─ Storage (deep archive access) 20,000 GB $19.80 - │ ├─ Monitoring and automation 20 1k objects $0.05 - │ ├─ PUT, COPY, POST, LIST requests 20 1k requests $0.10 - │ ├─ GET, SELECT, and all other requests 20 1k requests $0.01 - │ ├─ Lifecycle transition 20 1k requests $0.20 - │ ├─ Select data scanned 20,000 GB $40.00 - │ ├─ Select data returned 20,000 GB $14.00 - │ └─ Early delete (within 30 days) 20,000 GB $460.00 - ├─ Standard - infrequent access - │ ├─ Storage 30,000 GB $375.00 - │ ├─ PUT, COPY, POST, LIST requests 30 1k requests $0.30 - │ ├─ GET, SELECT, and all other requests 30 1k requests $0.03 - │ ├─ Lifecycle transition 30 1k requests $0.30 - │ ├─ Retrievals 30,000 GB $300.00 - │ ├─ Select data scanned 30,000 GB $60.00 - │ └─ Select data returned 30,000 GB $300.00 - ├─ One zone - infrequent access - │ ├─ Storage 40,000 GB $400.00 - │ ├─ PUT, COPY, POST, LIST requests 40 1k requests $0.40 - │ ├─ GET, SELECT, and all other requests 40 1k requests $0.04 - │ ├─ Lifecycle transition 40 1k requests $0.40 - │ ├─ Retrievals 40,000 GB $400.00 - │ ├─ Select data scanned 40,000 GB $80.00 - │ └─ Select data returned 40,000 GB $400.00 - ├─ Glacier flexible retrieval - │ ├─ Storage 50,000 GB $180.00 - │ ├─ PUT, COPY, POST, LIST requests 50 1k requests $1.50 - │ ├─ GET, SELECT, and all other requests 50 1k requests $0.02 - │ ├─ Lifecycle transition 50 1k requests $1.50 - │ ├─ Retrieval requests (standard) 50 1k requests $1.50 - │ ├─ Retrievals (standard) 50,000 GB $500.00 - │ ├─ Select data scanned (standard) 50,000 GB $400.00 - │ ├─ Select data returned (standard) 50,000 GB $500.00 - │ ├─ Retrieval requests (expedited) 50 1k requests $500.00 - │ ├─ Retrievals (expedited) 50,000 GB $1,500.00 - │ ├─ Select data scanned (expedited) 50,000 GB $1,000.00 - │ ├─ Select data returned (expedited) 50,000 GB $1,500.00 - │ ├─ Select data scanned (bulk) 50,000 GB $50.00 - │ ├─ Select data returned (bulk) 50,000 GB $125.00 - │ └─ Early delete (within 90 days) 50,000 GB $180.00 - └─ Glacier deep archive - ├─ Storage 60,000 GB $59.40 - ├─ PUT, COPY, POST, LIST requests 60 1k requests $3.00 - ├─ GET, SELECT, and all other requests 60 1k requests $0.02 - ├─ Lifecycle transition 60 1k requests $3.00 - ├─ Retrieval requests (standard) 60 1k requests $6.00 - ├─ Retrievals (standard) 60,000 GB $1,200.00 - ├─ Retrieval requests (bulk) 60 1k requests $1.50 - ├─ Retrievals (bulk) 60,000 GB $150.00 - └─ Early delete (within 180 days) 60,000 GB $59.40 - - aws_s3_bucket.bucket1 - ├─ Object tagging Monthly cost depends on usage: $0.01 per 10k tags - ├─ Standard - │ ├─ Storage Monthly cost depends on usage: $0.023 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.0007 per GB - ├─ Intelligent tiering - │ ├─ Storage (frequent access) Monthly cost depends on usage: $0.023 per GB - │ ├─ Storage (infrequent access) Monthly cost depends on usage: $0.0125 per GB - │ ├─ Storage (archive access) Monthly cost depends on usage: $0.0036 per GB - │ ├─ Storage (deep archive access) Monthly cost depends on usage: $0.00099 per GB - │ ├─ Monitoring and automation Monthly cost depends on usage: $0.0025 per 1k objects - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ ├─ Select data returned Monthly cost depends on usage: $0.0007 per GB - │ └─ Early delete (within 30 days) Monthly cost depends on usage: $0.023 per GB - ├─ Standard - infrequent access - │ ├─ Storage Monthly cost depends on usage: $0.0125 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB - ├─ One zone - infrequent access - │ ├─ Storage Monthly cost depends on usage: $0.01 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests - │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB - │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB - ├─ Glacier flexible retrieval - │ ├─ Storage Monthly cost depends on usage: $0.0036 per GB - │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - │ ├─ Lifecycle transition Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.03 per 1k requests - │ ├─ Retrievals (standard) Monthly cost depends on usage: $0.01 per GB - │ ├─ Select data scanned (standard) Monthly cost depends on usage: $0.008 per GB - │ ├─ Select data returned (standard) Monthly cost depends on usage: $0.01 per GB - │ ├─ Retrieval requests (expedited) Monthly cost depends on usage: $10.00 per 1k requests - │ ├─ Retrievals (expedited) Monthly cost depends on usage: $0.03 per GB - │ ├─ Select data scanned (expedited) Monthly cost depends on usage: $0.02 per GB - │ ├─ Select data returned (expedited) Monthly cost depends on usage: $0.03 per GB - │ ├─ Select data scanned (bulk) Monthly cost depends on usage: $0.001 per GB - │ ├─ Select data returned (bulk) Monthly cost depends on usage: $0.0025 per GB - │ └─ Early delete (within 90 days) Monthly cost depends on usage: $0.0036 per GB - └─ Glacier deep archive - ├─ Storage Monthly cost depends on usage: $0.00099 per GB - ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.05 per 1k requests - ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests - ├─ Lifecycle transition Monthly cost depends on usage: $0.05 per 1k requests - ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.10 per 1k requests - ├─ Retrievals (standard) Monthly cost depends on usage: $0.02 per GB - ├─ Retrieval requests (bulk) Monthly cost depends on usage: $0.025 per 1k requests - ├─ Retrievals (bulk) Monthly cost depends on usage: $0.0025 per GB - └─ Early delete (within 180 days) Monthly cost depends on usage: $0.00099 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_s3_bucket.bucket_withUsage + ├─ Object tagging 0.1 10k tags $0.00 * + ├─ Standard + │ ├─ Storage 10,000 GB $230.00 * + │ ├─ PUT, COPY, POST, LIST requests 10 1k requests $0.05 * + │ ├─ GET, SELECT, and all other requests 10 1k requests $0.00 * + │ ├─ Select data scanned 10,000 GB $20.00 * + │ └─ Select data returned 10,000 GB $7.00 * + ├─ Intelligent tiering + │ ├─ Storage (frequent access) 20,000 GB $460.00 * + │ ├─ Storage (infrequent access) 20,000 GB $250.00 * + │ ├─ Storage (archive access) 20,000 GB $72.00 * + │ ├─ Storage (deep archive access) 20,000 GB $19.80 * + │ ├─ Monitoring and automation 20 1k objects $0.05 * + │ ├─ PUT, COPY, POST, LIST requests 20 1k requests $0.10 * + │ ├─ GET, SELECT, and all other requests 20 1k requests $0.01 * + │ ├─ Lifecycle transition 20 1k requests $0.20 * + │ ├─ Select data scanned 20,000 GB $40.00 * + │ ├─ Select data returned 20,000 GB $14.00 * + │ └─ Early delete (within 30 days) 20,000 GB $460.00 * + ├─ Standard - infrequent access + │ ├─ Storage 30,000 GB $375.00 * + │ ├─ PUT, COPY, POST, LIST requests 30 1k requests $0.30 * + │ ├─ GET, SELECT, and all other requests 30 1k requests $0.03 * + │ ├─ Lifecycle transition 30 1k requests $0.30 * + │ ├─ Retrievals 30,000 GB $300.00 * + │ ├─ Select data scanned 30,000 GB $60.00 * + │ └─ Select data returned 30,000 GB $300.00 * + ├─ One zone - infrequent access + │ ├─ Storage 40,000 GB $400.00 * + │ ├─ PUT, COPY, POST, LIST requests 40 1k requests $0.40 * + │ ├─ GET, SELECT, and all other requests 40 1k requests $0.04 * + │ ├─ Lifecycle transition 40 1k requests $0.40 * + │ ├─ Retrievals 40,000 GB $400.00 * + │ ├─ Select data scanned 40,000 GB $80.00 * + │ └─ Select data returned 40,000 GB $400.00 * + ├─ Glacier flexible retrieval + │ ├─ Storage 50,000 GB $180.00 * + │ ├─ PUT, COPY, POST, LIST requests 50 1k requests $1.50 * + │ ├─ GET, SELECT, and all other requests 50 1k requests $0.02 * + │ ├─ Lifecycle transition 50 1k requests $1.50 * + │ ├─ Retrieval requests (standard) 50 1k requests $1.50 * + │ ├─ Retrievals (standard) 50,000 GB $500.00 * + │ ├─ Select data scanned (standard) 50,000 GB $400.00 * + │ ├─ Select data returned (standard) 50,000 GB $500.00 * + │ ├─ Retrieval requests (expedited) 50 1k requests $500.00 * + │ ├─ Retrievals (expedited) 50,000 GB $1,500.00 * + │ ├─ Select data scanned (expedited) 50,000 GB $1,000.00 * + │ ├─ Select data returned (expedited) 50,000 GB $1,500.00 * + │ ├─ Select data scanned (bulk) 50,000 GB $50.00 * + │ ├─ Select data returned (bulk) 50,000 GB $125.00 * + │ └─ Early delete (within 90 days) 50,000 GB $180.00 * + └─ Glacier deep archive + ├─ Storage 60,000 GB $59.40 * + ├─ PUT, COPY, POST, LIST requests 60 1k requests $3.00 * + ├─ GET, SELECT, and all other requests 60 1k requests $0.02 * + ├─ Lifecycle transition 60 1k requests $3.00 * + ├─ Retrieval requests (standard) 60 1k requests $6.00 * + ├─ Retrievals (standard) 60,000 GB $1,200.00 * + ├─ Retrieval requests (bulk) 60 1k requests $1.50 * + ├─ Retrievals (bulk) 60,000 GB $150.00 * + └─ Early delete (within 180 days) 60,000 GB $59.40 * + + aws_s3_bucket.bucket1 + ├─ Object tagging Monthly cost depends on usage: $0.01 per 10k tags + ├─ Standard + │ ├─ Storage Monthly cost depends on usage: $0.023 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.0007 per GB + ├─ Intelligent tiering + │ ├─ Storage (frequent access) Monthly cost depends on usage: $0.023 per GB + │ ├─ Storage (infrequent access) Monthly cost depends on usage: $0.0125 per GB + │ ├─ Storage (archive access) Monthly cost depends on usage: $0.0036 per GB + │ ├─ Storage (deep archive access) Monthly cost depends on usage: $0.00099 per GB + │ ├─ Monitoring and automation Monthly cost depends on usage: $0.0025 per 1k objects + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.005 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ ├─ Select data returned Monthly cost depends on usage: $0.0007 per GB + │ └─ Early delete (within 30 days) Monthly cost depends on usage: $0.023 per GB + ├─ Standard - infrequent access + │ ├─ Storage Monthly cost depends on usage: $0.0125 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB + ├─ One zone - infrequent access + │ ├─ Storage Monthly cost depends on usage: $0.01 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.001 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.01 per 1k requests + │ ├─ Retrievals Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned Monthly cost depends on usage: $0.002 per GB + │ └─ Select data returned Monthly cost depends on usage: $0.01 per GB + ├─ Glacier flexible retrieval + │ ├─ Storage Monthly cost depends on usage: $0.0036 per GB + │ ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + │ ├─ Lifecycle transition Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.03 per 1k requests + │ ├─ Retrievals (standard) Monthly cost depends on usage: $0.01 per GB + │ ├─ Select data scanned (standard) Monthly cost depends on usage: $0.008 per GB + │ ├─ Select data returned (standard) Monthly cost depends on usage: $0.01 per GB + │ ├─ Retrieval requests (expedited) Monthly cost depends on usage: $10.00 per 1k requests + │ ├─ Retrievals (expedited) Monthly cost depends on usage: $0.03 per GB + │ ├─ Select data scanned (expedited) Monthly cost depends on usage: $0.02 per GB + │ ├─ Select data returned (expedited) Monthly cost depends on usage: $0.03 per GB + │ ├─ Select data scanned (bulk) Monthly cost depends on usage: $0.001 per GB + │ ├─ Select data returned (bulk) Monthly cost depends on usage: $0.0025 per GB + │ └─ Early delete (within 90 days) Monthly cost depends on usage: $0.0036 per GB + └─ Glacier deep archive + ├─ Storage Monthly cost depends on usage: $0.00099 per GB + ├─ PUT, COPY, POST, LIST requests Monthly cost depends on usage: $0.05 per 1k requests + ├─ GET, SELECT, and all other requests Monthly cost depends on usage: $0.0004 per 1k requests + ├─ Lifecycle transition Monthly cost depends on usage: $0.05 per 1k requests + ├─ Retrieval requests (standard) Monthly cost depends on usage: $0.10 per 1k requests + ├─ Retrievals (standard) Monthly cost depends on usage: $0.02 per GB + ├─ Retrieval requests (bulk) Monthly cost depends on usage: $0.025 per 1k requests + ├─ Retrievals (bulk) Monthly cost depends on usage: $0.0025 per GB + └─ Early delete (within 180 days) Monthly cost depends on usage: $0.00099 per GB + OVERALL TOTAL $11,811.53 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestS3BucketV3GoldenFile ┃ $11,812 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestS3BucketV3GoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden index 9f9e8fc0125..7630430daba 100644 --- a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden +++ b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_secretsmanager_secret.secret_withUsage - ├─ Secret 1 months $0.40 - └─ API requests 10 10k requests $0.50 - - aws_secretsmanager_secret.secret - ├─ Secret 1 months $0.40 - └─ API requests Monthly cost depends on usage: $0.05 per 10k requests - + Name Monthly Qty Unit Monthly Cost + + aws_secretsmanager_secret.secret_withUsage + ├─ Secret 1 months $0.40 + └─ API requests 10 10k requests $0.50 * + + aws_secretsmanager_secret.secret + ├─ Secret 1 months $0.40 + └─ API requests Monthly cost depends on usage: $0.05 per 10k requests + OVERALL TOTAL $1.30 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAwsSecretsManagerSecretGoldenFile ┃ $1 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAwsSecretsManagerSecretGoldenFile ┃ $0.80 ┃ $0.50 ┃ $1 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden index 8bbecea3812..be091c30a2b 100644 --- a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden +++ b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden @@ -1,38 +1,41 @@ - Name Monthly Qty Unit Monthly Cost - - aws_sfn_state_machine.express3Tiers - ├─ Requests 100 1M requests $100.00 - ├─ Duration (first 1K) 1,000 GB-hours $60.01 - ├─ Duration (next 4K) 4,000 GB-hours $119.95 - └─ Duration (over 5K) 24,687.5 GB-hours $405.27 - - aws_sfn_state_machine.express2Tiers - ├─ Requests 10 1M requests $10.00 - ├─ Duration (first 1K) 1,000 GB-hours $60.01 - └─ Duration (next 4K) 111.1111 GB-hours $3.33 - - aws_sfn_state_machine.standard - └─ Transitions 10 1K transitions $0.25 - - aws_sfn_state_machine.express1Tier - ├─ Requests 0.1 1M requests $0.10 - └─ Duration (first 1K) 0.3472 GB-hours $0.02 - - aws_sfn_state_machine.expressWithoutUsage - ├─ Requests Monthly cost depends on usage: $1.00 per 1M requests - └─ Duration (first 1K) Monthly cost depends on usage: $0.060012 per GB-hours - - aws_sfn_state_machine.standardWithoutUsage - └─ Transitions Monthly cost depends on usage: $0.025 per 1K transitions - + Name Monthly Qty Unit Monthly Cost + + aws_sfn_state_machine.express3Tiers + ├─ Requests 100 1M requests $100.00 * + ├─ Duration (first 1K) 1,000 GB-hours $60.01 * + ├─ Duration (next 4K) 4,000 GB-hours $119.95 * + └─ Duration (over 5K) 24,687.5 GB-hours $405.27 * + + aws_sfn_state_machine.express2Tiers + ├─ Requests 10 1M requests $10.00 * + ├─ Duration (first 1K) 1,000 GB-hours $60.01 * + └─ Duration (next 4K) 111.1111 GB-hours $3.33 * + + aws_sfn_state_machine.standard + └─ Transitions 10 1K transitions $0.25 * + + aws_sfn_state_machine.express1Tier + ├─ Requests 0.1 1M requests $0.10 * + └─ Duration (first 1K) 0.3472 GB-hours $0.02 * + + aws_sfn_state_machine.expressWithoutUsage + ├─ Requests Monthly cost depends on usage: $1.00 per 1M requests + └─ Duration (first 1K) Monthly cost depends on usage: $0.060012 per GB-hours + + aws_sfn_state_machine.standardWithoutUsage + └─ Transitions Monthly cost depends on usage: $0.025 per 1K transitions + OVERALL TOTAL $758.95 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSFnStateMachineGoldenFile ┃ $759 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSFnStateMachineGoldenFile ┃ $0.00 ┃ $759 ┃ $759 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden index 0cafcab1c08..af9065568de 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - aws_sns_topic_subscription.sns_topic_subscription_withUsage - └─ HTTP notifications 2 1M notifications $1.20 - - aws_sns_topic_subscription.sns_topic_subscription - └─ HTTP notifications Monthly cost depends on usage: $0.60 per 1M notifications - + Name Monthly Qty Unit Monthly Cost + + aws_sns_topic_subscription.sns_topic_subscription_withUsage + └─ HTTP notifications 2 1M notifications $1.20 * + + aws_sns_topic_subscription.sns_topic_subscription + └─ HTTP notifications Monthly cost depends on usage: $0.60 per 1M notifications + OVERALL TOTAL $1.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSNSTopicSubscriptionGoldenFile ┃ $1 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSNSTopicSubscriptionGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden index 8c796b21fce..36e99c4629d 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden @@ -1,76 +1,79 @@ - Name Monthly Qty Unit Monthly Cost - - aws_sns_topic.sns_topic_withChargedSubscribers - ├─ HTTP/HTTPS notifications (over 100k) 1 100k notifications $0.06 - ├─ Email/Email-JSON notifications (over 1k) 2.99 100k notifications $5.98 - ├─ Kinesis Firehose notifications 4 1M notifications $0.76 - ├─ Mobile Push notifications 5 1M notifications $2.50 - ├─ MacOS notifications 6 1M notifications $3.00 - └─ SMS notifications (over 100) 9 100 notifications $6.75 - - aws_sns_topic.sns_topic_customSmsPrice - └─ SMS notifications (over 100) 9 100 notifications $8.88 - - aws_sns_topic.sns_fifo_topic_withUsageAndSubscriptions - ├─ FIFO Publish API requests 2 1M requests $0.60 - ├─ FIFO Publish API payload 128 GB $2.18 - ├─ FIFO notifications 6 1M notifications $0.06 - └─ FIFO notification payload 384 GB $0.38 - - aws_sns_topic.sns_fifo_topic_withUsage - ├─ FIFO Publish API requests 1 1M requests $0.30 - └─ FIFO Publish API payload 128 GB $2.18 - - aws_sns_topic.sns_topic_withUsage - ├─ API requests (over 1M) 1 1M requests $0.50 - ├─ HTTP/HTTPS notifications (over 100k) Monthly cost depends on usage: $0.06 per 100k notifications - ├─ Email/Email-JSON notifications (over 1k) Monthly cost depends on usage: $2.00 per 100k notifications - ├─ Kinesis Firehose notifications Monthly cost depends on usage: $0.19 per 1M notifications - ├─ Mobile Push notifications Monthly cost depends on usage: $0.50 per 1M notifications - ├─ MacOS notifications Monthly cost depends on usage: $0.50 per 1M notifications - └─ SMS notifications (over 100) Monthly cost depends on usage: $0.99 per 100 notifications - - aws_sns_topic.sns_fifo_topic - ├─ FIFO Publish API requests Monthly cost depends on usage: $0.30 per 1M requests - └─ FIFO Publish API payload Monthly cost depends on usage: $0.017 per GB - - aws_sns_topic.sns_fifo_topic_another_region - ├─ FIFO Publish API requests Monthly cost depends on usage: $0.33 per 1M requests - └─ FIFO Publish API payload Monthly cost depends on usage: $0.0187 per GB - - aws_sns_topic.sns_fifo_topic_withSubscriptions - ├─ FIFO Publish API requests Monthly cost depends on usage: $0.30 per 1M requests - ├─ FIFO Publish API payload Monthly cost depends on usage: $0.017 per GB - ├─ FIFO notifications Monthly cost depends on usage: $0.01 per 1M notifications - └─ FIFO notification payload Monthly cost depends on usage: $0.001 per GB - - aws_sns_topic.sns_topic - ├─ API requests (over 1M) Monthly cost depends on usage: $0.50 per 1M requests - ├─ HTTP/HTTPS notifications (over 100k) Monthly cost depends on usage: $0.06 per 100k notifications - ├─ Email/Email-JSON notifications (over 1k) Monthly cost depends on usage: $2.00 per 100k notifications - ├─ Kinesis Firehose notifications Monthly cost depends on usage: $0.19 per 1M notifications - ├─ Mobile Push notifications Monthly cost depends on usage: $0.50 per 1M notifications - ├─ MacOS notifications Monthly cost depends on usage: $0.50 per 1M notifications - └─ SMS notifications (over 100) Monthly cost depends on usage: $0.75 per 100 notifications - - aws_sns_topic.sns_topic_another_region - ├─ API requests (over 1M) Monthly cost depends on usage: $0.50 per 1M requests - ├─ HTTP/HTTPS notifications (over 100k) Monthly cost depends on usage: $0.06 per 100k notifications - ├─ Email/Email-JSON notifications (over 1k) Monthly cost depends on usage: $2.00 per 100k notifications - ├─ Kinesis Firehose notifications Monthly cost depends on usage: $0.19 per 1M notifications - ├─ Mobile Push notifications Monthly cost depends on usage: $0.50 per 1M notifications - ├─ MacOS notifications Monthly cost depends on usage: $0.50 per 1M notifications - └─ SMS notifications (over 100) Monthly cost depends on usage: $0.75 per 100 notifications - + Name Monthly Qty Unit Monthly Cost + + aws_sns_topic.sns_topic_withChargedSubscribers + ├─ HTTP/HTTPS notifications (over 100k) 1 100k notifications $0.06 * + ├─ Email/Email-JSON notifications (over 1k) 2.99 100k notifications $5.98 * + ├─ Kinesis Firehose notifications 4 1M notifications $0.76 * + ├─ Mobile Push notifications 5 1M notifications $2.50 * + ├─ MacOS notifications 6 1M notifications $3.00 * + └─ SMS notifications (over 100) 9 100 notifications $6.75 * + + aws_sns_topic.sns_topic_customSmsPrice + └─ SMS notifications (over 100) 9 100 notifications $8.88 * + + aws_sns_topic.sns_fifo_topic_withUsageAndSubscriptions + ├─ FIFO Publish API requests 2 1M requests $0.60 * + ├─ FIFO Publish API payload 128 GB $2.18 * + ├─ FIFO notifications 6 1M notifications $0.06 * + └─ FIFO notification payload 384 GB $0.38 * + + aws_sns_topic.sns_fifo_topic_withUsage + ├─ FIFO Publish API requests 1 1M requests $0.30 * + └─ FIFO Publish API payload 128 GB $2.18 * + + aws_sns_topic.sns_topic_withUsage + ├─ API requests (over 1M) 1 1M requests $0.50 * + ├─ HTTP/HTTPS notifications (over 100k) Monthly cost depends on usage: $0.06 per 100k notifications + ├─ Email/Email-JSON notifications (over 1k) Monthly cost depends on usage: $2.00 per 100k notifications + ├─ Kinesis Firehose notifications Monthly cost depends on usage: $0.19 per 1M notifications + ├─ Mobile Push notifications Monthly cost depends on usage: $0.50 per 1M notifications + ├─ MacOS notifications Monthly cost depends on usage: $0.50 per 1M notifications + └─ SMS notifications (over 100) Monthly cost depends on usage: $0.99 per 100 notifications + + aws_sns_topic.sns_fifo_topic + ├─ FIFO Publish API requests Monthly cost depends on usage: $0.30 per 1M requests + └─ FIFO Publish API payload Monthly cost depends on usage: $0.017 per GB + + aws_sns_topic.sns_fifo_topic_another_region + ├─ FIFO Publish API requests Monthly cost depends on usage: $0.33 per 1M requests + └─ FIFO Publish API payload Monthly cost depends on usage: $0.0187 per GB + + aws_sns_topic.sns_fifo_topic_withSubscriptions + ├─ FIFO Publish API requests Monthly cost depends on usage: $0.30 per 1M requests + ├─ FIFO Publish API payload Monthly cost depends on usage: $0.017 per GB + ├─ FIFO notifications Monthly cost depends on usage: $0.01 per 1M notifications + └─ FIFO notification payload Monthly cost depends on usage: $0.001 per GB + + aws_sns_topic.sns_topic + ├─ API requests (over 1M) Monthly cost depends on usage: $0.50 per 1M requests + ├─ HTTP/HTTPS notifications (over 100k) Monthly cost depends on usage: $0.06 per 100k notifications + ├─ Email/Email-JSON notifications (over 1k) Monthly cost depends on usage: $2.00 per 100k notifications + ├─ Kinesis Firehose notifications Monthly cost depends on usage: $0.19 per 1M notifications + ├─ Mobile Push notifications Monthly cost depends on usage: $0.50 per 1M notifications + ├─ MacOS notifications Monthly cost depends on usage: $0.50 per 1M notifications + └─ SMS notifications (over 100) Monthly cost depends on usage: $0.75 per 100 notifications + + aws_sns_topic.sns_topic_another_region + ├─ API requests (over 1M) Monthly cost depends on usage: $0.50 per 1M requests + ├─ HTTP/HTTPS notifications (over 100k) Monthly cost depends on usage: $0.06 per 100k notifications + ├─ Email/Email-JSON notifications (over 1k) Monthly cost depends on usage: $2.00 per 100k notifications + ├─ Kinesis Firehose notifications Monthly cost depends on usage: $0.19 per 1M notifications + ├─ Mobile Push notifications Monthly cost depends on usage: $0.50 per 1M notifications + ├─ MacOS notifications Monthly cost depends on usage: $0.50 per 1M notifications + └─ SMS notifications (over 100) Monthly cost depends on usage: $0.75 per 100 notifications + OVERALL TOTAL $34.13 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 18 cloud resources were detected: ∙ 13 were estimated ∙ 5 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSNSTopicGoldenFile ┃ $34 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSNSTopicGoldenFile ┃ $0.00 ┃ $34 ┃ $34 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden index 2d1740d6290..8648f501ddb 100644 --- a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden +++ b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - aws_sqs_queue.standard_sqs_queue_withUsage - └─ Requests 2 1M requests $0.80 - - aws_sqs_queue.fifo_sqs_queue_withUsage - └─ Requests 1 1M requests $0.50 - - aws_sqs_queue.fifo_sqs_queue - └─ Requests Monthly cost depends on usage: $0.50 per 1M requests - - aws_sqs_queue.standard_sqs_queue - └─ Requests Monthly cost depends on usage: $0.40 per 1M requests - + Name Monthly Qty Unit Monthly Cost + + aws_sqs_queue.standard_sqs_queue_withUsage + └─ Requests 2 1M requests $0.80 * + + aws_sqs_queue.fifo_sqs_queue_withUsage + └─ Requests 1 1M requests $0.50 * + + aws_sqs_queue.fifo_sqs_queue + └─ Requests Monthly cost depends on usage: $0.50 per 1M requests + + aws_sqs_queue.standard_sqs_queue + └─ Requests Monthly cost depends on usage: $0.40 per 1M requests + OVERALL TOTAL $1.30 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSQSQueueGoldenFile ┃ $1 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSQSQueueGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden index 02415b79635..8fdac0068ee 100644 --- a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ssm_activation.ssm_activation_withUsage - └─ On-prem managed instances (advanced) 73,000 hours $507.35 - - aws_ssm_activation.ssm_activation - └─ On-prem managed instances (advanced) Monthly cost depends on usage: $0.00695 per hours - + Name Monthly Qty Unit Monthly Cost + + aws_ssm_activation.ssm_activation_withUsage + └─ On-prem managed instances (advanced) 73,000 hours $507.35 * + + aws_ssm_activation.ssm_activation + └─ On-prem managed instances (advanced) Monthly cost depends on usage: $0.00695 per hours + OVERALL TOTAL $507.35 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAwsSSMActivationfuncGoldenFile ┃ $507 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAwsSSMActivationfuncGoldenFile ┃ $0.00 ┃ $507 ┃ $507 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden index 30c566b6df1..bbd53c272cb 100644 --- a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - aws_ssm_parameter.ssm_parameter_advancedWithUsage - ├─ Parameter storage (advanced) 600 hours $0.04 - └─ API interactions (advanced) 10 10k interactions $0.50 - - aws_ssm_parameter.ssm_parameter_advanced - ├─ Parameter storage (advanced) 730 hours $0.05 - └─ API interactions (advanced) Monthly cost depends on usage: $0.05 per 10k interactions - + Name Monthly Qty Unit Monthly Cost + + aws_ssm_parameter.ssm_parameter_advancedWithUsage + ├─ Parameter storage (advanced) 600 hours $0.04 * + └─ API interactions (advanced) 10 10k interactions $0.50 * + + aws_ssm_parameter.ssm_parameter_advanced + ├─ Parameter storage (advanced) 730 hours $0.05 * + └─ API interactions (advanced) Monthly cost depends on usage: $0.05 per 10k interactions + OVERALL TOTAL $0.59 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAwsSSMParameterGoldenFile ┃ $0.59 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAwsSSMParameterGoldenFile ┃ $0.00 ┃ $0.59 ┃ $0.59 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden index 13376cea316..59fde465e58 100644 --- a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden +++ b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - aws_transfer_server.multiple_protocols_with_usage - ├─ FTP protocol enabled 730 hours $219.00 - ├─ FTPS protocol enabled 730 hours $219.00 - ├─ SFTP protocol enabled 730 hours $219.00 - ├─ Data downloaded 50 GB $2.00 - └─ Data uploaded 10 GB $0.40 - - aws_transfer_server.default_no_protocols - ├─ SFTP protocol enabled 730 hours $219.00 - ├─ Data downloaded Monthly cost depends on usage: $0.04 per GB - └─ Data uploaded Monthly cost depends on usage: $0.04 per GB - + Name Monthly Qty Unit Monthly Cost + + aws_transfer_server.multiple_protocols_with_usage + ├─ FTP protocol enabled 730 hours $219.00 + ├─ FTPS protocol enabled 730 hours $219.00 + ├─ SFTP protocol enabled 730 hours $219.00 + ├─ Data downloaded 50 GB $2.00 * + └─ Data uploaded 10 GB $0.40 * + + aws_transfer_server.default_no_protocols + ├─ SFTP protocol enabled 730 hours $219.00 + ├─ Data downloaded Monthly cost depends on usage: $0.04 per GB + └─ Data uploaded Monthly cost depends on usage: $0.04 per GB + OVERALL TOTAL $878.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestTransferServerGoldenFile ┃ $878 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestTransferServerGoldenFile ┃ $876 ┃ $2 ┃ $878 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden index f8f47390708..1f7ca0f7e75 100644 --- a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden @@ -1,40 +1,43 @@ - Name Monthly Qty Unit Monthly Cost - - aws_vpc_endpoint.interface_withBigUsage - ├─ Data processed (first 1PB) 1,000 GB $10.00 - ├─ Data processed (next 4PB) 4,000 GB $24.00 - ├─ Data processed (over 5PB) 2,000 GB $8.00 - └─ Endpoint (Interface) 730 hours $7.30 - - aws_vpc_endpoint.interface_withUsage - ├─ Data processed (first 1PB) 1,000 GB $10.00 - └─ Endpoint (Interface) 730 hours $7.30 - - aws_vpc_endpoint.multiple_interfaces - ├─ Data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB - └─ Endpoint (Interface) 1,460 hours $14.60 - - aws_vpc_endpoint.with_dynamic_subnet - ├─ Data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB - └─ Endpoint (Interface) 1,460 hours $14.60 - - aws_vpc_endpoint.gateway_loadbalancer - ├─ Data processed Monthly cost depends on usage: $0.0035 per GB - └─ Endpoint (GatewayLoadBalancer) 730 hours $7.30 - - aws_vpc_endpoint.interface - ├─ Data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB - └─ Endpoint (Interface) 730 hours $7.30 - + Name Monthly Qty Unit Monthly Cost + + aws_vpc_endpoint.interface_withBigUsage + ├─ Data processed (first 1PB) 1,000 GB $10.00 * + ├─ Data processed (next 4PB) 4,000 GB $24.00 * + ├─ Data processed (over 5PB) 2,000 GB $8.00 * + └─ Endpoint (Interface) 730 hours $7.30 + + aws_vpc_endpoint.interface_withUsage + ├─ Data processed (first 1PB) 1,000 GB $10.00 * + └─ Endpoint (Interface) 730 hours $7.30 + + aws_vpc_endpoint.multiple_interfaces + ├─ Data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB + └─ Endpoint (Interface) 1,460 hours $14.60 + + aws_vpc_endpoint.with_dynamic_subnet + ├─ Data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB + └─ Endpoint (Interface) 1,460 hours $14.60 + + aws_vpc_endpoint.gateway_loadbalancer + ├─ Data processed Monthly cost depends on usage: $0.0035 per GB + └─ Endpoint (GatewayLoadBalancer) 730 hours $7.30 + + aws_vpc_endpoint.interface + ├─ Data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB + └─ Endpoint (Interface) 730 hours $7.30 + OVERALL TOTAL $110.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 6 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestVpcEndpointGoldenFile ┃ $110 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestVpcEndpointGoldenFile ┃ $58 ┃ $52 ┃ $110 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden index e757761506d..c55d3133415 100644 --- a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - aws_vpn_connection.transit_withUsage - ├─ VPN connection 730 hours $36.50 - ├─ Transit gateway attachment 730 hours $36.50 - └─ Data processed 100 GB $2.00 - - aws_vpn_connection.transit - ├─ VPN connection 730 hours $36.50 - ├─ Transit gateway attachment 730 hours $36.50 - └─ Data processed Monthly cost depends on usage: $0.02 per GB - - aws_vpn_connection.vpn_connection - └─ VPN connection 730 hours $36.50 - - aws_vpn_connection.vpn_connection_withUsage - └─ VPN connection 730 hours $36.50 - + Name Monthly Qty Unit Monthly Cost + + aws_vpn_connection.transit_withUsage + ├─ VPN connection 730 hours $36.50 + ├─ Transit gateway attachment 730 hours $36.50 + └─ Data processed 100 GB $2.00 * + + aws_vpn_connection.transit + ├─ VPN connection 730 hours $36.50 + ├─ Transit gateway attachment 730 hours $36.50 + └─ Data processed Monthly cost depends on usage: $0.02 per GB + + aws_vpn_connection.vpn_connection + └─ VPN connection 730 hours $36.50 + + aws_vpn_connection.vpn_connection_withUsage + └─ VPN connection 730 hours $36.50 + OVERALL TOTAL $221.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestVPNConnectionGoldenFile ┃ $221 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestVPNConnectionGoldenFile ┃ $219 ┃ $2 ┃ $221 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden index 8804166b256..b4e788a51de 100644 --- a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden @@ -1,35 +1,38 @@ - Name Monthly Qty Unit Monthly Cost - - aws_waf_web_acl.my_waf - ├─ Web ACL usage 1 months $5.00 - ├─ Rules 7 rules $7.00 - ├─ Rule groups 2 groups $2.00 - └─ Requests 1 1M requests $0.60 - - aws_waf_web_acl.us_west_1 - ├─ Web ACL usage 1 months $5.00 - ├─ Rules 7 rules $7.00 - ├─ Rule groups 2 groups $2.00 - └─ Requests 1 1M requests $0.60 - - aws_waf_web_acl.withoutUsage - ├─ Web ACL usage 1 months $5.00 - ├─ Rules 2 rules $2.00 - ├─ Rule groups 2 groups $2.00 - └─ Requests Monthly cost depends on usage: $0.60 per 1M requests - + Name Monthly Qty Unit Monthly Cost + + aws_waf_web_acl.my_waf + ├─ Web ACL usage 1 months $5.00 + ├─ Rules 7 rules $7.00 + ├─ Rule groups 2 groups $2.00 * + └─ Requests 1 1M requests $0.60 * + + aws_waf_web_acl.us_west_1 + ├─ Web ACL usage 1 months $5.00 + ├─ Rules 7 rules $7.00 + ├─ Rule groups 2 groups $2.00 * + └─ Requests 1 1M requests $0.60 * + + aws_waf_web_acl.withoutUsage + ├─ Web ACL usage 1 months $5.00 + ├─ Rules 2 rules $2.00 + ├─ Rule groups 2 groups $2.00 * + └─ Requests Monthly cost depends on usage: $0.60 per 1M requests + OVERALL TOTAL $38.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 3 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestWAFWebACLGoldenFile ┃ $38 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestWAFWebACLGoldenFile ┃ $31 ┃ $7 ┃ $38 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Multiple prices found for aws_waf_web_acl.my_waf Requests, using the first price diff --git a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden index 417c3b6cbc1..07ca5fd1923 100644 --- a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - aws_wafv2_web_acl.my_waf - ├─ Web ACL usage 1 months $5.00 - ├─ Rules 16 rules $16.00 - ├─ Rule groups 1 groups $1.00 - ├─ Managed rule groups 1 groups $1.00 - └─ Requests 1 1M requests $0.60 - - aws_wafv2_web_acl.my_waf_no_usage - ├─ Web ACL usage 1 months $5.00 - ├─ Rules 1 rules $1.00 - ├─ Rule groups 1 groups $1.00 - ├─ Managed rule groups 1 groups $1.00 - └─ Requests Monthly cost depends on usage: $0.60 per 1M requests - + Name Monthly Qty Unit Monthly Cost + + aws_wafv2_web_acl.my_waf + ├─ Web ACL usage 1 months $5.00 + ├─ Rules 16 rules $16.00 + ├─ Rule groups 1 groups $1.00 * + ├─ Managed rule groups 1 groups $1.00 * + └─ Requests 1 1M requests $0.60 * + + aws_wafv2_web_acl.my_waf_no_usage + ├─ Web ACL usage 1 months $5.00 + ├─ Rules 1 rules $1.00 + ├─ Rule groups 1 groups $1.00 * + ├─ Managed rule groups 1 groups $1.00 * + └─ Requests Monthly cost depends on usage: $0.60 per 1M requests + OVERALL TOTAL $31.60 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 2 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestWAFv2WebACLGoldenFile ┃ $32 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestWAFv2WebACLGoldenFile ┃ $27 ┃ $5 ┃ $32 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden index c98911926ea..7986d4cdefd 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_active_directory_domain_service.example - └─ Active directory domain service (Enterprise) 730 hours $292.00 - - azurerm_active_directory_domain_service_replica_set.replica - └─ Active directory domain service replica set (Enterprise) 730 hours $292.00 - - OVERALL TOTAL $584.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_active_directory_domain_service.example + └─ Active directory domain service (Enterprise) 730 hours $292.00 + + azurerm_active_directory_domain_service_replica_set.replica + └─ Active directory domain service replica set (Enterprise) 730 hours $292.00 + + OVERALL TOTAL $584.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 2 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMActiveDirectoryDomainReplicaSetService ┃ $584 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMActiveDirectoryDomainReplicaSetService ┃ $584 ┃ $0.00 ┃ $584 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden index 2c7b1bbf9f6..8e69967aff5 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden @@ -1,23 +1,26 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_active_directory_domain_service.premium - └─ Active directory domain service (Premium) 730 hours $1,168.00 - - azurerm_active_directory_domain_service.enterprise - └─ Active directory domain service (Enterprise) 730 hours $292.00 - - azurerm_active_directory_domain_service.standard - └─ Active directory domain service (Standard) 730 hours $109.50 - - OVERALL TOTAL $1,569.50 + Name Monthly Qty Unit Monthly Cost + + azurerm_active_directory_domain_service.premium + └─ Active directory domain service (Premium) 730 hours $1,168.00 + + azurerm_active_directory_domain_service.enterprise + └─ Active directory domain service (Enterprise) 730 hours $292.00 + + azurerm_active_directory_domain_service.standard + └─ Active directory domain service (Standard) 730 hours $109.50 + + OVERALL TOTAL $1,569.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 3 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMActiveDirectoryDomainService ┃ $1,570 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMActiveDirectoryDomainService ┃ $1,570 ┃ $0.00 ┃ $1,570 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden index 46beb3fe1ef..f27cf2cce05 100644 --- a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden +++ b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden @@ -1,37 +1,40 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_api_management.premium - ├─ API management (premium) 4 units $11,180.68 - └─ Self hosted gateway 5 gateways $1,250.00 - - azurerm_api_management.premium_non_usage - ├─ API management (premium) 4 units $11,180.68 - └─ Self hosted gateway Monthly cost depends on usage: $250.00 per gateways - - azurerm_api_management.std3 - └─ API management (standard) 3 units $2,060.13 - - azurerm_api_management.basic2 - └─ API management (basic) 2 units $294.34 - - azurerm_api_management.developer1 - └─ API management (developer) 1 units $48.03 - - azurerm_api_management.consumption - └─ API management (consumption) 10 1M calls $35.00 - - azurerm_api_management.consumption_non_usage - └─ API management (consumption) Monthly cost depends on usage: $3.50 per 1M calls - + Name Monthly Qty Unit Monthly Cost + + azurerm_api_management.premium + ├─ API management (premium) 4 units $11,180.68 + └─ Self hosted gateway 5 gateways $1,250.00 * + + azurerm_api_management.premium_non_usage + ├─ API management (premium) 4 units $11,180.68 + └─ Self hosted gateway Monthly cost depends on usage: $250.00 per gateways + + azurerm_api_management.std3 + └─ API management (standard) 3 units $2,060.13 + + azurerm_api_management.basic2 + └─ API management (basic) 2 units $294.34 + + azurerm_api_management.developer1 + └─ API management (developer) 1 units $48.03 + + azurerm_api_management.consumption + └─ API management (consumption) 10 1M calls $35.00 * + + azurerm_api_management.consumption_non_usage + └─ API management (consumption) Monthly cost depends on usage: $3.50 per 1M calls + OVERALL TOTAL $26,048.86 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 7 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMApiManagement ┃ $26,049 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMApiManagement ┃ $24,764 ┃ $1,285 ┃ $26,049 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden index 656539e4a5e..3bfdc43194a 100644 --- a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden @@ -1,38 +1,41 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_app_configuration.usage["standard.replicas.3"] - ├─ Instance (3 replicas) 30 days $144.00 - └─ Requests (over 200k/day per replica) 3 10k requests $0.18 - - azurerm_app_configuration.base["standard.replicas.3"] - ├─ Instance (3 replicas) 30 days $144.00 - └─ Requests (over 200k/day per replica) Monthly cost depends on usage: $0.06 per 10k requests - - azurerm_app_configuration.usage["standard.replicas.1"] - ├─ Instance (1 replica) 30 days $72.00 - └─ Requests (over 200k/day per replica) 3 10k requests $0.18 - - azurerm_app_configuration.base["standard.replicas.1"] - ├─ Instance (1 replica) 30 days $72.00 - └─ Requests (over 200k/day per replica) Monthly cost depends on usage: $0.06 per 10k requests - - azurerm_app_configuration.usage["standard.replicas.0"] - ├─ Instance 30 days $36.00 - └─ Requests (over 200k/day per replica) 3 10k requests $0.18 - - azurerm_app_configuration.base["standard.replicas.0"] - ├─ Instance 30 days $36.00 - └─ Requests (over 200k/day per replica) Monthly cost depends on usage: $0.06 per 10k requests - + Name Monthly Qty Unit Monthly Cost + + azurerm_app_configuration.usage["standard.replicas.3"] + ├─ Instance (3 replicas) 30 days $144.00 + └─ Requests (over 200k/day per replica) 3 10k requests $0.18 * + + azurerm_app_configuration.base["standard.replicas.3"] + ├─ Instance (3 replicas) 30 days $144.00 + └─ Requests (over 200k/day per replica) Monthly cost depends on usage: $0.06 per 10k requests + + azurerm_app_configuration.usage["standard.replicas.1"] + ├─ Instance (1 replica) 30 days $72.00 + └─ Requests (over 200k/day per replica) 3 10k requests $0.18 * + + azurerm_app_configuration.base["standard.replicas.1"] + ├─ Instance (1 replica) 30 days $72.00 + └─ Requests (over 200k/day per replica) Monthly cost depends on usage: $0.06 per 10k requests + + azurerm_app_configuration.usage["standard.replicas.0"] + ├─ Instance 30 days $36.00 + └─ Requests (over 200k/day per replica) 3 10k requests $0.18 * + + azurerm_app_configuration.base["standard.replicas.0"] + ├─ Instance 30 days $36.00 + └─ Requests (over 200k/day per replica) Monthly cost depends on usage: $0.06 per 10k requests + OVERALL TOTAL $504.54 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 19 cloud resources were detected: ∙ 6 were estimated ∙ 13 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAppConfiguration ┃ $505 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAppConfiguration ┃ $504 ┃ $0.54 ┃ $505 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden index ccd2e1b61ba..fbb8ecc93c0 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden @@ -1,17 +1,20 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_app_service_certificate_binding.example - └─ IP SSL certificate 1 months $39.00 - - OVERALL TOTAL $39.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_app_service_certificate_binding.example + └─ IP SSL certificate 1 months $39.00 + + OVERALL TOTAL $39.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 1 was estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCertificateBinding ┃ $39 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAppServiceCertificateBinding ┃ $39 ┃ $0.00 ┃ $39 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden index 8da568b1682..1932eaf9f0d 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_app_service_certificate_order.wildcard_cert - └─ SSL certificate (wildcard) 0.0833 years $25.00 - - azurerm_app_service_certificate_order.standard_cert - └─ SSL certificate (standard) 0.0833 years $5.83 - - OVERALL TOTAL $30.83 + Name Monthly Qty Unit Monthly Cost + + azurerm_app_service_certificate_order.wildcard_cert + └─ SSL certificate (wildcard) 0.0833 years $25.00 + + azurerm_app_service_certificate_order.standard_cert + └─ SSL certificate (standard) 0.0833 years $5.83 + + OVERALL TOTAL $30.83 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCertificateOrder ┃ $31 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAppServiceCertificateOrder ┃ $31 ┃ $0.00 ┃ $31 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden index dd219eec37f..d6cb4302a03 100644 --- a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_app_service_plan.example - └─ Instance usage (S1) 730 hours $73.00 - - azurerm_app_service_custom_hostname_binding.example - └─ IP SSL certificate 1 months $39.00 - - OVERALL TOTAL $112.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_app_service_plan.example + └─ Instance usage (S1) 730 hours $73.00 + + azurerm_app_service_custom_hostname_binding.example + └─ IP SSL certificate 1 months $39.00 + + OVERALL TOTAL $112.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCustomHostnameBinding ┃ $112 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAppServiceCustomHostnameBinding ┃ $112 ┃ $0.00 ┃ $112 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden index 99d0eefc7bc..4554fbe219d 100644 --- a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden @@ -1,38 +1,41 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_app_service_environment.example_I2 - ├─ Stamp fee 730 hours $991.34 - └─ Instance usage (I2) 730 hours $416.10 - - azurerm_app_service_environment.linux_I2 - ├─ Stamp fee 730 hours $991.34 - └─ Instance usage (I2) 730 hours $416.10 - - azurerm_app_service_environment.windows_I2 - ├─ Stamp fee 730 hours $991.34 - └─ Instance usage (I2) 730 hours $416.10 - - azurerm_app_service_environment.example_I1 - ├─ Stamp fee 730 hours $991.34 - └─ Instance usage (I1) 730 hours $208.05 - - azurerm_app_service_environment.linux_I1 - ├─ Stamp fee 730 hours $991.34 - └─ Instance usage (I1) 730 hours $208.05 - - azurerm_app_service_environment.windows_I1 - ├─ Stamp fee 730 hours $991.34 - └─ Instance usage (I1) 730 hours $208.05 - - OVERALL TOTAL $7,820.49 + Name Monthly Qty Unit Monthly Cost + + azurerm_app_service_environment.example_I2 + ├─ Stamp fee 730 hours $991.34 + └─ Instance usage (I2) 730 hours $416.10 + + azurerm_app_service_environment.linux_I2 + ├─ Stamp fee 730 hours $991.34 + └─ Instance usage (I2) 730 hours $416.10 + + azurerm_app_service_environment.windows_I2 + ├─ Stamp fee 730 hours $991.34 + └─ Instance usage (I2) 730 hours $416.10 + + azurerm_app_service_environment.example_I1 + ├─ Stamp fee 730 hours $991.34 + └─ Instance usage (I1) 730 hours $208.05 + + azurerm_app_service_environment.linux_I1 + ├─ Stamp fee 730 hours $991.34 + └─ Instance usage (I1) 730 hours $208.05 + + azurerm_app_service_environment.windows_I1 + ├─ Stamp fee 730 hours $991.34 + └─ Instance usage (I1) 730 hours $208.05 + + OVERALL TOTAL $7,820.49 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 6 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAppIsolatedServicePlan ┃ $7,820 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAppIsolatedServicePlan ┃ $7,820 ┃ $0.00 ┃ $7,820 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden index c95469761e1..eb9ac068c0e 100644 --- a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden @@ -1,44 +1,47 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_app_service_plan.pc3 - └─ Instance usage (PC3) 10,950 hours $3,557.57 - - azurerm_app_service_plan.premium_v2 - └─ Instance usage (P1v2) 7,300 hours $737.30 - - azurerm_app_service_plan.standard_s2 - └─ Instance usage (S1) 3,650 hours $365.00 - - azurerm_app_service_plan.isolated_v2 - └─ Instance usage (I1v2) 730 hours $281.78 - - azurerm_app_service_plan.isolated - └─ Instance usage (I1) 730 hours $219.00 - - azurerm_app_service_plan.premium_v1 - └─ Instance usage (P1v1) 730 hours $219.00 - - azurerm_app_service_plan.pc2 - └─ Instance usage (PC2) 730 hours $118.59 - - azurerm_app_service_plan.standard_s1 - └─ Instance usage (S1) 730 hours $73.00 - - azurerm_app_service_plan.basic - └─ Instance usage (B2) 730 hours $24.82 - - azurerm_app_service_plan.default_capacity - └─ Instance usage (B2) 730 hours $24.82 - - OVERALL TOTAL $5,620.87 + Name Monthly Qty Unit Monthly Cost + + azurerm_app_service_plan.pc3 + └─ Instance usage (PC3) 10,950 hours $3,557.57 + + azurerm_app_service_plan.premium_v2 + └─ Instance usage (P1v2) 7,300 hours $737.30 + + azurerm_app_service_plan.standard_s2 + └─ Instance usage (S1) 3,650 hours $365.00 + + azurerm_app_service_plan.isolated_v2 + └─ Instance usage (I1v2) 730 hours $281.78 + + azurerm_app_service_plan.isolated + └─ Instance usage (I1) 730 hours $219.00 + + azurerm_app_service_plan.premium_v1 + └─ Instance usage (P1v1) 730 hours $219.00 + + azurerm_app_service_plan.pc2 + └─ Instance usage (PC2) 730 hours $118.59 + + azurerm_app_service_plan.standard_s1 + └─ Instance usage (S1) 730 hours $73.00 + + azurerm_app_service_plan.basic + └─ Instance usage (B2) 730 hours $24.82 + + azurerm_app_service_plan.default_capacity + └─ Instance usage (B2) 730 hours $24.82 + + OVERALL TOTAL $5,620.87 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 11 cloud resources were detected: ∙ 10 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAppServicePlan ┃ $5,621 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAppServicePlan ┃ $5,621 ┃ $0.00 ┃ $5,621 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden index aeb06d34bde..e2645a76b13 100644 --- a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden @@ -1,57 +1,60 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_application_gateway.waf_with_autoscaling - ├─ Gateway usage (WAF, medium) 14,600 hours $1,839.60 - ├─ Data processing (10-40TB) 30,720 GB $215.04 - └─ Data processing (over 40TB) 59,040 GB $413.28 - - azurerm_application_gateway.standard - ├─ Gateway usage (basic, small) 1,460 hours $36.50 - ├─ Data processing (0-10TB) 10,240 GB $81.92 - ├─ Data processing (10-40TB) 30,720 GB $245.76 - └─ Data processing (over 40TB) 59,040 GB $472.32 - - azurerm_application_gateway.waf - ├─ Gateway usage (WAF, medium) 1,460 hours $183.96 - ├─ Data processing (10-40TB) 30,720 GB $215.04 - └─ Data processing (over 40TB) 59,040 GB $413.28 - - azurerm_application_gateway.wafv2_with_autoscaling - ├─ Gateway usage (WAF v2) 730 hours $262.80 - └─ V2 capacity units (WAF) 14,600 CU $210.24 - - azurerm_application_gateway.wafv2_with_autoscaling_without_usage - ├─ Gateway usage (WAF v2) 730 hours $262.80 - └─ V2 capacity units (WAF) 2,190 CU $31.54 - - azurerm_application_gateway.wafv2 - ├─ Gateway usage (WAF v2) 730 hours $262.80 - └─ V2 capacity units (WAF) 1,460 CU $21.02 - - azurerm_application_gateway.wafv2_without_usage - ├─ Gateway usage (WAF v2) 730 hours $262.80 - └─ V2 capacity units (WAF) 1,460 CU $21.02 - - azurerm_application_gateway.waf_with_autoscaling_without_usage - ├─ Gateway usage (WAF, medium) 2,190 hours $275.94 - └─ Data processing (0-10TB) Monthly cost depends on usage: $0.00 per GB - - azurerm_application_gateway.waf_without_usage - ├─ Gateway usage (WAF, medium) 1,460 hours $183.96 - └─ Data processing (0-10TB) Monthly cost depends on usage: $0.00 per GB - - azurerm_public_ip.example - └─ IP address (dynamic, regional) 730 hours $2.92 - + Name Monthly Qty Unit Monthly Cost + + azurerm_application_gateway.waf_with_autoscaling + ├─ Gateway usage (WAF, medium) 14,600 hours $1,839.60 + ├─ Data processing (10-40TB) 30,720 GB $215.04 * + └─ Data processing (over 40TB) 59,040 GB $413.28 * + + azurerm_application_gateway.standard + ├─ Gateway usage (basic, small) 1,460 hours $36.50 + ├─ Data processing (0-10TB) 10,240 GB $81.92 * + ├─ Data processing (10-40TB) 30,720 GB $245.76 * + └─ Data processing (over 40TB) 59,040 GB $472.32 * + + azurerm_application_gateway.waf + ├─ Gateway usage (WAF, medium) 1,460 hours $183.96 + ├─ Data processing (10-40TB) 30,720 GB $215.04 * + └─ Data processing (over 40TB) 59,040 GB $413.28 * + + azurerm_application_gateway.wafv2_with_autoscaling + ├─ Gateway usage (WAF v2) 730 hours $262.80 + └─ V2 capacity units (WAF) 14,600 CU $210.24 * + + azurerm_application_gateway.wafv2_with_autoscaling_without_usage + ├─ Gateway usage (WAF v2) 730 hours $262.80 + └─ V2 capacity units (WAF) 2,190 CU $31.54 * + + azurerm_application_gateway.wafv2 + ├─ Gateway usage (WAF v2) 730 hours $262.80 + └─ V2 capacity units (WAF) 1,460 CU $21.02 * + + azurerm_application_gateway.wafv2_without_usage + ├─ Gateway usage (WAF v2) 730 hours $262.80 + └─ V2 capacity units (WAF) 1,460 CU $21.02 * + + azurerm_application_gateway.waf_with_autoscaling_without_usage + ├─ Gateway usage (WAF, medium) 2,190 hours $275.94 + └─ Data processing (0-10TB) Monthly cost depends on usage: $0.00 per GB + + azurerm_application_gateway.waf_without_usage + ├─ Gateway usage (WAF, medium) 1,460 hours $183.96 + └─ Data processing (0-10TB) Monthly cost depends on usage: $0.00 per GB + + azurerm_public_ip.example + └─ IP address (dynamic, regional) 730 hours $2.92 + OVERALL TOTAL $5,914.54 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 14 cloud resources were detected: ∙ 10 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationGateway ┃ $5,915 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMApplicationGateway ┃ $3,574 ┃ $2,340 ┃ $5,915 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden index 9e77e184422..985dd888841 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_application_insights_standard_web_test.example-default-frequency - └─ Standard web test (300 second frequency) 8,760 tests $5.65 - - azurerm_application_insights_standard_web_test.example["300"] - └─ Standard web test (300 second frequency) 8,760 tests $5.65 - - azurerm_application_insights_standard_web_test.example["600"] - └─ Standard web test (600 second frequency) 4,380 tests $2.83 - - azurerm_application_insights_standard_web_test.example["900"] - └─ Standard web test (900 second frequency) 2,920 tests $1.88 - - azurerm_application_insights.example - └─ Data ingested Monthly cost depends on usage: $2.30 per GB - - OVERALL TOTAL $16.01 + Name Monthly Qty Unit Monthly Cost + + azurerm_application_insights_standard_web_test.example-default-frequency + └─ Standard web test (300 second frequency) 8,760 tests $5.65 + + azurerm_application_insights_standard_web_test.example["300"] + └─ Standard web test (300 second frequency) 8,760 tests $5.65 + + azurerm_application_insights_standard_web_test.example["600"] + └─ Standard web test (600 second frequency) 4,380 tests $2.83 + + azurerm_application_insights_standard_web_test.example["900"] + └─ Standard web test (900 second frequency) 2,920 tests $1.88 + + azurerm_application_insights.example + └─ Data ingested Monthly cost depends on usage: $2.30 per GB + + OVERALL TOTAL $16.01 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 6 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestApplicationInsightsStandardWebTest ┃ $16 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestApplicationInsightsStandardWebTest ┃ $16 ┃ $0.00 ┃ $16 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden index 303ede299a7..690d1a9f3cf 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden @@ -1,24 +1,27 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_application_insights.with_retention - ├─ Data ingested 1,000 GB $2,300.00 - └─ Data retention (120 days) 1,000 GB $100.00 - - azurerm_application_insights.usage - └─ Data ingested 1,000 GB $2,300.00 - - azurerm_application_insights.non_usage - └─ Data ingested Monthly cost depends on usage: $2.30 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_application_insights.with_retention + ├─ Data ingested 1,000 GB $2,300.00 * + └─ Data retention (120 days) 1,000 GB $100.00 + + azurerm_application_insights.usage + └─ Data ingested 1,000 GB $2,300.00 * + + azurerm_application_insights.non_usage + └─ Data ingested Monthly cost depends on usage: $2.30 per GB + OVERALL TOTAL $4,700.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 3 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationInsights ┃ $4,700 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMApplicationInsights ┃ $100 ┃ $4,600 ┃ $4,700 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden index e10576b9851..37bc8c97770 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_application_insights_web_test.non_free - └─ Multi-step web test 1 test $10.00 - - azurerm_application_insights.example - └─ Data ingested Monthly cost depends on usage: $2.30 per GB - - OVERALL TOTAL $10.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_application_insights_web_test.non_free + └─ Multi-step web test 1 test $10.00 + + azurerm_application_insights.example + └─ Data ingested Monthly cost depends on usage: $2.30 per GB + + OVERALL TOTAL $10.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationInsightsWeb ┃ $10 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMApplicationInsightsWeb ┃ $10 ┃ $0.00 ┃ $10 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden index f3d6ce3d042..59c3fd1e7d4 100644 --- a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_automation_account.allUsageEx - ├─ Job run time 5 minutes $0.01 - ├─ Non-azure config nodes 2 nodes $12.00 - └─ Watchers 10 hours $0.02 - - azurerm_automation_account.someUsageEx - ├─ Job run time 20 minutes $0.04 - └─ Watchers 15 hours $0.03 - - azurerm_automation_account.without_usage - ├─ Job run time Monthly cost depends on usage: $0.002 per minutes - ├─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes - └─ Watchers Monthly cost depends on usage: $0.002 per hours - + Name Monthly Qty Unit Monthly Cost + + azurerm_automation_account.allUsageEx + ├─ Job run time 5 minutes $0.01 * + ├─ Non-azure config nodes 2 nodes $12.00 * + └─ Watchers 10 hours $0.02 * + + azurerm_automation_account.someUsageEx + ├─ Job run time 20 minutes $0.04 * + └─ Watchers 15 hours $0.03 * + + azurerm_automation_account.without_usage + ├─ Job run time Monthly cost depends on usage: $0.002 per minutes + ├─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes + └─ Watchers Monthly cost depends on usage: $0.002 per hours + OVERALL TOTAL $12.10 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationAccount ┃ $12 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAutomationAccount ┃ $0.00 ┃ $12 ┃ $12 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden index c2add8a284f..1e91f843c2f 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_automation_dsc_configuration.fiveNodes - └─ Non-azure config nodes 5 nodes $30.00 - - azurerm_automation_account.example - ├─ Job run time Monthly cost depends on usage: $0.002 per minutes - ├─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes - └─ Watchers Monthly cost depends on usage: $0.002 per hours - - azurerm_automation_dsc_configuration.without_usage - └─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes - + Name Monthly Qty Unit Monthly Cost + + azurerm_automation_dsc_configuration.fiveNodes + └─ Non-azure config nodes 5 nodes $30.00 * + + azurerm_automation_account.example + ├─ Job run time Monthly cost depends on usage: $0.002 per minutes + ├─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes + └─ Watchers Monthly cost depends on usage: $0.002 per hours + + azurerm_automation_dsc_configuration.without_usage + └─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes + OVERALL TOTAL $30.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationDscConfiguration ┃ $30 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAutomationDscConfiguration ┃ $0.00 ┃ $30 ┃ $30 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden index 220520cdfe5..b3259634452 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_automation_dsc_nodeconfiguration.fiveNodes - └─ Non-azure config nodes 5 nodes $30.00 - - azurerm_automation_account.example - ├─ Job run time Monthly cost depends on usage: $0.002 per minutes - ├─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes - └─ Watchers Monthly cost depends on usage: $0.002 per hours - - azurerm_automation_dsc_configuration.example - └─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes - - azurerm_automation_dsc_nodeconfiguration.withoutUsage - └─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes - + Name Monthly Qty Unit Monthly Cost + + azurerm_automation_dsc_nodeconfiguration.fiveNodes + └─ Non-azure config nodes 5 nodes $30.00 * + + azurerm_automation_account.example + ├─ Job run time Monthly cost depends on usage: $0.002 per minutes + ├─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes + └─ Watchers Monthly cost depends on usage: $0.002 per hours + + azurerm_automation_dsc_configuration.example + └─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes + + azurerm_automation_dsc_nodeconfiguration.withoutUsage + └─ Non-azure config nodes Monthly cost depends on usage: $6.00 per nodes + OVERALL TOTAL $30.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 5 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationDscNodeconfiguration ┃ $30 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAutomationDscNodeconfiguration ┃ $0.00 ┃ $30 ┃ $30 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden index 6feb6cc7d97..33dea428bb7 100644 --- a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_automation_job_schedule.fiveMinutes - └─ Job run time 5 minutes $0.01 - - azurerm_automation_job_schedule.withoutUsage - └─ Job run time Monthly cost depends on usage: $0.002 per minutes - + Name Monthly Qty Unit Monthly Cost + + azurerm_automation_job_schedule.fiveMinutes + └─ Job run time 5 minutes $0.01 * + + azurerm_automation_job_schedule.withoutUsage + └─ Job run time Monthly cost depends on usage: $0.002 per minutes + OVERALL TOTAL $0.01 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 3 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationJobSchedule ┃ $0.01 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAutomationJobSchedule ┃ $0.00 ┃ $0.01 ┃ $0.01 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden index 39ef3692a31..ba0cef6bb6d 100644 --- a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden +++ b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden @@ -1,23 +1,26 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_bastion_host.example - ├─ Bastion host 730 hours $138.70 - ├─ Outbound data transfer (first 10TB) 10,000 GB $1,200.00 - ├─ Outbound data transfer (next 40TB) 50,000 GB $4,250.00 - └─ Outbound data transfer (next 100TB) 40,000 GB $3,280.00 - - azurerm_public_ip.deploy - └─ IP address (static, regional) 730 hours $3.65 - + Name Monthly Qty Unit Monthly Cost + + azurerm_bastion_host.example + ├─ Bastion host 730 hours $138.70 + ├─ Outbound data transfer (first 10TB) 10,000 GB $1,200.00 * + ├─ Outbound data transfer (next 40TB) 50,000 GB $4,250.00 * + └─ Outbound data transfer (next 100TB) 40,000 GB $3,280.00 * + + azurerm_public_ip.deploy + └─ IP address (static, regional) 730 hours $3.65 + OVERALL TOTAL $8,872.35 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 2 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMBastionHost ┃ $8,872 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMBastionHost ┃ $142 ┃ $8,730 ┃ $8,872 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden index dcacc53e36c..ca40f4cff96 100644 --- a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden @@ -1,51 +1,54 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cdn_endpoint.std_verizon_with_opt - ├─ Outbound data transfer (Standard Verizon, first 10TB) 10,000 GB $810.00 - ├─ Outbound data transfer (Standard Verizon, next 40TB) 40,000 GB $3,000.00 - ├─ Outbound data transfer (Standard Verizon, next 100TB) 100,000 GB $5,600.00 - ├─ Outbound data transfer (Standard Verizon, next 350TB) 350,000 GB $12,950.00 - ├─ Outbound data transfer (Standard Verizon, next 500TB) 500,000 GB $14,000.00 - ├─ Outbound data transfer (Standard Verizon, next 4000TB) 4,000,000 GB $92,000.00 - ├─ Outbound data transfer (Standard Verizon, over 5000TB) 5,000,000 GB $115,000.00 - ├─ Acceleration outbound data transfer (first 50TB) 50,000 GB $8,850.00 - ├─ Acceleration outbound data transfer (next 100TB) 100,000 GB $15,800.00 - ├─ Acceleration outbound data transfer (next 350TB) 350,000 GB $49,000.00 - ├─ Acceleration outbound data transfer (next 500TB) 500,000 GB $60,500.00 - └─ Acceleration outbound data transfer (over 1000TB) 1,000,000 GB $102,000.00 - - azurerm_cdn_endpoint.prm_verizon - ├─ Outbound data transfer (Premium Verizon, first 10TB) 10,000 GB $1,580.00 - ├─ Outbound data transfer (Premium Verizon, next 40TB) 40,000 GB $5,600.00 - ├─ Outbound data transfer (Premium Verizon, next 100TB) 100,000 GB $12,100.00 - ├─ Outbound data transfer (Premium Verizon, next 350TB) 350,000 GB $35,700.00 - └─ Outbound data transfer (Premium Verizon, next 500TB) 500,000 GB $46,500.00 - - azurerm_cdn_endpoint.std_akamai - ├─ Outbound data transfer (Akamai, first 10TB) 10,000 GB $810.00 - ├─ Outbound data transfer (Akamai, next 40TB) 40,000 GB $3,000.00 - ├─ Outbound data transfer (Akamai, next 100TB) 100,000 GB $5,600.00 - ├─ Outbound data transfer (Akamai, next 350TB) 350,000 GB $12,950.00 - └─ Outbound data transfer (Akamai, next 500TB) 200,000 GB $5,600.00 - - azurerm_cdn_endpoint.std_microsoft - ├─ Outbound data transfer (Microsoft, first 10TB) 10,000 GB $810.00 - ├─ Rules engine rules (over 5) 3 rules $3.00 - └─ Rules engine requests 10 1M requests $6.00 - - azurerm_cdn_endpoint.non_usage - ├─ Outbound data transfer (Akamai, first 10TB) Monthly cost depends on usage: $0.081 per GB - └─ Acceleration outbound data transfer (first 50TB) Monthly cost depends on usage: $0.18 per GB - - OVERALL TOTAL $609,769.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_cdn_endpoint.std_verizon_with_opt + ├─ Outbound data transfer (Standard Verizon, first 10TB) 10,000 GB $810.00 + ├─ Outbound data transfer (Standard Verizon, next 40TB) 40,000 GB $3,000.00 + ├─ Outbound data transfer (Standard Verizon, next 100TB) 100,000 GB $5,600.00 + ├─ Outbound data transfer (Standard Verizon, next 350TB) 350,000 GB $12,950.00 + ├─ Outbound data transfer (Standard Verizon, next 500TB) 500,000 GB $14,000.00 + ├─ Outbound data transfer (Standard Verizon, next 4000TB) 4,000,000 GB $92,000.00 + ├─ Outbound data transfer (Standard Verizon, over 5000TB) 5,000,000 GB $115,000.00 + ├─ Acceleration outbound data transfer (first 50TB) 50,000 GB $8,850.00 + ├─ Acceleration outbound data transfer (next 100TB) 100,000 GB $15,800.00 + ├─ Acceleration outbound data transfer (next 350TB) 350,000 GB $49,000.00 + ├─ Acceleration outbound data transfer (next 500TB) 500,000 GB $60,500.00 + └─ Acceleration outbound data transfer (over 1000TB) 1,000,000 GB $102,000.00 + + azurerm_cdn_endpoint.prm_verizon + ├─ Outbound data transfer (Premium Verizon, first 10TB) 10,000 GB $1,580.00 + ├─ Outbound data transfer (Premium Verizon, next 40TB) 40,000 GB $5,600.00 + ├─ Outbound data transfer (Premium Verizon, next 100TB) 100,000 GB $12,100.00 + ├─ Outbound data transfer (Premium Verizon, next 350TB) 350,000 GB $35,700.00 + └─ Outbound data transfer (Premium Verizon, next 500TB) 500,000 GB $46,500.00 + + azurerm_cdn_endpoint.std_akamai + ├─ Outbound data transfer (Akamai, first 10TB) 10,000 GB $810.00 + ├─ Outbound data transfer (Akamai, next 40TB) 40,000 GB $3,000.00 + ├─ Outbound data transfer (Akamai, next 100TB) 100,000 GB $5,600.00 + ├─ Outbound data transfer (Akamai, next 350TB) 350,000 GB $12,950.00 + └─ Outbound data transfer (Akamai, next 500TB) 200,000 GB $5,600.00 + + azurerm_cdn_endpoint.std_microsoft + ├─ Outbound data transfer (Microsoft, first 10TB) 10,000 GB $810.00 + ├─ Rules engine rules (over 5) 3 rules $3.00 + └─ Rules engine requests 10 1M requests $6.00 + + azurerm_cdn_endpoint.non_usage + ├─ Outbound data transfer (Akamai, first 10TB) Monthly cost depends on usage: $0.081 per GB + └─ Acceleration outbound data transfer (first 50TB) Monthly cost depends on usage: $0.18 per GB + + OVERALL TOTAL $609,769.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 5 were estimated ∙ 5 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCDNEndpoint ┃ $609,769 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCDNEndpoint ┃ $609,769 ┃ $0.00 ┃ $609,769 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden index bf91dbdaba3..3277ecd28bb 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden @@ -1,287 +1,290 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cognitive_account.speech_with_commitment["large"] - ├─ Speech to text (commitment) 50,000 hours $25,000.00 - ├─ Speech to text (overage) 100 hours $50.00 - ├─ Speech to text (connected container commitment) 50,000 hours $23,750.00 - ├─ Speech to text (connected container overage) 100 hours $48.00 - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours - ├─ Speech to text custom model (commitment) 50,000 hours $30,000.00 - ├─ Speech to text custom model (overage) 100 hours $60.00 - ├─ Speech to text custom model (connected container commitment) 50,000 hours $28,500.00 - ├─ Speech to text custom model (connected container overage) 100 hours $56.50 - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours - ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours - ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours - ├─ Speech to text enhanced add-ons (commitment) 50,000 hours $7,500.00 - ├─ Speech to text enhanced add-ons (overage) 100 hours $15.00 - ├─ Speech to text enhanced add-ons (connected container commitment) 50,000 hours $7,125.00 - ├─ Speech to text enhanced add-ons (connected container overage) 100 hours $14.25 - ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours - ├─ Text to speech neural (commitment) 2,000 1M chars $15,000.00 - ├─ Text to speech neural (overage) 1 1M chars $7.50 - ├─ Text to speech neural (connected container commitment) 2,000 1M chars $14,250.00 - ├─ Text to speech neural (connected container overage) 1 1M chars $7.13 - ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours - ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars - ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours - ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars - ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles - ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars - ├─ Speech translation Monthly cost depends on usage: $2.50 per hours - ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions - ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions - └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles - - azurerm_cognitive_account.textanalytics_with_tiers - ├─ Text analytics (first 500K) 500 1K records $500.00 - ├─ Text analytics (500K-2.5M) 2,000 1K records $1,500.00 - ├─ Text analytics (2.5M-10M) 7,500 1K records $2,250.00 - ├─ Text analytics (over 10M) 5,000 1K records $1,250.00 - ├─ Summarization Monthly cost depends on usage: $2.00 per 1K records - ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records - ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour - ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records - ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records - ├─ Customized question answering (first 2.5M) 2,500 1K records $3,750.00 - ├─ Customized question answering (over 2.5M) 500 1K records $500.03 - ├─ Customized training Monthly cost depends on usage: $3.00 per hour - ├─ Text analytics for health (5K-500K) 495 1K records $12,375.00 - ├─ Text analytics for health (500K-2.5M) 2,000 1K records $30,000.00 - └─ Text analytics for health (2.5M-10M) 500 1K records $5,000.00 - - azurerm_cognitive_account.speech_with_commitment["medium"] - ├─ Speech to text (commitment) 10,000 hours $6,500.00 - ├─ Speech to text (overage) 100 hours $65.00 - ├─ Speech to text (connected container commitment) 10,000 hours $6,175.00 - ├─ Speech to text (connected container overage) 100 hours $62.00 - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours - ├─ Speech to text custom model (commitment) 10,000 hours $7,800.00 - ├─ Speech to text custom model (overage) 100 hours $78.00 - ├─ Speech to text custom model (connected container commitment) 10,000 hours $7,410.00 - ├─ Speech to text custom model (connected container overage) 100 hours $73.72 - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours - ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours - ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours - ├─ Speech to text enhanced add-ons (commitment) 10,000 hours $1,950.00 - ├─ Speech to text enhanced add-ons (overage) 100 hours $19.50 - ├─ Speech to text enhanced add-ons (connected container commitment) 10,000 hours $1,852.50 - ├─ Speech to text enhanced add-ons (connected container overage) 100 hours $18.53 - ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours - ├─ Text to speech neural (commitment) 400 1M chars $3,900.00 - ├─ Text to speech neural (overage) 1 1M chars $9.75 - ├─ Text to speech neural (connected container commitment) 400 1M chars $3,705.00 - ├─ Text to speech neural (connected container overage) 1 1M chars $9.26 - ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours - ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars - ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours - ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars - ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles - ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars - ├─ Speech translation Monthly cost depends on usage: $2.50 per hours - ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions - ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions - └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles - - azurerm_cognitive_account.luis_with_commitment["large"] - ├─ Text requests (commitment) 25,000,000 1M transactions $21,750.00 - ├─ Text requests (commitment overage) 1 1K transactions $0.87 - └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions - - azurerm_cognitive_account.textanalytics_with_commitment["large"] - ├─ Text analytics (commitment) 10,000 1K records $3,500.00 - ├─ Text requests (commitment overage) 1 1K records $0.35 - ├─ Text analytics (connected container commitment) 10,000 1K records $2,800.00 - ├─ Text requests (connected container commitment overage) 1 1K records $0.28 - ├─ Summarization (commitment) 10,000 1K records $7,000.00 - ├─ Summarization (commitment overage) 1 1K records $0.70 - ├─ Summarization (connected container commitment) 10,000 1K records $5,600.00 - ├─ Summarization (connected container commitment overage) 1 1K records $0.56 - ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records - ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour - ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records - ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records - ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records - ├─ Customized training Monthly cost depends on usage: $3.00 per hour - └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records - - azurerm_cognitive_account.speech_with_commitment["small"] - ├─ Speech to text (commitment) 2,000 hours $1,600.00 - ├─ Speech to text (overage) 100 hours $80.00 - ├─ Speech to text (connected container commitment) 2,000 hours $1,520.00 - ├─ Speech to text (connected container overage) 100 hours $76.00 - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours - ├─ Speech to text custom model (commitment) 2,000 hours $1,920.00 - ├─ Speech to text custom model (overage) 100 hours $96.00 - ├─ Speech to text custom model (connected container commitment) 2,000 hours $1,824.00 - ├─ Speech to text custom model (connected container overage) 100 hours $90.86 - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours - ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours - ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours - ├─ Speech to text enhanced add-ons (commitment) 2,000 hours $480.00 - ├─ Speech to text enhanced add-ons (overage) 100 hours $24.00 - ├─ Speech to text enhanced add-ons (connected container commitment) 2,000 hours $456.00 - ├─ Speech to text enhanced add-ons (connected container overage) 100 hours $22.80 - ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours - ├─ Text to speech neural (commitment) 80 1M chars $960.00 - ├─ Text to speech neural (overage) 1 1M chars $12.00 - ├─ Text to speech neural (connected container commitment) 80 1M chars $912.00 - ├─ Text to speech neural (connected container overage) 1 1M chars $11.40 - ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours - ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars - ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours - ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars - ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles - ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars - ├─ Speech translation Monthly cost depends on usage: $2.50 per hours - ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions - ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions - └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles - - azurerm_cognitive_account.textanalytics_with_commitment["medium"] - ├─ Text analytics (commitment) 3,000 1K records $1,375.00 - ├─ Text requests (commitment overage) 1 1K records $0.55 - ├─ Text analytics (connected container commitment) 3,000 1K records $1,100.00 - ├─ Text requests (connected container commitment overage) 1 1K records $0.44 - ├─ Summarization (commitment) 3,000 1K records $3,300.00 - ├─ Summarization (commitment overage) 1 1K records $1.10 - ├─ Summarization (connected container commitment) 3,000 1K records $2,640.00 - ├─ Summarization (connected container commitment overage) 1 1K records $0.88 - ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records - ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour - ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records - ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records - ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records - ├─ Customized training Monthly cost depends on usage: $3.00 per hour - └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records - - azurerm_cognitive_account.luis_with_commitment["medium"] - ├─ Text requests (commitment) 5,000,000 1M transactions $5,100.00 - ├─ Text requests (commitment overage) 1 1K transactions $1.02 - └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions - - azurerm_cognitive_account.luis_with_commitment["small"] - ├─ Text requests (commitment) 1,000,000 1M transactions $1,200.00 - ├─ Text requests (commitment overage) 1 1K transactions $1.20 - └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions - - azurerm_cognitive_account.textanalytics_with_commitment["small"] - ├─ Text analytics (commitment) 1,000 1K records $700.00 - ├─ Text requests (commitment overage) 1 1K records $0.70 - ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records - ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour - ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records - ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records - ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records - ├─ Customized training Monthly cost depends on usage: $3.00 per hour - └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records - - azurerm_cognitive_account.with_usage["SpeechServices-S0"] - ├─ Speech to text 20 hours $20.00 - ├─ Speech to text batch 56 hours $20.16 - ├─ Speech to text custom model 17 hours $20.40 - ├─ Speech to text custom model batch 44 hours $19.80 - ├─ Speech to text custom endpoint hosting 372 hours $20.00 - ├─ Speech to text custom training 2 hours $20.00 - ├─ Speech to text enhanced add-ons 67 hours $20.10 - ├─ Speech to text conversation transcription multi-channel audio 9.5 hours $19.95 - ├─ Text to speech neural 1.3333 1M chars $20.00 - ├─ Text to speech custom neural training 0.4 hours $20.80 - ├─ Text to speech custom neural 0.8333 1M chars $20.00 - ├─ Text to speech custom neural endpoint hosting 5 hours $20.16 - ├─ Text to speech long audio 0.2 1M chars $20.00 - ├─ Text to speech personal voice profiles 0.033 1K profiles $19.80 - ├─ Text to speech personal voice characters 0.8333 1M chars $20.00 - ├─ Speech translation 8 hours $20.00 - ├─ Speaker verification 4 1K transactions $20.00 - ├─ Speaker identification 2 1K transactions $20.00 - └─ Voice profiles 100 1K profiles $20.00 - - azurerm_cognitive_account.with_usage["TextAnalytics-S0"] - ├─ Text analytics (first 500K) 20 1K records $20.00 - ├─ Summarization 10 1K records $20.00 - ├─ Conversational language understanding 10 1K records $20.00 - ├─ Conversational language understanding advanced training 6.7 hour $20.10 - ├─ Customized text classification 4 1K records $20.00 - ├─ Customized summarization 5 1K records $20.00 - ├─ Customized question answering (first 2.5M) 13.333 1K records $20.00 - ├─ Customized training 6.7 hour $20.10 - └─ Text analytics for health (5K-500K) 0.8 1K records $20.00 - - azurerm_cognitive_account.with_usage["LUIS-S0"] - ├─ Text requests 13.333 1K transactions $20.00 - └─ Speech requests 3.636 1K transactions $20.00 - - azurerm_cognitive_account.luis_with_commitment["invalid"] - └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions - - azurerm_cognitive_account.speech_with_commitment["invalid"] - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours - ├─ Speech to text custom model Monthly cost depends on usage: $1.20 per hours - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours - ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours - ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours - ├─ Speech to text enhanced add-ons Monthly cost depends on usage: $0.30 per hours - ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours - ├─ Text to speech neural Monthly cost depends on usage: $15.00 per 1M chars - ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours - ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars - ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours - ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars - ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles - ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars - ├─ Speech translation Monthly cost depends on usage: $2.50 per hours - ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions - ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions - └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles - - azurerm_cognitive_account.textanalytics_with_commitment["invalid"] - ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records - ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour - ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records - ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records - ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records - ├─ Customized training Monthly cost depends on usage: $3.00 per hour - └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records - - azurerm_cognitive_account.without_usage["LUIS-S0"] - ├─ Text requests Monthly cost depends on usage: $1.50 per 1K transactions - └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions - - azurerm_cognitive_account.without_usage["SpeechServices-S0"] - ├─ Speech to text Monthly cost depends on usage: $1.00 per hours - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours - ├─ Speech to text custom model Monthly cost depends on usage: $1.20 per hours - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours - ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours - ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours - ├─ Speech to text enhanced add-ons Monthly cost depends on usage: $0.30 per hours - ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours - ├─ Text to speech neural Monthly cost depends on usage: $15.00 per 1M chars - ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours - ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars - ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours - ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars - ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles - ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars - ├─ Speech translation Monthly cost depends on usage: $2.50 per hours - ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions - ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions - └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles - - azurerm_cognitive_account.without_usage["TextAnalytics-S0"] - ├─ Text analytics (500K-2.5M) Monthly cost depends on usage: $0.75 per 1K records - ├─ Summarization Monthly cost depends on usage: $2.00 per 1K records - ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records - ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour - ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records - ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records - ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records - ├─ Customized training Monthly cost depends on usage: $3.00 per hour - └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records - - OVERALL TOTAL $314,896.73 + Name Monthly Qty Unit Monthly Cost + + azurerm_cognitive_account.speech_with_commitment["large"] + ├─ Speech to text (commitment) 50,000 hours $25,000.00 + ├─ Speech to text (overage) 100 hours $50.00 + ├─ Speech to text (connected container commitment) 50,000 hours $23,750.00 + ├─ Speech to text (connected container overage) 100 hours $48.00 + ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text custom model (commitment) 50,000 hours $30,000.00 + ├─ Speech to text custom model (overage) 100 hours $60.00 + ├─ Speech to text custom model (connected container commitment) 50,000 hours $28,500.00 + ├─ Speech to text custom model (connected container overage) 100 hours $56.50 + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours + ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours + ├─ Speech to text enhanced add-ons (commitment) 50,000 hours $7,500.00 + ├─ Speech to text enhanced add-ons (overage) 100 hours $15.00 + ├─ Speech to text enhanced add-ons (connected container commitment) 50,000 hours $7,125.00 + ├─ Speech to text enhanced add-ons (connected container overage) 100 hours $14.25 + ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours + ├─ Text to speech neural (commitment) 2,000 1M chars $15,000.00 + ├─ Text to speech neural (overage) 1 1M chars $7.50 + ├─ Text to speech neural (connected container commitment) 2,000 1M chars $14,250.00 + ├─ Text to speech neural (connected container overage) 1 1M chars $7.13 + ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours + ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars + ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours + ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars + ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles + ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars + ├─ Speech translation Monthly cost depends on usage: $2.50 per hours + ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions + ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions + └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles + + azurerm_cognitive_account.textanalytics_with_tiers + ├─ Text analytics (first 500K) 500 1K records $500.00 + ├─ Text analytics (500K-2.5M) 2,000 1K records $1,500.00 + ├─ Text analytics (2.5M-10M) 7,500 1K records $2,250.00 + ├─ Text analytics (over 10M) 5,000 1K records $1,250.00 + ├─ Summarization Monthly cost depends on usage: $2.00 per 1K records + ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records + ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour + ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records + ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records + ├─ Customized question answering (first 2.5M) 2,500 1K records $3,750.00 + ├─ Customized question answering (over 2.5M) 500 1K records $500.03 + ├─ Customized training Monthly cost depends on usage: $3.00 per hour + ├─ Text analytics for health (5K-500K) 495 1K records $12,375.00 + ├─ Text analytics for health (500K-2.5M) 2,000 1K records $30,000.00 + └─ Text analytics for health (2.5M-10M) 500 1K records $5,000.00 + + azurerm_cognitive_account.speech_with_commitment["medium"] + ├─ Speech to text (commitment) 10,000 hours $6,500.00 + ├─ Speech to text (overage) 100 hours $65.00 + ├─ Speech to text (connected container commitment) 10,000 hours $6,175.00 + ├─ Speech to text (connected container overage) 100 hours $62.00 + ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text custom model (commitment) 10,000 hours $7,800.00 + ├─ Speech to text custom model (overage) 100 hours $78.00 + ├─ Speech to text custom model (connected container commitment) 10,000 hours $7,410.00 + ├─ Speech to text custom model (connected container overage) 100 hours $73.72 + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours + ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours + ├─ Speech to text enhanced add-ons (commitment) 10,000 hours $1,950.00 + ├─ Speech to text enhanced add-ons (overage) 100 hours $19.50 + ├─ Speech to text enhanced add-ons (connected container commitment) 10,000 hours $1,852.50 + ├─ Speech to text enhanced add-ons (connected container overage) 100 hours $18.53 + ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours + ├─ Text to speech neural (commitment) 400 1M chars $3,900.00 + ├─ Text to speech neural (overage) 1 1M chars $9.75 + ├─ Text to speech neural (connected container commitment) 400 1M chars $3,705.00 + ├─ Text to speech neural (connected container overage) 1 1M chars $9.26 + ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours + ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars + ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours + ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars + ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles + ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars + ├─ Speech translation Monthly cost depends on usage: $2.50 per hours + ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions + ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions + └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles + + azurerm_cognitive_account.luis_with_commitment["large"] + ├─ Text requests (commitment) 25,000,000 1M transactions $21,750.00 + ├─ Text requests (commitment overage) 1 1K transactions $0.87 + └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions + + azurerm_cognitive_account.textanalytics_with_commitment["large"] + ├─ Text analytics (commitment) 10,000 1K records $3,500.00 + ├─ Text requests (commitment overage) 1 1K records $0.35 + ├─ Text analytics (connected container commitment) 10,000 1K records $2,800.00 + ├─ Text requests (connected container commitment overage) 1 1K records $0.28 + ├─ Summarization (commitment) 10,000 1K records $7,000.00 + ├─ Summarization (commitment overage) 1 1K records $0.70 + ├─ Summarization (connected container commitment) 10,000 1K records $5,600.00 + ├─ Summarization (connected container commitment overage) 1 1K records $0.56 + ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records + ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour + ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records + ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records + ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records + ├─ Customized training Monthly cost depends on usage: $3.00 per hour + └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records + + azurerm_cognitive_account.speech_with_commitment["small"] + ├─ Speech to text (commitment) 2,000 hours $1,600.00 + ├─ Speech to text (overage) 100 hours $80.00 + ├─ Speech to text (connected container commitment) 2,000 hours $1,520.00 + ├─ Speech to text (connected container overage) 100 hours $76.00 + ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text custom model (commitment) 2,000 hours $1,920.00 + ├─ Speech to text custom model (overage) 100 hours $96.00 + ├─ Speech to text custom model (connected container commitment) 2,000 hours $1,824.00 + ├─ Speech to text custom model (connected container overage) 100 hours $90.86 + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours + ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours + ├─ Speech to text enhanced add-ons (commitment) 2,000 hours $480.00 + ├─ Speech to text enhanced add-ons (overage) 100 hours $24.00 + ├─ Speech to text enhanced add-ons (connected container commitment) 2,000 hours $456.00 + ├─ Speech to text enhanced add-ons (connected container overage) 100 hours $22.80 + ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours + ├─ Text to speech neural (commitment) 80 1M chars $960.00 + ├─ Text to speech neural (overage) 1 1M chars $12.00 + ├─ Text to speech neural (connected container commitment) 80 1M chars $912.00 + ├─ Text to speech neural (connected container overage) 1 1M chars $11.40 + ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours + ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars + ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours + ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars + ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles + ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars + ├─ Speech translation Monthly cost depends on usage: $2.50 per hours + ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions + ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions + └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles + + azurerm_cognitive_account.textanalytics_with_commitment["medium"] + ├─ Text analytics (commitment) 3,000 1K records $1,375.00 + ├─ Text requests (commitment overage) 1 1K records $0.55 + ├─ Text analytics (connected container commitment) 3,000 1K records $1,100.00 + ├─ Text requests (connected container commitment overage) 1 1K records $0.44 + ├─ Summarization (commitment) 3,000 1K records $3,300.00 + ├─ Summarization (commitment overage) 1 1K records $1.10 + ├─ Summarization (connected container commitment) 3,000 1K records $2,640.00 + ├─ Summarization (connected container commitment overage) 1 1K records $0.88 + ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records + ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour + ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records + ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records + ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records + ├─ Customized training Monthly cost depends on usage: $3.00 per hour + └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records + + azurerm_cognitive_account.luis_with_commitment["medium"] + ├─ Text requests (commitment) 5,000,000 1M transactions $5,100.00 + ├─ Text requests (commitment overage) 1 1K transactions $1.02 + └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions + + azurerm_cognitive_account.luis_with_commitment["small"] + ├─ Text requests (commitment) 1,000,000 1M transactions $1,200.00 + ├─ Text requests (commitment overage) 1 1K transactions $1.20 + └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions + + azurerm_cognitive_account.textanalytics_with_commitment["small"] + ├─ Text analytics (commitment) 1,000 1K records $700.00 + ├─ Text requests (commitment overage) 1 1K records $0.70 + ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records + ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour + ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records + ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records + ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records + ├─ Customized training Monthly cost depends on usage: $3.00 per hour + └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records + + azurerm_cognitive_account.with_usage["SpeechServices-S0"] + ├─ Speech to text 20 hours $20.00 + ├─ Speech to text batch 56 hours $20.16 + ├─ Speech to text custom model 17 hours $20.40 + ├─ Speech to text custom model batch 44 hours $19.80 + ├─ Speech to text custom endpoint hosting 372 hours $20.00 + ├─ Speech to text custom training 2 hours $20.00 + ├─ Speech to text enhanced add-ons 67 hours $20.10 + ├─ Speech to text conversation transcription multi-channel audio 9.5 hours $19.95 + ├─ Text to speech neural 1.3333 1M chars $20.00 + ├─ Text to speech custom neural training 0.4 hours $20.80 + ├─ Text to speech custom neural 0.8333 1M chars $20.00 + ├─ Text to speech custom neural endpoint hosting 5 hours $20.16 + ├─ Text to speech long audio 0.2 1M chars $20.00 + ├─ Text to speech personal voice profiles 0.033 1K profiles $19.80 + ├─ Text to speech personal voice characters 0.8333 1M chars $20.00 + ├─ Speech translation 8 hours $20.00 + ├─ Speaker verification 4 1K transactions $20.00 + ├─ Speaker identification 2 1K transactions $20.00 + └─ Voice profiles 100 1K profiles $20.00 + + azurerm_cognitive_account.with_usage["TextAnalytics-S0"] + ├─ Text analytics (first 500K) 20 1K records $20.00 + ├─ Summarization 10 1K records $20.00 + ├─ Conversational language understanding 10 1K records $20.00 + ├─ Conversational language understanding advanced training 6.7 hour $20.10 + ├─ Customized text classification 4 1K records $20.00 + ├─ Customized summarization 5 1K records $20.00 + ├─ Customized question answering (first 2.5M) 13.333 1K records $20.00 + ├─ Customized training 6.7 hour $20.10 + └─ Text analytics for health (5K-500K) 0.8 1K records $20.00 + + azurerm_cognitive_account.with_usage["LUIS-S0"] + ├─ Text requests 13.333 1K transactions $20.00 + └─ Speech requests 3.636 1K transactions $20.00 + + azurerm_cognitive_account.luis_with_commitment["invalid"] + └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions + + azurerm_cognitive_account.speech_with_commitment["invalid"] + ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text custom model Monthly cost depends on usage: $1.20 per hours + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours + ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours + ├─ Speech to text enhanced add-ons Monthly cost depends on usage: $0.30 per hours + ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours + ├─ Text to speech neural Monthly cost depends on usage: $15.00 per 1M chars + ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours + ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars + ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours + ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars + ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles + ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars + ├─ Speech translation Monthly cost depends on usage: $2.50 per hours + ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions + ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions + └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles + + azurerm_cognitive_account.textanalytics_with_commitment["invalid"] + ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records + ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour + ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records + ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records + ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records + ├─ Customized training Monthly cost depends on usage: $3.00 per hour + └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records + + azurerm_cognitive_account.without_usage["LUIS-S0"] + ├─ Text requests Monthly cost depends on usage: $1.50 per 1K transactions + └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions + + azurerm_cognitive_account.without_usage["SpeechServices-S0"] + ├─ Speech to text Monthly cost depends on usage: $1.00 per hours + ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text custom model Monthly cost depends on usage: $1.20 per hours + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours + ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours + ├─ Speech to text enhanced add-ons Monthly cost depends on usage: $0.30 per hours + ├─ Speech to text conversation transcription multi-channel audio Monthly cost depends on usage: $2.10 per hours + ├─ Text to speech neural Monthly cost depends on usage: $15.00 per 1M chars + ├─ Text to speech custom neural training Monthly cost depends on usage: $52.00 per hours + ├─ Text to speech custom neural Monthly cost depends on usage: $24.00 per 1M chars + ├─ Text to speech custom neural endpoint hosting Monthly cost depends on usage: $4.03 per hours + ├─ Text to speech long audio Monthly cost depends on usage: $100.00 per 1M chars + ├─ Text to speech personal voice profiles Monthly cost depends on usage: $600.00 per 1K profiles + ├─ Text to speech personal voice characters Monthly cost depends on usage: $24.00 per 1M chars + ├─ Speech translation Monthly cost depends on usage: $2.50 per hours + ├─ Speaker verification Monthly cost depends on usage: $5.00 per 1K transactions + ├─ Speaker identification Monthly cost depends on usage: $10.00 per 1K transactions + └─ Voice profiles Monthly cost depends on usage: $0.20 per 1K profiles + + azurerm_cognitive_account.without_usage["TextAnalytics-S0"] + ├─ Text analytics (500K-2.5M) Monthly cost depends on usage: $0.75 per 1K records + ├─ Summarization Monthly cost depends on usage: $2.00 per 1K records + ├─ Conversational language understanding Monthly cost depends on usage: $2.00 per 1K records + ├─ Conversational language understanding advanced training Monthly cost depends on usage: $3.00 per hour + ├─ Customized text classification Monthly cost depends on usage: $5.00 per 1K records + ├─ Customized summarization Monthly cost depends on usage: $4.00 per 1K records + ├─ Customized question answering (over 2.5M) Monthly cost depends on usage: $1.00 per 1K records + ├─ Customized training Monthly cost depends on usage: $3.00 per hour + └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records + + OVERALL TOTAL $314,896.73 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 27 cloud resources were detected: ∙ 19 were estimated @@ -289,11 +292,11 @@ ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x azurerm_cognitive_account -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCognitiveAccount ┃ $314,897 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCognitiveAccount ┃ $314,897 ┃ $0.00 ┃ $314,897 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Invalid commitment tier 1000000 for azurerm_cognitive_account.textanalytics_with_commitment["small"] diff --git a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden index 84a6c08f50e..85618cbae13 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden @@ -1,377 +1,381 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cognitive_deployment.eastus2_with_usage["gpt-4-32k"] - ├─ Language input (gpt-4-32k) 40,000 1K tokens $2,400.00 - └─ Language output (gpt-4-32k) 13,333.333 1K tokens $1,600.00 - - azurerm_cognitive_deployment.eastus_with_usage["gpt-4-32k"] - ├─ Language input (gpt-4-32k) 40,000 1K tokens $2,400.00 - └─ Language output (gpt-4-32k) 13,333.333 1K tokens $1,600.00 - - azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4-32k"] - ├─ Language input (gpt-4-32k) 40,000 1K tokens $2,400.00 - └─ Language output (gpt-4-32k) 13,333.333 1K tokens $1,600.00 - - azurerm_cognitive_deployment.eastus2_with_usage["gpt-4"] - ├─ Language input (gpt-4) 40,000 1K tokens $1,200.00 - ├─ Language output (gpt-4) 13,333.333 1K tokens $800.00 - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.eastus_with_usage["gpt-4"] - ├─ Language input (gpt-4) 40,000 1K tokens $1,200.00 - ├─ Language output (gpt-4) 13,333.333 1K tokens $800.00 - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4"] - ├─ Language input (gpt-4) 40,000 1K tokens $1,200.00 - ├─ Language output (gpt-4) 13,333.333 1K tokens $800.00 - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.eastus_with_usage["davinci-002"] - ├─ Base model tokens (davinci-002) 2.847 1K tokens $242.00 - ├─ Fine tuning training (davinci-002) 0.4 hours $16.00 - ├─ Fine tuning hosting (davinci-002) 6.6 hours $13.20 - ├─ Fine tuning input (davinci-002) 13,333.333 1K tokens $26.67 - └─ Fine tuning output (davinci-002) 10,000 1K tokens $20.00 - - azurerm_cognitive_deployment.eastus_with_usage["gpt-35-turbo"] - ├─ Language input (gpt-35-turbo) 40,000 1K tokens $20.00 - ├─ Language output (gpt-35-turbo) 13,333.333 1K tokens $20.00 - ├─ Code interpreter sessions (gpt-35-turbo) 667 sessions $20.01 - ├─ Fine tuning training (gpt-35-turbo) 0.4 hours $18.00 - ├─ Fine tuning hosting (gpt-35-turbo) 6.6 hours $19.80 - ├─ Fine tuning input (gpt-35-turbo) 13,333.333 1K tokens $20.00 - └─ Fine tuning output (gpt-35-turbo) 10,000 1K tokens $20.00 - - azurerm_cognitive_deployment.eastus2_with_usage["text-embedding-3-large"] - └─ Text embeddings (text-embedding-3-large) 1,000,000 1K tokens $130.00 - - azurerm_cognitive_deployment.eastus_with_usage["text-embedding-3-large"] - └─ Text embeddings (text-embedding-3-large) 1,000,000 1K tokens $130.00 - - azurerm_cognitive_deployment.swedencentral_with_usage["text-embedding-3-large"] - └─ Text embeddings (text-embedding-3-large) 1,000,000 1K tokens $130.00 - - azurerm_cognitive_deployment.eastus2_with_usage["gpt-35-turbo"] - ├─ Language input (gpt-35-turbo) 40,000 1K tokens $20.00 - ├─ Language output (gpt-35-turbo) 13,333.333 1K tokens $20.00 - ├─ Code interpreter sessions (gpt-35-turbo) 667 sessions $20.01 - ├─ Fine tuning training (gpt-35-turbo) 0.4 hours $18.00 - ├─ Fine tuning hosting (gpt-35-turbo) 6.6 hours $19.80 - ├─ Fine tuning input (gpt-35-turbo) 13,333.333 1K tokens $6.67 - └─ Fine tuning output (gpt-35-turbo) 10,000 1K tokens $15.00 - - azurerm_cognitive_deployment.swedencentral_with_usage["gpt-35-turbo"] - ├─ Language input (gpt-35-turbo) 40,000 1K tokens $20.00 - ├─ Language output (gpt-35-turbo) 13,333.333 1K tokens $20.00 - ├─ Code interpreter sessions (gpt-35-turbo) 667 sessions $20.01 - ├─ Fine tuning training (gpt-35-turbo) 0.4 hours $18.00 - ├─ Fine tuning hosting (gpt-35-turbo) 6.6 hours $19.80 - ├─ Fine tuning input (gpt-35-turbo) 13,333.333 1K tokens $6.67 - └─ Fine tuning output (gpt-35-turbo) 10,000 1K tokens $15.00 - - azurerm_cognitive_deployment.eastus2_with_usage["text-embedding-ada-002"] - └─ Text embeddings (text-embedding-ada-002) 1,000,000 1K tokens $100.00 - - azurerm_cognitive_deployment.eastus_with_usage["text-embedding-ada-002"] - └─ Text embeddings (text-embedding-ada-002) 1,000,000 1K tokens $100.00 - - azurerm_cognitive_deployment.swedencentral_with_usage["text-embedding-ada-002"] - └─ Text embeddings (text-embedding-ada-002) 1,000,000 1K tokens $100.00 - - azurerm_cognitive_deployment.eastus2_with_usage["gpt-35-turbo-instruct"] - ├─ Language input (gpt-35-turbo-instruct) 40,000 1K tokens $60.00 - └─ Language output (gpt-35-turbo-instruct) 13,333.333 1K tokens $26.67 - - azurerm_cognitive_deployment.eastus_with_usage["gpt-35-turbo-instruct"] - ├─ Language input (gpt-35-turbo-instruct) 40,000 1K tokens $60.00 - └─ Language output (gpt-35-turbo-instruct) 13,333.333 1K tokens $26.67 - - azurerm_cognitive_deployment.swedencentral_with_usage["gpt-35-turbo-instruct"] - ├─ Language input (gpt-35-turbo-instruct) 40,000 1K tokens $60.00 - └─ Language output (gpt-35-turbo-instruct) 13,333.333 1K tokens $26.67 - - azurerm_cognitive_deployment.eastus_with_usage["dall-e-3"] - ├─ Standard 1024x1024 images (dall-e-3) 5 100 images $20.00 - ├─ Standard 1024x1792 images (dall-e-3) 2.5 100 images $20.00 - ├─ HD 1024x1024 images (dall-e-3) 2.5 100 images $20.00 - └─ HD 1024x1792 images (dall-e-3) 1.67 100 images $20.04 - - azurerm_cognitive_deployment.swedencentral_with_usage["dall-e-3"] - ├─ Standard 1024x1024 images (dall-e-3) 5 100 images $20.00 - ├─ Standard 1024x1792 images (dall-e-3) 2.5 100 images $20.00 - ├─ HD 1024x1024 images (dall-e-3) 2.5 100 images $20.00 - └─ HD 1024x1792 images (dall-e-3) 1.67 100 images $20.04 - - azurerm_cognitive_deployment.eastus2_with_usage["davinci-002"] - ├─ Fine tuning training (davinci-002) 0.4 hours $16.00 - ├─ Fine tuning hosting (davinci-002) 6.6 hours $13.20 - ├─ Fine tuning input (davinci-002) 13,333.333 1K tokens $26.67 - └─ Fine tuning output (davinci-002) 10,000 1K tokens $20.00 - - azurerm_cognitive_deployment.eastus_with_usage["babbage-002"] - ├─ Base model tokens (babbage-002) 2.847 1K tokens $19.93 - ├─ Fine tuning training (babbage-002) 0.4 hours $13.60 - ├─ Fine tuning hosting (babbage-002) 6.6 hours $11.22 - ├─ Fine tuning input (babbage-002) 13,333.333 1K tokens $5.33 - └─ Fine tuning output (babbage-002) 10,000 1K tokens $4.00 - - azurerm_cognitive_deployment.eastus2_with_usage["gpt-35-turbo-16k"] - ├─ Language input (gpt-35-turbo-16k) 40,000 1K tokens $20.00 - └─ Language output (gpt-35-turbo-16k) 13,333.333 1K tokens $20.00 - - azurerm_cognitive_deployment.eastus_with_usage["gpt-35-turbo-16k"] - ├─ Language input (gpt-35-turbo-16k) 40,000 1K tokens $20.00 - └─ Language output (gpt-35-turbo-16k) 13,333.333 1K tokens $20.00 - - azurerm_cognitive_deployment.swedencentral_with_usage["gpt-35-turbo-16k"] - ├─ Language input (gpt-35-turbo-16k) 40,000 1K tokens $20.00 - └─ Language output (gpt-35-turbo-16k) 13,333.333 1K tokens $20.00 - - azurerm_cognitive_deployment.swedencentral_with_usage["tts-hd"] - └─ Text to speech (tts-hd) 1.3333 1M characters $40.00 - - azurerm_cognitive_deployment.eastus2_with_usage["babbage-002"] - ├─ Fine tuning training (babbage-002) 0.4 hours $13.60 - ├─ Fine tuning hosting (babbage-002) 6.6 hours $11.22 - ├─ Fine tuning input (babbage-002) 13,333.333 1K tokens $5.33 - └─ Fine tuning output (babbage-002) 10,000 1K tokens $4.00 - - azurerm_cognitive_deployment.eastus_with_usage["whisper"] - └─ Text to speech (whisper) 55.6 hours $20.02 - - azurerm_cognitive_deployment.eastus2_with_usage["gpt-4-0125-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.eastus2_with_usage["gpt-4-1106-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.eastus2_with_usage["gpt-4-vision-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.eastus_with_usage["gpt-4-0125-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.eastus_with_usage["gpt-4-1106-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.eastus_with_usage["gpt-4-vision-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4-0125-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4-1106-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4-vision-preview"] - └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 - - azurerm_cognitive_deployment.eastus2_with_usage["dall-e-3"] - └─ Standard 1024x1792 images (dall-e-3) 2.5 100 images $20.00 - - azurerm_cognitive_deployment.eastus2_with_usage["text-embedding-3-small"] - └─ Text embeddings (text-embedding-3-small) 1,000,000 1K tokens $20.00 - - azurerm_cognitive_deployment.eastus_with_usage["text-embedding-3-small"] - └─ Text embeddings (text-embedding-3-small) 1,000,000 1K tokens $20.00 - - azurerm_cognitive_deployment.swedencentral_with_usage["text-embedding-3-small"] - └─ Text embeddings (text-embedding-3-small) 1,000,000 1K tokens $20.00 - - azurerm_cognitive_deployment.swedencentral_with_usage["tts"] - └─ Text to speech (tts) 1.3333 1M characters $20.00 - - azurerm_cognitive_deployment.eastus_with_usage["dall-e-2"] - └─ Standard 1024x1024 images (dall-e-2) 5 100 images $10.00 - - azurerm_cognitive_deployment.eastus2_without_usage["babbage-002"] - ├─ Fine tuning training (babbage-002) Monthly cost depends on usage: $34.00 per hours - ├─ Fine tuning hosting (babbage-002) Monthly cost depends on usage: $1.70 per hours - ├─ Fine tuning input (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens - └─ Fine tuning output (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens - - azurerm_cognitive_deployment.eastus2_without_usage["dall-e-3"] - └─ Standard 1024x1792 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images - - azurerm_cognitive_deployment.eastus2_without_usage["davinci-002"] - ├─ Fine tuning training (davinci-002) Monthly cost depends on usage: $40.00 per hours - ├─ Fine tuning hosting (davinci-002) Monthly cost depends on usage: $2.00 per hours - ├─ Fine tuning input (davinci-002) Monthly cost depends on usage: $0.002 per 1K tokens - └─ Fine tuning output (davinci-002) Monthly cost depends on usage: $0.002 per 1K tokens - - azurerm_cognitive_deployment.eastus2_without_usage["gpt-35-turbo"] - ├─ Language input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens - ├─ Language output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens - ├─ Code interpreter sessions (gpt-35-turbo) Monthly cost depends on usage: $0.03 per sessions - ├─ Fine tuning training (gpt-35-turbo) Monthly cost depends on usage: $45.00 per hours - ├─ Fine tuning hosting (gpt-35-turbo) Monthly cost depends on usage: $3.00 per hours - ├─ Fine tuning input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens - └─ Fine tuning output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens - - azurerm_cognitive_deployment.eastus2_without_usage["gpt-35-turbo-16k"] - ├─ Language input (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0005 per 1K tokens - └─ Language output (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0015 per 1K tokens - - azurerm_cognitive_deployment.eastus2_without_usage["gpt-35-turbo-instruct"] - ├─ Language input (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.0015 per 1K tokens - └─ Language output (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.002 per 1K tokens - - azurerm_cognitive_deployment.eastus2_without_usage["gpt-4"] - ├─ Language input (gpt-4) Monthly cost depends on usage: $0.03 per 1K tokens - ├─ Language output (gpt-4) Monthly cost depends on usage: $0.06 per 1K tokens - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.eastus2_without_usage["gpt-4-0125-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.eastus2_without_usage["gpt-4-1106-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.eastus2_without_usage["gpt-4-32k"] - ├─ Language input (gpt-4-32k) Monthly cost depends on usage: $0.06 per 1K tokens - └─ Language output (gpt-4-32k) Monthly cost depends on usage: $0.12 per 1K tokens - - azurerm_cognitive_deployment.eastus2_without_usage["gpt-4-vision-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.eastus2_without_usage["text-embedding-3-large"] - └─ Text embeddings (text-embedding-3-large) Monthly cost depends on usage: $0.00013 per 1K tokens - - azurerm_cognitive_deployment.eastus2_without_usage["text-embedding-3-small"] - └─ Text embeddings (text-embedding-3-small) Monthly cost depends on usage: $0.00002 per 1K tokens - - azurerm_cognitive_deployment.eastus2_without_usage["text-embedding-ada-002"] - └─ Text embeddings (text-embedding-ada-002) Monthly cost depends on usage: $0.0001 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["babbage-002"] - ├─ Base model tokens (babbage-002) Monthly cost depends on usage: $7.00 per 1K tokens - ├─ Fine tuning training (babbage-002) Monthly cost depends on usage: $34.00 per hours - ├─ Fine tuning hosting (babbage-002) Monthly cost depends on usage: $1.70 per hours - ├─ Fine tuning input (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens - └─ Fine tuning output (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["dall-e-2"] - └─ Standard 1024x1024 images (dall-e-2) Monthly cost depends on usage: $2.00 per 100 images - - azurerm_cognitive_deployment.eastus_without_usage["dall-e-3"] - ├─ Standard 1024x1024 images (dall-e-3) Monthly cost depends on usage: $4.00 per 100 images - ├─ Standard 1024x1792 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images - ├─ HD 1024x1024 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images - └─ HD 1024x1792 images (dall-e-3) Monthly cost depends on usage: $12.00 per 100 images - - azurerm_cognitive_deployment.eastus_without_usage["davinci-002"] - ├─ Base model tokens (davinci-002) Monthly cost depends on usage: $85.00 per 1K tokens - ├─ Fine tuning training (davinci-002) Monthly cost depends on usage: $40.00 per hours - ├─ Fine tuning hosting (davinci-002) Monthly cost depends on usage: $2.00 per hours - ├─ Fine tuning input (davinci-002) Monthly cost depends on usage: $0.002 per 1K tokens - └─ Fine tuning output (davinci-002) Monthly cost depends on usage: $0.002 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["gpt-35-turbo"] - ├─ Language input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens - ├─ Language output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens - ├─ Code interpreter sessions (gpt-35-turbo) Monthly cost depends on usage: $0.03 per sessions - ├─ Fine tuning training (gpt-35-turbo) Monthly cost depends on usage: $45.00 per hours - ├─ Fine tuning hosting (gpt-35-turbo) Monthly cost depends on usage: $3.00 per hours - ├─ Fine tuning input (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens - └─ Fine tuning output (gpt-35-turbo) Monthly cost depends on usage: $0.002 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["gpt-35-turbo-16k"] - ├─ Language input (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0005 per 1K tokens - └─ Language output (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0015 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["gpt-35-turbo-instruct"] - ├─ Language input (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.0015 per 1K tokens - └─ Language output (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.002 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["gpt-4"] - ├─ Language input (gpt-4) Monthly cost depends on usage: $0.03 per 1K tokens - ├─ Language output (gpt-4) Monthly cost depends on usage: $0.06 per 1K tokens - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.eastus_without_usage["gpt-4-0125-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.eastus_without_usage["gpt-4-1106-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.eastus_without_usage["gpt-4-32k"] - ├─ Language input (gpt-4-32k) Monthly cost depends on usage: $0.06 per 1K tokens - └─ Language output (gpt-4-32k) Monthly cost depends on usage: $0.12 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["gpt-4-vision-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.eastus_without_usage["text-embedding-3-large"] - └─ Text embeddings (text-embedding-3-large) Monthly cost depends on usage: $0.00013 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["text-embedding-3-small"] - └─ Text embeddings (text-embedding-3-small) Monthly cost depends on usage: $0.00002 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["text-embedding-ada-002"] - └─ Text embeddings (text-embedding-ada-002) Monthly cost depends on usage: $0.0001 per 1K tokens - - azurerm_cognitive_deployment.eastus_without_usage["whisper"] - └─ Text to speech (whisper) Monthly cost depends on usage: $0.36 per hours - - azurerm_cognitive_deployment.swedencentral_without_usage["dall-e-3"] - ├─ Standard 1024x1024 images (dall-e-3) Monthly cost depends on usage: $4.00 per 100 images - ├─ Standard 1024x1792 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images - ├─ HD 1024x1024 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images - └─ HD 1024x1792 images (dall-e-3) Monthly cost depends on usage: $12.00 per 100 images - - azurerm_cognitive_deployment.swedencentral_without_usage["gpt-35-turbo"] - ├─ Language input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens - ├─ Language output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens - ├─ Code interpreter sessions (gpt-35-turbo) Monthly cost depends on usage: $0.03 per sessions - ├─ Fine tuning training (gpt-35-turbo) Monthly cost depends on usage: $45.00 per hours - ├─ Fine tuning hosting (gpt-35-turbo) Monthly cost depends on usage: $3.00 per hours - ├─ Fine tuning input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens - └─ Fine tuning output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens - - azurerm_cognitive_deployment.swedencentral_without_usage["gpt-35-turbo-16k"] - ├─ Language input (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0005 per 1K tokens - └─ Language output (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0015 per 1K tokens - - azurerm_cognitive_deployment.swedencentral_without_usage["gpt-35-turbo-instruct"] - ├─ Language input (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.0015 per 1K tokens - └─ Language output (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.002 per 1K tokens - - azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4"] - ├─ Language input (gpt-4) Monthly cost depends on usage: $0.03 per 1K tokens - ├─ Language output (gpt-4) Monthly cost depends on usage: $0.06 per 1K tokens - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4-0125-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4-1106-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4-32k"] - ├─ Language input (gpt-4-32k) Monthly cost depends on usage: $0.06 per 1K tokens - └─ Language output (gpt-4-32k) Monthly cost depends on usage: $0.12 per 1K tokens - - azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4-vision-preview"] - └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions - - azurerm_cognitive_deployment.swedencentral_without_usage["text-embedding-3-large"] - └─ Text embeddings (text-embedding-3-large) Monthly cost depends on usage: $0.00013 per 1K tokens - - azurerm_cognitive_deployment.swedencentral_without_usage["text-embedding-3-small"] - └─ Text embeddings (text-embedding-3-small) Monthly cost depends on usage: $0.00002 per 1K tokens - - azurerm_cognitive_deployment.swedencentral_without_usage["text-embedding-ada-002"] - └─ Text embeddings (text-embedding-ada-002) Monthly cost depends on usage: $0.0001 per 1K tokens - - azurerm_cognitive_deployment.swedencentral_without_usage["tts"] - └─ Text to speech (tts) Monthly cost depends on usage: $15.00 per 1M characters - - azurerm_cognitive_deployment.swedencentral_without_usage["tts-hd"] - └─ Text to speech (tts-hd) Monthly cost depends on usage: $30.00 per 1M characters - - OVERALL TOTAL $20,498.94 + Name Monthly Qty Unit Monthly Cost + + azurerm_cognitive_deployment.eastus2_with_usage["gpt-4-32k"] + ├─ Language input (gpt-4-32k) 40,000 1K tokens $2,400.00 + └─ Language output (gpt-4-32k) 13,333.333 1K tokens $1,600.00 + + azurerm_cognitive_deployment.eastus_with_usage["gpt-4-32k"] + ├─ Language input (gpt-4-32k) 40,000 1K tokens $2,400.00 + └─ Language output (gpt-4-32k) 13,333.333 1K tokens $1,600.00 + + azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4-32k"] + ├─ Language input (gpt-4-32k) 40,000 1K tokens $2,400.00 + └─ Language output (gpt-4-32k) 13,333.333 1K tokens $1,600.00 + + azurerm_cognitive_deployment.eastus2_with_usage["gpt-4"] + ├─ Language input (gpt-4) 40,000 1K tokens $1,200.00 + ├─ Language output (gpt-4) 13,333.333 1K tokens $800.00 + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.eastus_with_usage["gpt-4"] + ├─ Language input (gpt-4) 40,000 1K tokens $1,200.00 + ├─ Language output (gpt-4) 13,333.333 1K tokens $800.00 + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4"] + ├─ Language input (gpt-4) 40,000 1K tokens $1,200.00 + ├─ Language output (gpt-4) 13,333.333 1K tokens $800.00 + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.eastus_with_usage["davinci-002"] + ├─ Base model tokens (davinci-002) 2.847 1K tokens $242.00 + ├─ Fine tuning training (davinci-002) 0.4 hours $16.00 + ├─ Fine tuning hosting (davinci-002) 6.6 hours $13.20 + ├─ Fine tuning input (davinci-002) 13,333.333 1K tokens $26.67 + └─ Fine tuning output (davinci-002) 10,000 1K tokens $20.00 + + azurerm_cognitive_deployment.eastus_with_usage["gpt-35-turbo"] + ├─ Language input (gpt-35-turbo) 40,000 1K tokens $20.00 + ├─ Language output (gpt-35-turbo) 13,333.333 1K tokens $20.00 + ├─ Code interpreter sessions (gpt-35-turbo) 667 sessions $20.01 + ├─ Fine tuning training (gpt-35-turbo) 0.4 hours $18.00 + ├─ Fine tuning hosting (gpt-35-turbo) 6.6 hours $19.80 + ├─ Fine tuning input (gpt-35-turbo) 13,333.333 1K tokens $20.00 + └─ Fine tuning output (gpt-35-turbo) 10,000 1K tokens $20.00 + + azurerm_cognitive_deployment.eastus2_with_usage["text-embedding-3-large"] + └─ Text embeddings (text-embedding-3-large) 1,000,000 1K tokens $130.00 + + azurerm_cognitive_deployment.eastus_with_usage["text-embedding-3-large"] + └─ Text embeddings (text-embedding-3-large) 1,000,000 1K tokens $130.00 + + azurerm_cognitive_deployment.swedencentral_with_usage["text-embedding-3-large"] + └─ Text embeddings (text-embedding-3-large) 1,000,000 1K tokens $130.00 + + azurerm_cognitive_deployment.eastus2_with_usage["gpt-35-turbo"] + ├─ Language input (gpt-35-turbo) 40,000 1K tokens $20.00 + ├─ Language output (gpt-35-turbo) 13,333.333 1K tokens $20.00 + ├─ Code interpreter sessions (gpt-35-turbo) 667 sessions $20.01 + ├─ Fine tuning training (gpt-35-turbo) 0.4 hours $18.00 + ├─ Fine tuning hosting (gpt-35-turbo) 6.6 hours $19.80 + ├─ Fine tuning input (gpt-35-turbo) 13,333.333 1K tokens $6.67 + └─ Fine tuning output (gpt-35-turbo) 10,000 1K tokens $15.00 + + azurerm_cognitive_deployment.swedencentral_with_usage["gpt-35-turbo"] + ├─ Language input (gpt-35-turbo) 40,000 1K tokens $20.00 + ├─ Language output (gpt-35-turbo) 13,333.333 1K tokens $20.00 + ├─ Code interpreter sessions (gpt-35-turbo) 667 sessions $20.01 + ├─ Fine tuning training (gpt-35-turbo) 0.4 hours $18.00 + ├─ Fine tuning hosting (gpt-35-turbo) 6.6 hours $19.80 + ├─ Fine tuning input (gpt-35-turbo) 13,333.333 1K tokens $6.67 + └─ Fine tuning output (gpt-35-turbo) 10,000 1K tokens $15.00 + + azurerm_cognitive_deployment.eastus2_with_usage["text-embedding-ada-002"] + └─ Text embeddings (text-embedding-ada-002) 1,000,000 1K tokens $100.00 + + azurerm_cognitive_deployment.eastus_with_usage["text-embedding-ada-002"] + └─ Text embeddings (text-embedding-ada-002) 1,000,000 1K tokens $100.00 + + azurerm_cognitive_deployment.swedencentral_with_usage["text-embedding-ada-002"] + └─ Text embeddings (text-embedding-ada-002) 1,000,000 1K tokens $100.00 + + azurerm_cognitive_deployment.eastus2_with_usage["gpt-35-turbo-instruct"] + ├─ Language input (gpt-35-turbo-instruct) 40,000 1K tokens $60.00 + └─ Language output (gpt-35-turbo-instruct) 13,333.333 1K tokens $26.67 + + azurerm_cognitive_deployment.eastus_with_usage["gpt-35-turbo-instruct"] + ├─ Language input (gpt-35-turbo-instruct) 40,000 1K tokens $60.00 + └─ Language output (gpt-35-turbo-instruct) 13,333.333 1K tokens $26.67 + + azurerm_cognitive_deployment.swedencentral_with_usage["gpt-35-turbo-instruct"] + ├─ Language input (gpt-35-turbo-instruct) 40,000 1K tokens $60.00 + └─ Language output (gpt-35-turbo-instruct) 13,333.333 1K tokens $26.67 + + azurerm_cognitive_deployment.eastus_with_usage["dall-e-3"] + ├─ Standard 1024x1024 images (dall-e-3) 5 100 images $20.00 + ├─ Standard 1024x1792 images (dall-e-3) 2.5 100 images $20.00 + ├─ HD 1024x1024 images (dall-e-3) 2.5 100 images $20.00 + └─ HD 1024x1792 images (dall-e-3) 1.67 100 images $20.04 + + azurerm_cognitive_deployment.swedencentral_with_usage["dall-e-3"] + ├─ Standard 1024x1024 images (dall-e-3) 5 100 images $20.00 + ├─ Standard 1024x1792 images (dall-e-3) 2.5 100 images $20.00 + ├─ HD 1024x1024 images (dall-e-3) 2.5 100 images $20.00 + └─ HD 1024x1792 images (dall-e-3) 1.67 100 images $20.04 + + azurerm_cognitive_deployment.eastus2_with_usage["davinci-002"] + ├─ Fine tuning training (davinci-002) 0.4 hours $16.00 + ├─ Fine tuning hosting (davinci-002) 6.6 hours $13.20 + ├─ Fine tuning input (davinci-002) 13,333.333 1K tokens $26.67 + └─ Fine tuning output (davinci-002) 10,000 1K tokens $20.00 + + azurerm_cognitive_deployment.eastus_with_usage["babbage-002"] + ├─ Base model tokens (babbage-002) 2.847 1K tokens $19.93 + ├─ Fine tuning training (babbage-002) 0.4 hours $13.60 + ├─ Fine tuning hosting (babbage-002) 6.6 hours $11.22 + ├─ Fine tuning input (babbage-002) 13,333.333 1K tokens $5.33 + └─ Fine tuning output (babbage-002) 10,000 1K tokens $4.00 + + azurerm_cognitive_deployment.eastus2_with_usage["gpt-35-turbo-16k"] + ├─ Language input (gpt-35-turbo-16k) 40,000 1K tokens $20.00 + └─ Language output (gpt-35-turbo-16k) 13,333.333 1K tokens $20.00 + + azurerm_cognitive_deployment.eastus_with_usage["gpt-35-turbo-16k"] + ├─ Language input (gpt-35-turbo-16k) 40,000 1K tokens $20.00 + └─ Language output (gpt-35-turbo-16k) 13,333.333 1K tokens $20.00 + + azurerm_cognitive_deployment.swedencentral_with_usage["gpt-35-turbo-16k"] + ├─ Language input (gpt-35-turbo-16k) 40,000 1K tokens $20.00 + └─ Language output (gpt-35-turbo-16k) 13,333.333 1K tokens $20.00 + + azurerm_cognitive_deployment.swedencentral_with_usage["tts-hd"] + └─ Text to speech (tts-hd) 1.3333 1M characters $40.00 + + azurerm_cognitive_deployment.eastus2_with_usage["babbage-002"] + ├─ Fine tuning training (babbage-002) 0.4 hours $13.60 + ├─ Fine tuning hosting (babbage-002) 6.6 hours $11.22 + ├─ Fine tuning input (babbage-002) 13,333.333 1K tokens $5.33 + └─ Fine tuning output (babbage-002) 10,000 1K tokens $4.00 + + azurerm_cognitive_deployment.eastus_with_usage["whisper"] + └─ Text to speech (whisper) 55.6 hours $20.02 + + azurerm_cognitive_deployment.eastus2_with_usage["gpt-4-0125-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.eastus2_with_usage["gpt-4-1106-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.eastus2_with_usage["gpt-4-vision-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.eastus_with_usage["gpt-4-0125-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.eastus_with_usage["gpt-4-1106-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.eastus_with_usage["gpt-4-vision-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4-0125-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4-1106-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.swedencentral_with_usage["gpt-4-vision-preview"] + └─ Code interpreter sessions (gpt-4) 667 sessions $20.01 + + azurerm_cognitive_deployment.eastus2_with_usage["dall-e-3"] + └─ Standard 1024x1792 images (dall-e-3) 2.5 100 images $20.00 + + azurerm_cognitive_deployment.eastus2_with_usage["text-embedding-3-small"] + └─ Text embeddings (text-embedding-3-small) 1,000,000 1K tokens $20.00 + + azurerm_cognitive_deployment.eastus_with_usage["text-embedding-3-small"] + └─ Text embeddings (text-embedding-3-small) 1,000,000 1K tokens $20.00 + + azurerm_cognitive_deployment.swedencentral_with_usage["text-embedding-3-small"] + └─ Text embeddings (text-embedding-3-small) 1,000,000 1K tokens $20.00 + + azurerm_cognitive_deployment.swedencentral_with_usage["tts"] + └─ Text to speech (tts) 1.3333 1M characters $20.00 + + azurerm_cognitive_deployment.eastus_with_usage["dall-e-2"] + └─ Standard 1024x1024 images (dall-e-2) 5 100 images $10.00 + + azurerm_cognitive_deployment.eastus2_without_usage["babbage-002"] + ├─ Fine tuning training (babbage-002) Monthly cost depends on usage: $34.00 per hours + ├─ Fine tuning hosting (babbage-002) Monthly cost depends on usage: $1.70 per hours + ├─ Fine tuning input (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens + └─ Fine tuning output (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens + + azurerm_cognitive_deployment.eastus2_without_usage["dall-e-3"] + ├─ Standard 1024x1024 images (dall-e-3) Monthly cost depends on usage: $0.00 per 100 images + └─ Standard 1024x1792 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images + + azurerm_cognitive_deployment.eastus2_without_usage["davinci-002"] + ├─ Fine tuning training (davinci-002) Monthly cost depends on usage: $40.00 per hours + ├─ Fine tuning hosting (davinci-002) Monthly cost depends on usage: $2.00 per hours + ├─ Fine tuning input (davinci-002) Monthly cost depends on usage: $0.002 per 1K tokens + └─ Fine tuning output (davinci-002) Monthly cost depends on usage: $0.002 per 1K tokens + + azurerm_cognitive_deployment.eastus2_without_usage["gpt-35-turbo"] + ├─ Language input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens + ├─ Language output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens + ├─ Code interpreter sessions (gpt-35-turbo) Monthly cost depends on usage: $0.03 per sessions + ├─ Fine tuning training (gpt-35-turbo) Monthly cost depends on usage: $45.00 per hours + ├─ Fine tuning hosting (gpt-35-turbo) Monthly cost depends on usage: $3.00 per hours + ├─ Fine tuning input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens + └─ Fine tuning output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens + + azurerm_cognitive_deployment.eastus2_without_usage["gpt-35-turbo-16k"] + ├─ Language input (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0005 per 1K tokens + └─ Language output (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0015 per 1K tokens + + azurerm_cognitive_deployment.eastus2_without_usage["gpt-35-turbo-instruct"] + ├─ Language input (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.0015 per 1K tokens + └─ Language output (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.002 per 1K tokens + + azurerm_cognitive_deployment.eastus2_without_usage["gpt-4"] + ├─ Language input (gpt-4) Monthly cost depends on usage: $0.03 per 1K tokens + ├─ Language output (gpt-4) Monthly cost depends on usage: $0.06 per 1K tokens + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.eastus2_without_usage["gpt-4-0125-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.eastus2_without_usage["gpt-4-1106-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.eastus2_without_usage["gpt-4-32k"] + ├─ Language input (gpt-4-32k) Monthly cost depends on usage: $0.06 per 1K tokens + └─ Language output (gpt-4-32k) Monthly cost depends on usage: $0.12 per 1K tokens + + azurerm_cognitive_deployment.eastus2_without_usage["gpt-4-vision-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.eastus2_without_usage["text-embedding-3-large"] + └─ Text embeddings (text-embedding-3-large) Monthly cost depends on usage: $0.00013 per 1K tokens + + azurerm_cognitive_deployment.eastus2_without_usage["text-embedding-3-small"] + └─ Text embeddings (text-embedding-3-small) Monthly cost depends on usage: $0.00002 per 1K tokens + + azurerm_cognitive_deployment.eastus2_without_usage["text-embedding-ada-002"] + └─ Text embeddings (text-embedding-ada-002) Monthly cost depends on usage: $0.0001 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["babbage-002"] + ├─ Base model tokens (babbage-002) Monthly cost depends on usage: $7.00 per 1K tokens + ├─ Fine tuning training (babbage-002) Monthly cost depends on usage: $34.00 per hours + ├─ Fine tuning hosting (babbage-002) Monthly cost depends on usage: $1.70 per hours + ├─ Fine tuning input (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens + └─ Fine tuning output (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["dall-e-2"] + └─ Standard 1024x1024 images (dall-e-2) Monthly cost depends on usage: $2.00 per 100 images + + azurerm_cognitive_deployment.eastus_without_usage["dall-e-3"] + ├─ Standard 1024x1024 images (dall-e-3) Monthly cost depends on usage: $4.00 per 100 images + ├─ Standard 1024x1792 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images + ├─ HD 1024x1024 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images + └─ HD 1024x1792 images (dall-e-3) Monthly cost depends on usage: $12.00 per 100 images + + azurerm_cognitive_deployment.eastus_without_usage["davinci-002"] + ├─ Base model tokens (davinci-002) Monthly cost depends on usage: $85.00 per 1K tokens + ├─ Fine tuning training (davinci-002) Monthly cost depends on usage: $40.00 per hours + ├─ Fine tuning hosting (davinci-002) Monthly cost depends on usage: $2.00 per hours + ├─ Fine tuning input (davinci-002) Monthly cost depends on usage: $0.002 per 1K tokens + └─ Fine tuning output (davinci-002) Monthly cost depends on usage: $0.002 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["gpt-35-turbo"] + ├─ Language input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens + ├─ Language output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens + ├─ Code interpreter sessions (gpt-35-turbo) Monthly cost depends on usage: $0.03 per sessions + ├─ Fine tuning training (gpt-35-turbo) Monthly cost depends on usage: $45.00 per hours + ├─ Fine tuning hosting (gpt-35-turbo) Monthly cost depends on usage: $3.00 per hours + ├─ Fine tuning input (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens + └─ Fine tuning output (gpt-35-turbo) Monthly cost depends on usage: $0.002 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["gpt-35-turbo-16k"] + ├─ Language input (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0005 per 1K tokens + └─ Language output (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0015 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["gpt-35-turbo-instruct"] + ├─ Language input (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.0015 per 1K tokens + └─ Language output (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.002 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["gpt-4"] + ├─ Language input (gpt-4) Monthly cost depends on usage: $0.03 per 1K tokens + ├─ Language output (gpt-4) Monthly cost depends on usage: $0.06 per 1K tokens + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.eastus_without_usage["gpt-4-0125-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.eastus_without_usage["gpt-4-1106-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.eastus_without_usage["gpt-4-32k"] + ├─ Language input (gpt-4-32k) Monthly cost depends on usage: $0.06 per 1K tokens + └─ Language output (gpt-4-32k) Monthly cost depends on usage: $0.12 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["gpt-4-vision-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.eastus_without_usage["text-embedding-3-large"] + └─ Text embeddings (text-embedding-3-large) Monthly cost depends on usage: $0.00013 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["text-embedding-3-small"] + └─ Text embeddings (text-embedding-3-small) Monthly cost depends on usage: $0.00002 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["text-embedding-ada-002"] + └─ Text embeddings (text-embedding-ada-002) Monthly cost depends on usage: $0.0001 per 1K tokens + + azurerm_cognitive_deployment.eastus_without_usage["whisper"] + └─ Text to speech (whisper) Monthly cost depends on usage: $0.36 per hours + + azurerm_cognitive_deployment.swedencentral_without_usage["dall-e-3"] + ├─ Standard 1024x1024 images (dall-e-3) Monthly cost depends on usage: $4.00 per 100 images + ├─ Standard 1024x1792 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images + ├─ HD 1024x1024 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images + └─ HD 1024x1792 images (dall-e-3) Monthly cost depends on usage: $12.00 per 100 images + + azurerm_cognitive_deployment.swedencentral_without_usage["gpt-35-turbo"] + ├─ Language input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens + ├─ Language output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens + ├─ Code interpreter sessions (gpt-35-turbo) Monthly cost depends on usage: $0.03 per sessions + ├─ Fine tuning training (gpt-35-turbo) Monthly cost depends on usage: $45.00 per hours + ├─ Fine tuning hosting (gpt-35-turbo) Monthly cost depends on usage: $3.00 per hours + ├─ Fine tuning input (gpt-35-turbo) Monthly cost depends on usage: $0.0005 per 1K tokens + └─ Fine tuning output (gpt-35-turbo) Monthly cost depends on usage: $0.0015 per 1K tokens + + azurerm_cognitive_deployment.swedencentral_without_usage["gpt-35-turbo-16k"] + ├─ Language input (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0005 per 1K tokens + └─ Language output (gpt-35-turbo-16k) Monthly cost depends on usage: $0.0015 per 1K tokens + + azurerm_cognitive_deployment.swedencentral_without_usage["gpt-35-turbo-instruct"] + ├─ Language input (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.0015 per 1K tokens + └─ Language output (gpt-35-turbo-instruct) Monthly cost depends on usage: $0.002 per 1K tokens + + azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4"] + ├─ Language input (gpt-4) Monthly cost depends on usage: $0.03 per 1K tokens + ├─ Language output (gpt-4) Monthly cost depends on usage: $0.06 per 1K tokens + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4-0125-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4-1106-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4-32k"] + ├─ Language input (gpt-4-32k) Monthly cost depends on usage: $0.06 per 1K tokens + └─ Language output (gpt-4-32k) Monthly cost depends on usage: $0.12 per 1K tokens + + azurerm_cognitive_deployment.swedencentral_without_usage["gpt-4-vision-preview"] + └─ Code interpreter sessions (gpt-4) Monthly cost depends on usage: $0.03 per sessions + + azurerm_cognitive_deployment.swedencentral_without_usage["text-embedding-3-large"] + └─ Text embeddings (text-embedding-3-large) Monthly cost depends on usage: $0.00013 per 1K tokens + + azurerm_cognitive_deployment.swedencentral_without_usage["text-embedding-3-small"] + └─ Text embeddings (text-embedding-3-small) Monthly cost depends on usage: $0.00002 per 1K tokens + + azurerm_cognitive_deployment.swedencentral_without_usage["text-embedding-ada-002"] + └─ Text embeddings (text-embedding-ada-002) Monthly cost depends on usage: $0.0001 per 1K tokens + + azurerm_cognitive_deployment.swedencentral_without_usage["tts"] + └─ Text to speech (tts) Monthly cost depends on usage: $15.00 per 1M characters + + azurerm_cognitive_deployment.swedencentral_without_usage["tts-hd"] + └─ Text to speech (tts-hd) Monthly cost depends on usage: $30.00 per 1M characters + + OVERALL TOTAL $20,498.94 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 116 cloud resources were detected: ∙ 108 were estimated @@ -379,11 +383,11 @@ ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x azurerm_cognitive_deployment -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCognitiveDeployment ┃ $20,499 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCognitiveDeployment ┃ $20,499 ┃ $0.00 ┃ $20,499 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource azurerm_cognitive_deployment.unsupported. Model 'ada' is not supported \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden index 4faf7a026ca..ece59e6c0a4 100644 --- a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden @@ -1,43 +1,46 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_container_registry.twoLocations - ├─ Geo replication (2 locations) 60 days $100.00 - ├─ Registry usage (Premium) 30 days $50.00 - └─ Build vCPU 540,000 seconds $54.00 - - azurerm_container_registry.my_registry - ├─ Geo replication (1 location) 30 days $50.00 - ├─ Registry usage (Premium) 30 days $50.00 - └─ Build vCPU 540,000 seconds $54.00 - - azurerm_container_registry.overStorage - ├─ Registry usage (Basic) 30 days $5.00 - ├─ Storage (over 10GB) 540 GB $54.00 - └─ Build vCPU 540,000 seconds $54.00 - - azurerm_container_registry.withoutLocations - ├─ Registry usage (Premium) 30 days $50.00 - └─ Build vCPU 540,000 seconds $54.00 - - azurerm_container_registry.basic - ├─ Registry usage (Basic) 30 days $5.00 - ├─ Storage (over 10GB) 140 GB $14.00 - └─ Build vCPU 540,000 seconds $54.00 - - azurerm_container_registry.withoutUsage - ├─ Registry usage (Basic) 30 days $5.00 - ├─ Storage (over 10GB) Monthly cost depends on usage: $0.10 per GB - └─ Build vCPU Monthly cost depends on usage: $0.0001 per seconds - + Name Monthly Qty Unit Monthly Cost + + azurerm_container_registry.twoLocations + ├─ Geo replication (2 locations) 60 days $100.00 + ├─ Registry usage (Premium) 30 days $50.00 + └─ Build vCPU 540,000 seconds $54.00 * + + azurerm_container_registry.my_registry + ├─ Geo replication (1 location) 30 days $50.00 + ├─ Registry usage (Premium) 30 days $50.00 + └─ Build vCPU 540,000 seconds $54.00 * + + azurerm_container_registry.overStorage + ├─ Registry usage (Basic) 30 days $5.00 + ├─ Storage (over 10GB) 540 GB $54.00 * + └─ Build vCPU 540,000 seconds $54.00 * + + azurerm_container_registry.withoutLocations + ├─ Registry usage (Premium) 30 days $50.00 + └─ Build vCPU 540,000 seconds $54.00 * + + azurerm_container_registry.basic + ├─ Registry usage (Basic) 30 days $5.00 + ├─ Storage (over 10GB) 140 GB $14.00 * + └─ Build vCPU 540,000 seconds $54.00 * + + azurerm_container_registry.withoutUsage + ├─ Registry usage (Basic) 30 days $5.00 + ├─ Storage (over 10GB) Monthly cost depends on usage: $0.10 per GB + └─ Build vCPU Monthly cost depends on usage: $0.0001 per seconds + OVERALL TOTAL $652.98 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 6 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMContainerRegistry ┃ $653 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMContainerRegistry ┃ $315 ┃ $338 ┃ $653 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden index 0de318bfc59..8215e7de021 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden @@ -1,57 +1,60 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_cassandra_keyspace.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_cassandra_keyspace.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_cassandra_keyspace.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_cassandra_keyspace.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_cassandra_keyspace.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,155.73 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_cassandra_keyspace.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_cassandra_keyspace.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_cassandra_keyspace.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_cassandra_keyspace.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_cassandra_keyspace.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,155.73 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 5 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBCassandraKeyspace ┃ $5,156 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBCassandraKeyspace ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden index 0a9fc19d7d9..43324783085 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_cassandra_keyspace.with_blank_geo_location - ├─ Provisioned throughput (autoscale, East US) Monthly cost depends on usage: $11.68 per RU/s x 100 - ├─ Transactional storage (East US) Monthly cost depends on usage: $0.25 per GB - ├─ Periodic backup (East US) Monthly cost depends on usage: $0.12 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_cassandra_keyspace.with_blank_geo_location + ├─ Provisioned throughput (autoscale, East US) Monthly cost depends on usage: $11.68 per RU/s x 100 + ├─ Transactional storage (East US) Monthly cost depends on usage: $0.25 per GB + ├─ Periodic backup (East US) Monthly cost depends on usage: $0.12 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 1 was estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestHCLAzureRMCosmosDBCassandraKeyspace ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestHCLAzureRMCosmosDBCassandraKeyspace ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden index 5e5d0c2b06c..9ac819b1291 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden @@ -1,95 +1,98 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_cassandra_table.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_cassandra_table.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_cassandra_table.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_cassandra_table.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_cassandra_keyspace.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - ├─ Periodic backup (Central US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_cassandra_keyspace.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB - ├─ Continuous backup (West US) Monthly cost depends on usage: $0.20 per GB - ├─ Continuous backup (Central US) Monthly cost depends on usage: $0.25 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_cassandra_keyspace.autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Provisioned throughput (autoscale, Central US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB - ├─ Continuous backup (West US) Monthly cost depends on usage: $0.20 per GB - ├─ Continuous backup (Central US) Monthly cost depends on usage: $0.25 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_cassandra_keyspace.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_cassandra_keyspace.serverless - ├─ Provisioned throughput (serverless) Monthly cost depends on usage: $0.28 per 1M RU - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_cassandra_table.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,455.03 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_cassandra_table.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_cassandra_table.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_cassandra_table.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_cassandra_table.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_cassandra_keyspace.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + ├─ Periodic backup (Central US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_cassandra_keyspace.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB + ├─ Continuous backup (West US) Monthly cost depends on usage: $0.20 per GB + ├─ Continuous backup (Central US) Monthly cost depends on usage: $0.25 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_cassandra_keyspace.autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Provisioned throughput (autoscale, Central US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB + ├─ Continuous backup (West US) Monthly cost depends on usage: $0.20 per GB + ├─ Continuous backup (Central US) Monthly cost depends on usage: $0.25 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_cassandra_keyspace.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_cassandra_keyspace.serverless + ├─ Provisioned throughput (serverless) Monthly cost depends on usage: $0.28 per 1M RU + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_cassandra_table.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,455.03 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 17 cloud resources were detected: ∙ 10 were estimated @@ -98,11 +101,11 @@ ∙ 2 x azurerm_cosmosdb_cassandra_table ∙ 1 x azurerm_cosmosdb_cassandra_keyspace -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBCassandraTableGoldenFile ┃ $5,455 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBCassandraTableGoldenFile ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource azurerm_cosmosdb_cassandra_keyspace.no_account as its 'account_name' property could not be found. diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden index b6de6535fa1..b9089286852 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden @@ -1,57 +1,60 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_gremlin_database.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_gremlin_database.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_gremlin_database.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_gremlin_database.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_gremlin_database.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,155.73 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_gremlin_database.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_gremlin_database.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_gremlin_database.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_gremlin_database.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_gremlin_database.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,155.73 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 5 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBGremlinDatabaseGoldenFile ┃ $5,156 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBGremlinDatabaseGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden index 1df9a44d9bf..38a13544643 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden @@ -1,66 +1,69 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_gremlin_graph.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_gremlin_graph.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_gremlin_graph.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_gremlin_graph.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_gremlin_database.example - ├─ Provisioned throughput (serverless) Monthly cost depends on usage: $0.28 per 1M RU - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_gremlin_graph.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,155.73 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_gremlin_graph.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_gremlin_graph.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_gremlin_graph.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_gremlin_graph.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_gremlin_database.example + ├─ Provisioned throughput (serverless) Monthly cost depends on usage: $0.28 per 1M RU + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_gremlin_graph.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,155.73 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 6 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBGremlinGraphGoldenFile ┃ $5,156 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBGremlinGraphGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden index c33e7d9038a..7dd7e2ec9d8 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden @@ -1,102 +1,105 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_mongo_collection.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_mongo_collection.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_mongo_collection.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_mongo_collection.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_mongo_database.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - ├─ Periodic backup (Central US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_mongo_database.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB - ├─ Continuous backup (West US) Monthly cost depends on usage: $0.20 per GB - ├─ Continuous backup (Central US) Monthly cost depends on usage: $0.25 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_mongo_collection.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_mongo_database.autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Provisioned throughput (autoscale, Central US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB - ├─ Continuous backup (West US) Monthly cost depends on usage: $0.20 per GB - ├─ Continuous backup (Central US) Monthly cost depends on usage: $0.25 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_mongo_database.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_mongo_database.serverless - ├─ Provisioned throughput (serverless) Monthly cost depends on usage: $0.28 per 1M RU - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,455.03 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_mongo_collection.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_mongo_collection.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_mongo_collection.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_mongo_collection.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_mongo_database.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + ├─ Periodic backup (Central US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_mongo_database.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB + ├─ Continuous backup (West US) Monthly cost depends on usage: $0.20 per GB + ├─ Continuous backup (Central US) Monthly cost depends on usage: $0.25 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_mongo_collection.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_mongo_database.autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Provisioned throughput (autoscale, Central US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Transactional storage (Central US) Monthly cost depends on usage: $0.25 per GB + ├─ Continuous backup (West US) Monthly cost depends on usage: $0.20 per GB + ├─ Continuous backup (Central US) Monthly cost depends on usage: $0.25 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_mongo_database.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_mongo_database.serverless + ├─ Provisioned throughput (serverless) Monthly cost depends on usage: $0.28 per 1M RU + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,455.03 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 14 cloud resources were detected: ∙ 10 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBMongoCollectionGoldenFile ┃ $5,455 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBMongoCollectionGoldenFile ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden index cc3e5fb1980..a55a2f63c92 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden @@ -1,57 +1,60 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_mongo_database.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_mongo_database.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_mongo_database.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_mongo_database.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_mongo_database.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,155.73 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_mongo_database.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_mongo_database.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_mongo_database.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_mongo_database.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_mongo_database.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,155.73 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 5 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBMongoDatabaseGoldenFile ┃ $5,156 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBMongoDatabaseGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden index 80e025ad327..005ba18806c 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden @@ -1,68 +1,71 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_sql_container.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_sql_container.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_sql_container.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_sql_container.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $58.40 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_sql_container.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_sql_database.example - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,060.53 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_sql_container.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_sql_container.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_sql_container.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_sql_container.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $58.40 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_sql_container.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_sql_database.example + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,060.53 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 6 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBSQLContainerGoldenFile ┃ $5,061 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBSQLContainerGoldenFile ┃ $5,061 ┃ $0.00 ┃ $5,061 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden index 95af6eef681..631cd85cfba 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden @@ -1,66 +1,69 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_sql_database.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_sql_database.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_sql_database.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_sql_database.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_sql_database.account_by_name - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_sql_database.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,184.93 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_sql_database.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_sql_database.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_sql_database.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_sql_database.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_sql_database.account_by_name + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_sql_database.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,184.93 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 6 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBSQLDatabaseGoldenFile ┃ $5,185 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBSQLDatabaseGoldenFile ┃ $5,185 ┃ $0.00 ┃ $5,185 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden index 2b36a0c619d..8099c5421a0 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden @@ -1,50 +1,53 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_cosmosdb_table.autoscale - ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 - ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_table.provisioned - ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 - ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - ├─ Continuous backup (West US) 1,000 GB $200.00 - ├─ Continuous backup (Central US) 1,000 GB $246.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_table.serverless - ├─ Provisioned throughput (serverless) 10 1M RU $2.79 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Analytical storage (West US) 1,000 GB $30.00 - ├─ Analytical write operations (West US) 100 10K operations $5.50 - ├─ Analytical read operations (West US) 100 10K operations $0.54 - ├─ Periodic backup (West US) 2,000 GB $300.00 - └─ Restored data 3,000 GB $450.00 - - azurerm_cosmosdb_table.mutli-master_backup2copies - ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 - ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 - ├─ Transactional storage (West US) 1,000 GB $250.00 - ├─ Transactional storage (Central US) 1,000 GB $250.00 - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - azurerm_cosmosdb_table.non-usage_autoscale - ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 - ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB - ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB - ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations - ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations - ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB - └─ Restored data Monthly cost depends on usage: $0.15 per GB - - OVERALL TOTAL $5,155.73 + Name Monthly Qty Unit Monthly Cost + + azurerm_cosmosdb_table.autoscale + ├─ Provisioned throughput (autoscale, West US) 45 RU/s x 100 $262.80 + ├─ Provisioned throughput (autoscale, Central US) 45 RU/s x 100 $262.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_table.provisioned + ├─ Provisioned throughput (provisioned, West US) 5 RU/s x 100 $29.20 + ├─ Provisioned throughput (provisioned, Central US) 6.25 RU/s x 100 $36.50 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + ├─ Continuous backup (West US) 1,000 GB $200.00 + ├─ Continuous backup (Central US) 1,000 GB $246.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_table.serverless + ├─ Provisioned throughput (serverless) 10 1M RU $2.79 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Analytical storage (West US) 1,000 GB $30.00 + ├─ Analytical write operations (West US) 100 10K operations $5.50 + ├─ Analytical read operations (West US) 100 10K operations $0.54 + ├─ Periodic backup (West US) 2,000 GB $300.00 + └─ Restored data 3,000 GB $450.00 + + azurerm_cosmosdb_table.mutli-master_backup2copies + ├─ Provisioned throughput (provisioned, West US) 10 RU/s x 100 $116.80 + ├─ Provisioned throughput (provisioned, Central US) 10 RU/s x 100 $116.80 + ├─ Transactional storage (West US) 1,000 GB $250.00 + ├─ Transactional storage (Central US) 1,000 GB $250.00 + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + azurerm_cosmosdb_table.non-usage_autoscale + ├─ Provisioned throughput (autoscale, West US) Monthly cost depends on usage: $5.84 per RU/s x 100 + ├─ Transactional storage (West US) Monthly cost depends on usage: $0.25 per GB + ├─ Analytical storage (West US) Monthly cost depends on usage: $0.03 per GB + ├─ Analytical write operations (West US) Monthly cost depends on usage: $0.055 per 10K operations + ├─ Analytical read operations (West US) Monthly cost depends on usage: $0.0054 per 10K operations + ├─ Periodic backup (West US) Monthly cost depends on usage: $0.15 per GB + └─ Restored data Monthly cost depends on usage: $0.15 per GB + + OVERALL TOTAL $5,155.73 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 5 were estimated @@ -52,11 +55,11 @@ ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x azurerm_cosmosdb_table -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBTableGoldenFile ┃ $5,156 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMCosmosDBTableGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource azurerm_cosmosdb_table.account-in-another-module as its 'account_name' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden index 0d99e87d8f8..eef1a56108e 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_data_factory_integration_runtime_azure_ssis.enterprise_with_license - └─ Compute (E64 v3, Enterprise, license included) 730 hours $25,821.56 - - azurerm_data_factory_integration_runtime_azure_ssis.default - └─ Compute (D8 v3, Standard, license included) 730 hours $1,414.74 - - azurerm_data_factory_integration_runtime_azure_ssis.standard_ahb_v2 - └─ Compute (D1 v2, Standard) 2,920 hours $588.53 - - azurerm_data_factory.example - ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities - └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities - - OVERALL TOTAL $27,824.83 + Name Monthly Qty Unit Monthly Cost + + azurerm_data_factory_integration_runtime_azure_ssis.enterprise_with_license + └─ Compute (E64 v3, Enterprise, license included) 730 hours $25,821.56 + + azurerm_data_factory_integration_runtime_azure_ssis.default + └─ Compute (D8 v3, Standard, license included) 730 hours $1,414.74 + + azurerm_data_factory_integration_runtime_azure_ssis.standard_ahb_v2 + └─ Compute (D1 v2, Standard) 2,920 hours $588.53 + + azurerm_data_factory.example + ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities + └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities + + OVERALL TOTAL $27,824.83 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeAzureSSIS ┃ $27,825 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDataFactoryIntegrationRuntimeAzureSSIS ┃ $27,825 ┃ $0.00 ┃ $27,825 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden index 334e10ce9f0..f8cc2146af2 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden @@ -1,49 +1,52 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_data_factory_integration_runtime_azure.mo - ├─ Compute (Memory Optimized, 272 vCores) 730 hours $68,453.56 - ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs - ├─ Data movement activity 730 hours $182.50 - ├─ Pipeline activity 730 hours $3.65 - └─ External pipeline activity 730 hours $0.18 - - azurerm_data_factory_integration_runtime_azure.co - ├─ Compute (Compute Optimized, 16 vCores) 730 hours $2,318.48 - ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs - ├─ Data movement activity 730 hours $182.50 - ├─ Pipeline activity 730 hours $3.65 - └─ External pipeline activity 730 hours $0.18 - - azurerm_data_factory_integration_runtime_azure.default_with_usage - ├─ Compute (General Purpose, 8 vCores) 730 hours $1,565.12 - ├─ Orchestration 10 1k runs $10.00 - ├─ Data movement activity 730 hours $182.50 - ├─ Pipeline activity 730 hours $3.65 - └─ External pipeline activity 730 hours $0.18 - - azurerm_data_factory_integration_runtime_azure.gp - ├─ Compute (General Purpose, 8 vCores) 730 hours $1,565.12 - ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs - ├─ Data movement activity 730 hours $182.50 - ├─ Pipeline activity 730 hours $3.65 - └─ External pipeline activity 730 hours $0.18 - - azurerm_data_factory.example - ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities - └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities - + Name Monthly Qty Unit Monthly Cost + + azurerm_data_factory_integration_runtime_azure.mo + ├─ Compute (Memory Optimized, 272 vCores) 730 hours $68,453.56 + ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs + ├─ Data movement activity 730 hours $182.50 + ├─ Pipeline activity 730 hours $3.65 + └─ External pipeline activity 730 hours $0.18 + + azurerm_data_factory_integration_runtime_azure.co + ├─ Compute (Compute Optimized, 16 vCores) 730 hours $2,318.48 + ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs + ├─ Data movement activity 730 hours $182.50 + ├─ Pipeline activity 730 hours $3.65 + └─ External pipeline activity 730 hours $0.18 + + azurerm_data_factory_integration_runtime_azure.default_with_usage + ├─ Compute (General Purpose, 8 vCores) 730 hours $1,565.12 + ├─ Orchestration 10 1k runs $10.00 * + ├─ Data movement activity 730 hours $182.50 + ├─ Pipeline activity 730 hours $3.65 + └─ External pipeline activity 730 hours $0.18 + + azurerm_data_factory_integration_runtime_azure.gp + ├─ Compute (General Purpose, 8 vCores) 730 hours $1,565.12 + ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs + ├─ Data movement activity 730 hours $182.50 + ├─ Pipeline activity 730 hours $3.65 + └─ External pipeline activity 730 hours $0.18 + + azurerm_data_factory.example + ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities + └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities + OVERALL TOTAL $74,657.61 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 5 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeAzure ┃ $74,658 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDataFactoryIntegrationRuntimeAzure ┃ $74,648 ┃ $10 ┃ $74,658 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN 'Multiple products found' are safe to ignore for 'Compute (Compute Optimized, 16 vCores)' due to limitations in the Azure API. diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden index 787b442f56c..f43c06bda1e 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden @@ -1,39 +1,42 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_data_factory_integration_runtime_managed.enterprise_with_license - ├─ Compute (E64 v3, Enterprise, license included) 730 hours $25,821.56 - ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs - ├─ Data movement activity 730 hours $182.50 - ├─ Pipeline activity 730 hours $730.00 - └─ External pipeline activity 730 hours $730.00 - - azurerm_data_factory_integration_runtime_managed.default_with_usage - ├─ Compute (D8 v3, Standard, license included) 730 hours $1,414.74 - ├─ Orchestration 10 1k runs $10.00 - ├─ Data movement activity 730 hours $182.50 - ├─ Pipeline activity 730 hours $730.00 - └─ External pipeline activity 730 hours $730.00 - - azurerm_data_factory_integration_runtime_managed.standard_ahb_v2 - ├─ Compute (D1 v2, Standard) 2,920 hours $588.53 - ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs - ├─ Data movement activity 730 hours $182.50 - ├─ Pipeline activity 730 hours $730.00 - └─ External pipeline activity 730 hours $730.00 - - azurerm_data_factory.example - ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities - └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities - + Name Monthly Qty Unit Monthly Cost + + azurerm_data_factory_integration_runtime_managed.enterprise_with_license + ├─ Compute (E64 v3, Enterprise, license included) 730 hours $25,821.56 + ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs + ├─ Data movement activity 730 hours $182.50 + ├─ Pipeline activity 730 hours $730.00 + └─ External pipeline activity 730 hours $730.00 + + azurerm_data_factory_integration_runtime_managed.default_with_usage + ├─ Compute (D8 v3, Standard, license included) 730 hours $1,414.74 + ├─ Orchestration 10 1k runs $10.00 * + ├─ Data movement activity 730 hours $182.50 + ├─ Pipeline activity 730 hours $730.00 + └─ External pipeline activity 730 hours $730.00 + + azurerm_data_factory_integration_runtime_managed.standard_ahb_v2 + ├─ Compute (D1 v2, Standard) 2,920 hours $588.53 + ├─ Orchestration Monthly cost depends on usage: $1.00 per 1k runs + ├─ Data movement activity 730 hours $182.50 + ├─ Pipeline activity 730 hours $730.00 + └─ External pipeline activity 730 hours $730.00 + + azurerm_data_factory.example + ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities + └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities + OVERALL TOTAL $32,762.33 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeManaged ┃ $32,762 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDataFactoryIntegrationRuntimeManaged ┃ $32,752 ┃ $10 ┃ $32,762 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden index a864fd657b4..c40031a9c14 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden @@ -1,30 +1,33 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_data_factory_integration_runtime_self_hosted.with_usage - ├─ Orchestration 10 1k runs $15.00 - ├─ Data movement activity 730 hours $73.00 - ├─ Pipeline activity 730 hours $1.46 - └─ External pipeline activity 730 hours $0.07 - - azurerm_data_factory_integration_runtime_self_hosted.example - ├─ Orchestration Monthly cost depends on usage: $1.50 per 1k runs - ├─ Data movement activity 730 hours $73.00 - ├─ Pipeline activity 730 hours $1.46 - └─ External pipeline activity 730 hours $0.07 - - azurerm_data_factory.example - ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities - └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities - + Name Monthly Qty Unit Monthly Cost + + azurerm_data_factory_integration_runtime_self_hosted.with_usage + ├─ Orchestration 10 1k runs $15.00 * + ├─ Data movement activity 730 hours $73.00 + ├─ Pipeline activity 730 hours $1.46 + └─ External pipeline activity 730 hours $0.07 + + azurerm_data_factory_integration_runtime_self_hosted.example + ├─ Orchestration Monthly cost depends on usage: $1.50 per 1k runs + ├─ Data movement activity 730 hours $73.00 + ├─ Pipeline activity 730 hours $1.46 + └─ External pipeline activity 730 hours $0.07 + + azurerm_data_factory.example + ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities + └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities + OVERALL TOTAL $164.07 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 3 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeSelfHosted ┃ $164 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDataFactoryIntegrationRuntimeSelfHosted ┃ $149 ┃ $15 ┃ $164 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden index 3ab95239ff8..0b82d999ac2 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden @@ -1,22 +1,25 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_data_factory.with_usage - ├─ Read/Write operations 2 50k entities $1.00 - └─ Monitoring operations 0.5 50k entities $0.13 - - azurerm_data_factory.example - ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities - └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities - + Name Monthly Qty Unit Monthly Cost + + azurerm_data_factory.with_usage + ├─ Read/Write operations 2 50k entities $1.00 * + └─ Monitoring operations 0.5 50k entities $0.13 * + + azurerm_data_factory.example + ├─ Read/Write operations Monthly cost depends on usage: $0.50 per 50k entities + └─ Monitoring operations Monthly cost depends on usage: $0.25 per 50k entities + OVERALL TOTAL $1.13 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDataFactory ┃ $1 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDataFactory ┃ $0.00 ┃ $1 ┃ $1 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden index baf03063054..d4ef157c108 100644 --- a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_databricks_workspace.premium - ├─ All-purpose compute DBUs 500 DBU-hours $275.00 - ├─ Jobs compute DBUs 1,000 DBU-hours $300.00 - └─ Jobs light compute DBUs 2,000 DBU-hours $440.00 - - azurerm_databricks_workspace.standard - ├─ All-purpose compute DBUs 1,000 DBU-hours $400.00 - ├─ Jobs compute DBUs 2,000 DBU-hours $300.00 - └─ Jobs light compute DBUs 4,000 DBU-hours $280.00 - - azurerm_databricks_workspace.non_usage - ├─ All-purpose compute DBUs Monthly cost depends on usage: $0.40 per DBU-hours - ├─ Jobs compute DBUs Monthly cost depends on usage: $0.15 per DBU-hours - └─ Jobs light compute DBUs Monthly cost depends on usage: $0.07 per DBU-hours - + Name Monthly Qty Unit Monthly Cost + + azurerm_databricks_workspace.premium + ├─ All-purpose compute DBUs 500 DBU-hours $275.00 * + ├─ Jobs compute DBUs 1,000 DBU-hours $300.00 * + └─ Jobs light compute DBUs 2,000 DBU-hours $440.00 * + + azurerm_databricks_workspace.standard + ├─ All-purpose compute DBUs 1,000 DBU-hours $400.00 * + ├─ Jobs compute DBUs 2,000 DBU-hours $300.00 * + └─ Jobs light compute DBUs 4,000 DBU-hours $280.00 * + + azurerm_databricks_workspace.non_usage + ├─ All-purpose compute DBUs Monthly cost depends on usage: $0.40 per DBU-hours + ├─ Jobs compute DBUs Monthly cost depends on usage: $0.15 per DBU-hours + └─ Jobs light compute DBUs Monthly cost depends on usage: $0.07 per DBU-hours + OVERALL TOTAL $1,995.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 3 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDatabricksWorkspaceGoldenFile ┃ $1,995 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDatabricksWorkspaceGoldenFile ┃ $0.00 ┃ $1,995 ┃ $1,995 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden index 57b4c2129db..0e66d80206e 100644 --- a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_a_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_a_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_a_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_a_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_a_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_a_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNSaRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNSaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden index fee9588b448..df6f25164c6 100644 --- a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_aaaa_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_aaaa_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_aaaa_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_aaaa_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_aaaa_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_aaaa_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNSaaaaRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNSaaaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden index 3abba6f2586..174364df2ec 100644 --- a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_caa_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_caa_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_caa_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_caa_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_caa_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_caa_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNScaaRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNScaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden index de8df06c732..500c0acce96 100644 --- a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_cname_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_cname_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_cname_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_cname_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_cname_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_cname_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNScnameRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNScnameRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden index a316b2e945b..15ee3af8ad8 100644 --- a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_mx_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_mx_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_mx_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_mx_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_mx_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_mx_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNSmxRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNSmxRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden index 24dc6d4ee1f..793b188a582 100644 --- a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_ns_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_ns_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_ns_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_ns_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_ns_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_ns_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNSnsRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNSnsRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden index a71b5e46186..c1131dca879 100644 --- a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_ptr_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_ptr_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_ptr_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_ptr_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_ptr_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_ptr_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNSptrRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNSptrRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden index 663d6a542c7..569a090c6e1 100644 --- a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_srv_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_srv_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_srv_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_srv_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_srv_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_srv_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNSsrvRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNSsrvRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden index b0758eb04cf..94ec5850741 100644 --- a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_txt_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_dns_txt_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_dns_txt_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_txt_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_dns_txt_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_dns_txt_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNStxtRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNStxtRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden index 81e6fa4e810..13f9e28a60d 100644 --- a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_dns_zone.germany - └─ Hosted zone 1 months $0.54 - - azurerm_dns_zone.westus - └─ Hosted zone 1 months $0.50 - - OVERALL TOTAL $1.04 + Name Monthly Qty Unit Monthly Cost + + azurerm_dns_zone.germany + └─ Hosted zone 1 months $0.54 + + azurerm_dns_zone.westus + └─ Hosted zone 1 months $0.50 + + OVERALL TOTAL $1.04 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMDNSZone ┃ $1 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMDNSZone ┃ $1 ┃ $0.00 ┃ $1 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden index d4e2fb52f57..14550939002 100644 --- a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden @@ -1,47 +1,50 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_eventhub_namespace.dedicated - ├─ Capacity (Dedicated) 2 capacity units $9,999.54 - └─ Extended retention 100 GB $10.00 - - azurerm_eventhub_namespace.premium - ├─ Capacity (Premium) 8 processing units $5,997.68 - └─ Extended retention 12,100 GB $1,210.00 - - azurerm_eventhub_namespace.dedicatedWithoutUsage - ├─ Capacity (Dedicated) 1 capacity units $4,999.77 - └─ Extended retention Monthly cost depends on usage: $0.10 per GB - - azurerm_eventhub_namespace.standard - ├─ Ingress event (Standard) 100 1M events $2.80 - ├─ Capture 20 units $1,460.00 - └─ Capacity (Standard) 20 throughput units $438.00 - - azurerm_eventhub_namespace.premiumWithoutUsage - ├─ Capacity (Premium) 1 processing units $749.71 - └─ Extended retention Monthly cost depends on usage: $0.10 per GB - - azurerm_eventhub_namespace.standardWithoutUsage - ├─ Ingress event (Standard) Monthly cost depends on usage: $0.028 per 1M events - └─ Capacity (Standard) 1 throughput units $21.90 - - azurerm_eventhub_namespace.basic - ├─ Ingress event (Basic) 10 1M events $0.28 - └─ Capacity (Basic) 1 throughput units $10.95 - - azurerm_eventhub_namespace.basicWithoutUsage - ├─ Ingress event (Basic) Monthly cost depends on usage: $0.028 per 1M events - └─ Capacity (Basic) 1 throughput units $10.95 - - OVERALL TOTAL $24,911.58 + Name Monthly Qty Unit Monthly Cost + + azurerm_eventhub_namespace.dedicated + ├─ Capacity (Dedicated) 2 capacity units $9,999.54 + └─ Extended retention 100 GB $10.00 + + azurerm_eventhub_namespace.premium + ├─ Capacity (Premium) 8 processing units $5,997.68 + └─ Extended retention 12,100 GB $1,210.00 + + azurerm_eventhub_namespace.dedicatedWithoutUsage + ├─ Capacity (Dedicated) 1 capacity units $4,999.77 + └─ Extended retention Monthly cost depends on usage: $0.10 per GB + + azurerm_eventhub_namespace.standard + ├─ Ingress event (Standard) 100 1M events $2.80 + ├─ Capture 20 units $1,460.00 + └─ Capacity (Standard) 20 throughput units $438.00 + + azurerm_eventhub_namespace.premiumWithoutUsage + ├─ Capacity (Premium) 1 processing units $749.71 + └─ Extended retention Monthly cost depends on usage: $0.10 per GB + + azurerm_eventhub_namespace.standardWithoutUsage + ├─ Ingress event (Standard) Monthly cost depends on usage: $0.028 per 1M events + └─ Capacity (Standard) 1 throughput units $21.90 + + azurerm_eventhub_namespace.basic + ├─ Ingress event (Basic) 10 1M events $0.28 + └─ Capacity (Basic) 1 throughput units $10.95 + + azurerm_eventhub_namespace.basicWithoutUsage + ├─ Ingress event (Basic) Monthly cost depends on usage: $0.028 per 1M events + └─ Capacity (Basic) 1 throughput units $10.95 + + OVERALL TOTAL $24,911.58 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 8 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMEventHubs ┃ $24,912 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMEventHubs ┃ $24,912 ┃ $0.00 ┃ $24,912 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden index 723d4eb2b5c..97d72a50139 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_eventgrid_system_topic.with_usage - └─ Operations 8 100k operations $0.48 - - azurerm_eventgrid_system_topic.without_usage - └─ Operations Monthly cost depends on usage: $0.06 per 100k operations - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.0196 per GB - ├─ Write operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - + Name Monthly Qty Unit Monthly Cost + + azurerm_eventgrid_system_topic.with_usage + └─ Operations 8 100k operations $0.48 * + + azurerm_eventgrid_system_topic.without_usage + └─ Operations Monthly cost depends on usage: $0.06 per 100k operations + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.0196 per GB + ├─ Write operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + OVERALL TOTAL $0.48 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 3 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEventgridSystemTopic ┃ $0.48 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEventgridSystemTopic ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden index 5a260459f0e..ac4b71c5330 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_eventgrid_topic.with_usage - └─ Operations 8 100k operations $0.48 - - azurerm_eventgrid_topic.without_usage - └─ Operations Monthly cost depends on usage: $0.06 per 100k operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_eventgrid_topic.with_usage + └─ Operations 8 100k operations $0.48 * + + azurerm_eventgrid_topic.without_usage + └─ Operations Monthly cost depends on usage: $0.06 per 100k operations + OVERALL TOTAL $0.48 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestEventgridTopic ┃ $0.48 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestEventgridTopic ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden index fb36009dbcd..9ce51342dea 100644 --- a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden @@ -1,13 +1,16 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_express_route_gateway.express_route - └─ ER scale units (2 Gbps) 1 scale units $306.60 - - azurerm_express_route_connection.express_route_conn - └─ ER Connections 730 hours $36.50 - - OVERALL TOTAL $343.10 + Name Monthly Qty Unit Monthly Cost + + azurerm_express_route_gateway.express_route + └─ ER scale units (2 Gbps) 1 scale units $306.60 + + azurerm_express_route_connection.express_route_conn + └─ ER Connections 730 hours $36.50 + + OVERALL TOTAL $343.10 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 2 were estimated @@ -17,8 +20,8 @@ ∙ 1 x azurerm_express_route_circuit_peering ∙ 1 x azurerm_express_route_port -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestExpressRouteConnectionGoldenFile ┃ $343 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestExpressRouteConnectionGoldenFile ┃ $343 ┃ $0.00 ┃ $343 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden index b08d1575e56..0e3f6e9d0a7 100644 --- a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden @@ -1,17 +1,20 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_express_route_gateway.express_route - └─ ER scale units (2 Gbps) 4 scale units $1,226.40 - - OVERALL TOTAL $1,226.40 + Name Monthly Qty Unit Monthly Cost + + azurerm_express_route_gateway.express_route + └─ ER scale units (2 Gbps) 4 scale units $1,226.40 + + OVERALL TOTAL $1,226.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 1 was estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestExpressRouteGatewayGoldenFile ┃ $1,226 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestExpressRouteGatewayGoldenFile ┃ $1,226 ┃ $0.00 ┃ $1,226 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden index 73ec1997c47..2130bf20eb8 100644 --- a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden +++ b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden @@ -1,24 +1,27 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_federated_identity_credential.usage_p2 - └─ Active users (P2) 100 users $1.63 - - azurerm_federated_identity_credential.usage_p1 - └─ Active users (P1) 100 users $0.33 - - azurerm_federated_identity_credential.base - ├─ Active users (P1) Monthly cost depends on usage: $0.00325 per users - └─ Active users (P2) Monthly cost depends on usage: $0.01625 per users - + Name Monthly Qty Unit Monthly Cost + + azurerm_federated_identity_credential.usage_p2 + └─ Active users (P2) 100 users $1.63 * + + azurerm_federated_identity_credential.usage_p1 + └─ Active users (P1) 100 users $0.33 * + + azurerm_federated_identity_credential.base + ├─ Active users (P1) Monthly cost depends on usage: $0.00325 per users + └─ Active users (P2) Monthly cost depends on usage: $0.01625 per users + OVERALL TOTAL $1.95 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 3 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestFederatedIdentityCredential ┃ $2 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestFederatedIdentityCredential ┃ $0.00 ┃ $2 ┃ $2 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden index 4c3fb50a76e..1679a8a0bd9 100644 --- a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden +++ b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden @@ -1,37 +1,40 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_firewall.premium_virtual_hub - ├─ Deployment (Premium Secured Virtual Hub) 730 hours $1,277.50 - └─ Data processed 20,000 GB $320.00 - - azurerm_firewall.premium - ├─ Deployment (Premium) 730 hours $1,277.50 - └─ Data processed 10,000 GB $160.00 - - azurerm_firewall.standard_virtual_hub - ├─ Deployment (Standard Secure Virtual Hub) 730 hours $912.50 - └─ Data processed 20,000 GB $320.00 - - azurerm_firewall.standard - ├─ Deployment (Standard) 730 hours $912.50 - └─ Data processed 10,000 GB $160.00 - - azurerm_firewall.non_usage - ├─ Deployment (Standard) 730 hours $912.50 - └─ Data processed Monthly cost depends on usage: $0.016 per GB - - azurerm_public_ip.example - └─ IP address (static, regional) 730 hours $3.65 - - OVERALL TOTAL $6,256.15 + Name Monthly Qty Unit Monthly Cost + + azurerm_firewall.premium_virtual_hub + ├─ Deployment (Premium Secured Virtual Hub) 730 hours $1,277.50 + └─ Data processed 20,000 GB $320.00 + + azurerm_firewall.premium + ├─ Deployment (Premium) 730 hours $1,277.50 + └─ Data processed 10,000 GB $160.00 + + azurerm_firewall.standard_virtual_hub + ├─ Deployment (Standard Secure Virtual Hub) 730 hours $912.50 + └─ Data processed 20,000 GB $320.00 + + azurerm_firewall.standard + ├─ Deployment (Standard) 730 hours $912.50 + └─ Data processed 10,000 GB $160.00 + + azurerm_firewall.non_usage + ├─ Deployment (Standard) 730 hours $912.50 + └─ Data processed Monthly cost depends on usage: $0.016 per GB + + azurerm_public_ip.example + └─ IP address (static, regional) 730 hours $3.65 + + OVERALL TOTAL $6,256.15 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 11 cloud resources were detected: ∙ 6 were estimated ∙ 5 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMFirewall ┃ $6,256 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMFirewall ┃ $6,256 ┃ $0.00 ┃ $6,256 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden index 6436149216a..e226ec8855b 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_frontdoor_firewall_policy.firewall_policy_with_usage - ├─ Policy 1 months $5.00 - ├─ Custom rules 2 rules $2.00 - ├─ Custom rule requests 0.11 1M requests $0.07 - ├─ Managed rulesets 2 rulesets $40.00 - └─ Managed ruleset requests 1 1M requests $1.00 - - azurerm_frontdoor_firewall_policy.firewall_policy_example - ├─ Policy 1 months $5.00 - ├─ Custom rules 2 rules $2.00 - ├─ Custom rule requests Monthly cost depends on usage: $0.60 per 1M requests - ├─ Managed rulesets 2 rulesets $40.00 - └─ Managed ruleset requests Monthly cost depends on usage: $1.00 per 1M requests - + Name Monthly Qty Unit Monthly Cost + + azurerm_frontdoor_firewall_policy.firewall_policy_with_usage + ├─ Policy 1 months $5.00 + ├─ Custom rules 2 rules $2.00 + ├─ Custom rule requests 0.11 1M requests $0.07 * + ├─ Managed rulesets 2 rulesets $40.00 + └─ Managed ruleset requests 1 1M requests $1.00 * + + azurerm_frontdoor_firewall_policy.firewall_policy_example + ├─ Policy 1 months $5.00 + ├─ Custom rules 2 rules $2.00 + ├─ Custom rule requests Monthly cost depends on usage: $0.60 per 1M requests + ├─ Managed rulesets 2 rulesets $40.00 + └─ Managed ruleset requests Monthly cost depends on usage: $1.00 per 1M requests + OVERALL TOTAL $95.07 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestFrontdoorFirewallPolicyGoldenFile ┃ $95 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestFrontdoorFirewallPolicyGoldenFile ┃ $94 ┃ $1 ┃ $95 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden index ab00427147e..d3e1e135ee7 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden @@ -1,30 +1,33 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_frontdoor.frontdoor_with_usage - ├─ Routing rules (first 5 rules) 3,650 hours $109.50 - ├─ Routing rules (per additional rule) 730 hours $8.76 - ├─ Frontend hosts (over 100) 10 hosts $50.00 - ├─ Inbound data transfer 1,000 GB $10.00 - └─ Outbound data transfer - ├─ North America, Europe and Africa (first 10TB) 10,000 GB $1,700.00 - ├─ North America, Europe and Africa (next 40TB) 40,000 GB $6,000.00 - └─ North America, Europe and Africa (over 50TB) 150,000 GB $19,500.00 - - azurerm_frontdoor.frontdoor_without_usage - ├─ Routing rules (first 5 rules) 730 hours $21.90 - ├─ Inbound data transfer Monthly cost depends on usage: $0.01 per GB - └─ Outbound data transfer - └─ North America, Europe and Africa (first 10TB) Monthly cost depends on usage: $0.17 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_frontdoor.frontdoor_with_usage + ├─ Routing rules (first 5 rules) 3,650 hours $109.50 + ├─ Routing rules (per additional rule) 730 hours $8.76 + ├─ Frontend hosts (over 100) 10 hosts $50.00 + ├─ Inbound data transfer 1,000 GB $10.00 * + └─ Outbound data transfer + ├─ North America, Europe and Africa (first 10TB) 10,000 GB $1,700.00 * + ├─ North America, Europe and Africa (next 40TB) 40,000 GB $6,000.00 * + └─ North America, Europe and Africa (over 50TB) 150,000 GB $19,500.00 * + + azurerm_frontdoor.frontdoor_without_usage + ├─ Routing rules (first 5 rules) 730 hours $21.90 + ├─ Inbound data transfer Monthly cost depends on usage: $0.01 per GB + └─ Outbound data transfer + └─ North America, Europe and Africa (first 10TB) Monthly cost depends on usage: $0.17 per GB + OVERALL TOTAL $27,400.16 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestFrontdoorGoldenFile ┃ $27,400 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestFrontdoorGoldenFile ┃ $190 ┃ $27,210 ┃ $27,400 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden index 38465bcfd0d..ccdaea9ea6d 100644 --- a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden @@ -1,64 +1,67 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_function_app.elasticFunctionWithUsage - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_function_app.elasticFunction - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_function_app.elasticPremiumFunction - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_function_app.functionAppNoAvailableServicePlanButHasUsage - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_function_app.functionAppWithAllUsage - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_function_app.functionAppWithLessThanMins - ├─ Execution time 37,500 GB-seconds $0.60 - └─ Executions 3 1M requests $0.60 - - azurerm_function_app.functionAppWithOnlyExecutions - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions 0.1 1M requests $0.02 - - azurerm_function_app.functionApp - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_function_app.functionAppNoAvailableServicePlan - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_function_app.functionAppWithMissingExecutions - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.0152 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.05 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.004 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.03 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.0152 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_function_app.elasticFunctionWithUsage + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_function_app.elasticFunction + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_function_app.elasticPremiumFunction + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_function_app.functionAppNoAvailableServicePlanButHasUsage + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_function_app.functionAppWithAllUsage + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_function_app.functionAppWithLessThanMins + ├─ Execution time 37,500 GB-seconds $0.60 * + └─ Executions 3 1M requests $0.60 * + + azurerm_function_app.functionAppWithOnlyExecutions + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions 0.1 1M requests $0.02 * + + azurerm_function_app.functionApp + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_function_app.functionAppNoAvailableServicePlan + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_function_app.functionAppWithMissingExecutions + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.0152 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.05 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.004 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.03 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.0152 per GB + OVERALL TOTAL $1,134.69 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 16 cloud resources were detected: ∙ 12 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAppFunctionGoldenFile ┃ $1,135 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAppFunctionGoldenFile ┃ $1,104 ┃ $31 ┃ $1,135 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden index c0d338c8c20..ddad350c8ef 100644 --- a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden @@ -1,184 +1,187 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_linux_function_app.function_with_usage["plan-Linux-EP3"] - ├─ vCPU (EP3) 8 vCPU $1,010.32 - └─ Memory (EP3) 28 GB $251.41 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP3-FunctionApp"] - ├─ vCPU (EP3) 8 vCPU $1,010.32 - └─ Memory (EP3) 28 GB $251.41 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP3-elastic"] - ├─ vCPU (EP3) 8 vCPU $1,010.32 - └─ Memory (EP3) 28 GB $251.41 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP3-elastic"] - ├─ vCPU (EP3) 8 vCPU $1,010.32 - └─ Memory (EP3) 28 GB $251.41 - - azurerm_linux_function_app.function["plan-Linux-EP3"] - ├─ vCPU (EP3) 4 vCPU $505.16 - └─ Memory (EP3) 14 GB $125.71 - - azurerm_linux_function_app.function_with_usage["plan-Linux-EP2"] - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP3-FunctionApp"] - ├─ vCPU (EP3) 4 vCPU $505.16 - └─ Memory (EP3) 14 GB $125.71 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP3-elastic"] - ├─ vCPU (EP3) 4 vCPU $505.16 - └─ Memory (EP3) 14 GB $125.71 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP3-elastic"] - ├─ vCPU (EP3) 4 vCPU $505.16 - └─ Memory (EP3) 14 GB $125.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP2-FunctionApp"] - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP2-elastic"] - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP2-elastic"] - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_linux_function_app.function["plan-Linux-EP2"] - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_linux_function_app.function_with_usage["plan-Linux-EP1"] - ├─ vCPU (EP1) 2 vCPU $252.58 - └─ Memory (EP1) 7 GB $62.85 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP2-FunctionApp"] - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP2-elastic"] - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP2-elastic"] - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP1-FunctionApp"] - ├─ vCPU (EP1) 2 vCPU $252.58 - └─ Memory (EP1) 7 GB $62.85 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP1-elastic"] - ├─ vCPU (EP1) 2 vCPU $252.58 - └─ Memory (EP1) 7 GB $62.85 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP1-elastic"] - ├─ vCPU (EP1) 2 vCPU $252.58 - └─ Memory (EP1) 7 GB $62.85 - - azurerm_linux_function_app.function["plan-Linux-EP1"] - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP1-FunctionApp"] - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP1-elastic"] - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP1-elastic"] - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_linux_function_app.function_with_usage["plan-Linux-Y1"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-Y1-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-Y1-elastic"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP1-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP2-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP3-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-Y1-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-Y1-elastic"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_linux_function_app.function["plan-Linux-Y1"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-Y1-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-Y1-elastic"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP1-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP2-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP3-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-Y1-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-Y1-elastic"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.0152 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.05 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.004 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.03 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.0152 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_linux_function_app.function_with_usage["plan-Linux-EP3"] + ├─ vCPU (EP3) 8 vCPU $1,010.32 + └─ Memory (EP3) 28 GB $251.41 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP3-FunctionApp"] + ├─ vCPU (EP3) 8 vCPU $1,010.32 + └─ Memory (EP3) 28 GB $251.41 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP3-elastic"] + ├─ vCPU (EP3) 8 vCPU $1,010.32 + └─ Memory (EP3) 28 GB $251.41 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP3-elastic"] + ├─ vCPU (EP3) 8 vCPU $1,010.32 + └─ Memory (EP3) 28 GB $251.41 + + azurerm_linux_function_app.function["plan-Linux-EP3"] + ├─ vCPU (EP3) 4 vCPU $505.16 + └─ Memory (EP3) 14 GB $125.71 + + azurerm_linux_function_app.function_with_usage["plan-Linux-EP2"] + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP3-FunctionApp"] + ├─ vCPU (EP3) 4 vCPU $505.16 + └─ Memory (EP3) 14 GB $125.71 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP3-elastic"] + ├─ vCPU (EP3) 4 vCPU $505.16 + └─ Memory (EP3) 14 GB $125.71 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP3-elastic"] + ├─ vCPU (EP3) 4 vCPU $505.16 + └─ Memory (EP3) 14 GB $125.71 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP2-FunctionApp"] + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP2-elastic"] + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP2-elastic"] + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_linux_function_app.function["plan-Linux-EP2"] + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_linux_function_app.function_with_usage["plan-Linux-EP1"] + ├─ vCPU (EP1) 2 vCPU $252.58 + └─ Memory (EP1) 7 GB $62.85 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP2-FunctionApp"] + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP2-elastic"] + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP2-elastic"] + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP1-FunctionApp"] + ├─ vCPU (EP1) 2 vCPU $252.58 + └─ Memory (EP1) 7 GB $62.85 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP1-elastic"] + ├─ vCPU (EP1) 2 vCPU $252.58 + └─ Memory (EP1) 7 GB $62.85 + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP1-elastic"] + ├─ vCPU (EP1) 2 vCPU $252.58 + └─ Memory (EP1) 7 GB $62.85 + + azurerm_linux_function_app.function["plan-Linux-EP1"] + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP1-FunctionApp"] + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP1-elastic"] + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP1-elastic"] + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_linux_function_app.function_with_usage["plan-Linux-Y1"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-Y1-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-Y1-elastic"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP1-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP2-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP3-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-Y1-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_linux_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-Y1-elastic"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_linux_function_app.function["plan-Linux-Y1"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-Y1-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-Y1-elastic"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP1-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP2-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-EP3-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-Y1-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_linux_function_app.legacy_service_plan_function["legacy-plan-Standard-Y1-elastic"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.0152 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.05 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.004 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.03 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.0152 per GB + OVERALL TOTAL $13,366.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 63 cloud resources were detected: ∙ 41 were estimated ∙ 22 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxAppFunctionGoldenFile ┃ $13,366 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMLinuxAppFunctionGoldenFile ┃ $13,248 ┃ $118 ┃ $13,366 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden index 32e86ffd36e..ae56b2b4f16 100644 --- a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden @@ -1,184 +1,187 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_windows_function_app.function_with_usage["plan-Windows-EP3"] - ├─ vCPU (EP3) 8 vCPU $1,010.32 - └─ Memory (EP3) 28 GB $251.41 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP3-FunctionApp"] - ├─ vCPU (EP3) 8 vCPU $1,010.32 - └─ Memory (EP3) 28 GB $251.41 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP3-elastic"] - ├─ vCPU (EP3) 8 vCPU $1,010.32 - └─ Memory (EP3) 28 GB $251.41 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP3-elastic"] - ├─ vCPU (EP3) 8 vCPU $1,010.32 - └─ Memory (EP3) 28 GB $251.41 - - azurerm_windows_function_app.function["plan-Windows-EP3"] - ├─ vCPU (EP3) 4 vCPU $505.16 - └─ Memory (EP3) 14 GB $125.71 - - azurerm_windows_function_app.function_with_usage["plan-Windows-EP2"] - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP3-FunctionApp"] - ├─ vCPU (EP3) 4 vCPU $505.16 - └─ Memory (EP3) 14 GB $125.71 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP3-elastic"] - ├─ vCPU (EP3) 4 vCPU $505.16 - └─ Memory (EP3) 14 GB $125.71 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP3-elastic"] - ├─ vCPU (EP3) 4 vCPU $505.16 - └─ Memory (EP3) 14 GB $125.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP2-FunctionApp"] - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP2-elastic"] - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP2-elastic"] - ├─ vCPU (EP2) 4 vCPU $505.16 - └─ Memory (EP2) 14 GB $125.71 - - azurerm_windows_function_app.function["plan-Windows-EP2"] - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_windows_function_app.function_with_usage["plan-Windows-EP1"] - ├─ vCPU (EP1) 2 vCPU $252.58 - └─ Memory (EP1) 7 GB $62.85 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP2-FunctionApp"] - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP2-elastic"] - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP2-elastic"] - ├─ vCPU (EP2) 2 vCPU $252.58 - └─ Memory (EP2) 7 GB $62.85 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP1-FunctionApp"] - ├─ vCPU (EP1) 2 vCPU $252.58 - └─ Memory (EP1) 7 GB $62.85 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP1-elastic"] - ├─ vCPU (EP1) 2 vCPU $252.58 - └─ Memory (EP1) 7 GB $62.85 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP1-elastic"] - ├─ vCPU (EP1) 2 vCPU $252.58 - └─ Memory (EP1) 7 GB $62.85 - - azurerm_windows_function_app.function["plan-Windows-EP1"] - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP1-FunctionApp"] - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP1-elastic"] - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP1-elastic"] - ├─ vCPU (EP1) 1 vCPU $126.29 - └─ Memory (EP1) 3.5 GB $31.43 - - azurerm_windows_function_app.function_with_usage["plan-Windows-Y1"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-Y1-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-Y1-elastic"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP1-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP2-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP3-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-Y1-FunctionApp"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-Y1-elastic"] - ├─ Execution time 876,180.4425 GB-seconds $14.02 - └─ Executions 3.5401 1M requests $0.71 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.0152 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.05 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.004 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.03 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.0152 per GB - - azurerm_windows_function_app.function["plan-Windows-Y1"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-Y1-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-Y1-elastic"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP1-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP2-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP3-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-Y1-FunctionApp"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - - azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-Y1-elastic"] - ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds - └─ Executions Monthly cost depends on usage: $0.20 per 1M requests - + Name Monthly Qty Unit Monthly Cost + + azurerm_windows_function_app.function_with_usage["plan-Windows-EP3"] + ├─ vCPU (EP3) 8 vCPU $1,010.32 + └─ Memory (EP3) 28 GB $251.41 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP3-FunctionApp"] + ├─ vCPU (EP3) 8 vCPU $1,010.32 + └─ Memory (EP3) 28 GB $251.41 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP3-elastic"] + ├─ vCPU (EP3) 8 vCPU $1,010.32 + └─ Memory (EP3) 28 GB $251.41 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP3-elastic"] + ├─ vCPU (EP3) 8 vCPU $1,010.32 + └─ Memory (EP3) 28 GB $251.41 + + azurerm_windows_function_app.function["plan-Windows-EP3"] + ├─ vCPU (EP3) 4 vCPU $505.16 + └─ Memory (EP3) 14 GB $125.71 + + azurerm_windows_function_app.function_with_usage["plan-Windows-EP2"] + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP3-FunctionApp"] + ├─ vCPU (EP3) 4 vCPU $505.16 + └─ Memory (EP3) 14 GB $125.71 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP3-elastic"] + ├─ vCPU (EP3) 4 vCPU $505.16 + └─ Memory (EP3) 14 GB $125.71 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP3-elastic"] + ├─ vCPU (EP3) 4 vCPU $505.16 + └─ Memory (EP3) 14 GB $125.71 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP2-FunctionApp"] + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP2-elastic"] + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP2-elastic"] + ├─ vCPU (EP2) 4 vCPU $505.16 + └─ Memory (EP2) 14 GB $125.71 + + azurerm_windows_function_app.function["plan-Windows-EP2"] + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_windows_function_app.function_with_usage["plan-Windows-EP1"] + ├─ vCPU (EP1) 2 vCPU $252.58 + └─ Memory (EP1) 7 GB $62.85 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP2-FunctionApp"] + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP2-elastic"] + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP2-elastic"] + ├─ vCPU (EP2) 2 vCPU $252.58 + └─ Memory (EP2) 7 GB $62.85 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP1-FunctionApp"] + ├─ vCPU (EP1) 2 vCPU $252.58 + └─ Memory (EP1) 7 GB $62.85 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-EP1-elastic"] + ├─ vCPU (EP1) 2 vCPU $252.58 + └─ Memory (EP1) 7 GB $62.85 + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP1-elastic"] + ├─ vCPU (EP1) 2 vCPU $252.58 + └─ Memory (EP1) 7 GB $62.85 + + azurerm_windows_function_app.function["plan-Windows-EP1"] + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP1-FunctionApp"] + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-EP1-elastic"] + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP1-elastic"] + ├─ vCPU (EP1) 1 vCPU $126.29 + └─ Memory (EP1) 3.5 GB $31.43 + + azurerm_windows_function_app.function_with_usage["plan-Windows-Y1"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-Y1-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-ElasticPremium-Y1-elastic"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP1-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP2-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-EP3-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-Y1-FunctionApp"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_windows_function_app.legacy_service_plan_function_with_usage["legacy-plan-Standard-Y1-elastic"] + ├─ Execution time 876,180.4425 GB-seconds $14.02 * + └─ Executions 3.5401 1M requests $0.71 * + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.0152 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.05 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.004 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.03 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.0152 per GB + + azurerm_windows_function_app.function["plan-Windows-Y1"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-Y1-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-ElasticPremium-Y1-elastic"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP1-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP2-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-EP3-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-Y1-FunctionApp"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + + azurerm_windows_function_app.legacy_service_plan_function["legacy-plan-Standard-Y1-elastic"] + ├─ Execution time Monthly cost depends on usage: $0.000016 per GB-seconds + └─ Executions Monthly cost depends on usage: $0.20 per 1M requests + OVERALL TOTAL $13,366.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 63 cloud resources were detected: ∙ 41 were estimated ∙ 22 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsAppFunctionGoldenFile ┃ $13,366 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMWindowsAppFunctionGoldenFile ┃ $13,248 ┃ $118 ┃ $13,366 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden index b40edb5c3b1..436b56765e4 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden @@ -1,35 +1,38 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_hdinsight_hadoop_cluster.with_edge - ├─ Head node (Standard_D3) 1,460 hours $430.70 - ├─ Worker node (Standard_D4) 2,190 hours $1,292.10 - ├─ Zookeeper node (Standard_D3) 2,190 hours $646.05 - └─ Edge node (Standard_A5) 2,190 hours $554.07 - - azurerm_hdinsight_hadoop_cluster.without_edge - ├─ Head node (Standard_A4m_V2) 1,460 hours $446.76 - ├─ Worker node (Standard_A1_V2) 730 hours $43.80 - └─ Zookeeper node (Standard_A5) 2,190 hours $554.07 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.01 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.01 per GB - - OVERALL TOTAL $3,967.55 + Name Monthly Qty Unit Monthly Cost + + azurerm_hdinsight_hadoop_cluster.with_edge + ├─ Head node (Standard_D3) 1,460 hours $430.70 + ├─ Worker node (Standard_D4) 2,190 hours $1,292.10 + ├─ Zookeeper node (Standard_D3) 2,190 hours $646.05 + └─ Edge node (Standard_A5) 2,190 hours $554.07 + + azurerm_hdinsight_hadoop_cluster.without_edge + ├─ Head node (Standard_A4m_V2) 1,460 hours $446.76 + ├─ Worker node (Standard_A1_V2) 730 hours $43.80 + └─ Zookeeper node (Standard_A5) 2,190 hours $554.07 + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.01 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.01 per GB + + OVERALL TOTAL $3,967.55 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 3 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightHadoopClusterGoldenFile ┃ $3,968 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMHDInsightHadoopClusterGoldenFile ┃ $3,968 ┃ $0.00 ┃ $3,968 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden index 9552be1ce52..e31ff93cdb9 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_hdinsight_hbase_cluster.example - ├─ Head node (Standard_D1) 1,460 hours $107.31 - ├─ Region node (Standard_D14) 2,190 hours $3,274.49 - └─ Zookeeper node (Standard_D4a V4) 2,190 hours $525.60 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.01 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.01 per GB - - OVERALL TOTAL $3,907.40 + Name Monthly Qty Unit Monthly Cost + + azurerm_hdinsight_hbase_cluster.example + ├─ Head node (Standard_D1) 1,460 hours $107.31 + ├─ Region node (Standard_D14) 2,190 hours $3,274.49 + └─ Zookeeper node (Standard_D4a V4) 2,190 hours $525.60 + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.01 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.01 per GB + + OVERALL TOTAL $3,907.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightHBaseClusterGoldenFile ┃ $3,907 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMHDInsightHBaseClusterGoldenFile ┃ $3,907 ┃ $0.00 ┃ $3,907 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden index 0f87ec3d9da..d7dc151caf8 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_hdinsight_interactive_query_cluster.example - ├─ Head node (Standard_E2_V3) 1,460 hours $277.40 - ├─ Worker node (Standard_E16_V3) 2,190 hours $3,328.80 - └─ Zookeeper node (Standard_E64i_V3) 2,190 hours $12,246.48 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.01 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.01 per GB - - OVERALL TOTAL $15,852.68 + Name Monthly Qty Unit Monthly Cost + + azurerm_hdinsight_interactive_query_cluster.example + ├─ Head node (Standard_E2_V3) 1,460 hours $277.40 + ├─ Worker node (Standard_E16_V3) 2,190 hours $3,328.80 + └─ Zookeeper node (Standard_E64i_V3) 2,190 hours $12,246.48 + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.01 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.01 per GB + + OVERALL TOTAL $15,852.68 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightInteractiveQueryClusterGoldenFile ┃ $15,853 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMHDInsightInteractiveQueryClusterGoldenFile ┃ $15,853 ┃ $0.00 ┃ $15,853 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden index 54eba1dcc4b..6c380e3c04a 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden @@ -1,45 +1,48 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_hdinsight_kafka_cluster.standard - ├─ Head node (Standard_E2s_V3) 1,460 hours $277.40 - ├─ Worker node (Standard_E64is_V3) 1,460 hours $8,164.32 - ├─ Zookeeper node (Standard_G2) 2,190 hours $3,232.44 - ├─ Managed OS disks 4 months $163.84 - └─ Disk operations 40 100K operations $0.01 - - azurerm_hdinsight_kafka_cluster.non_usage - ├─ Head node (Standard_NC24) 1,460 hours $7,478.12 - ├─ Worker node (Standard_D3) 730 hours $215.35 - ├─ Zookeeper node (Standard_D3) 2,190 hours $646.05 - ├─ Managed OS disks 3 months $446.04 - └─ Disk operations Monthly cost depends on usage: $0.00036 per 100K operations - - azurerm_hdinsight_kafka_cluster.premium - ├─ Head node (Standard_F2s_V2) 1,460 hours $197.10 - ├─ Worker node (Standard_D3) 2,190 hours $646.05 - ├─ Zookeeper node (Standard_F32s_V2) 2,190 hours $4,730.40 - ├─ Managed OS disks 9 months $1,338.12 - └─ Disk operations 180 100K operations $0.06 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.01 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.01 per GB - - OVERALL TOTAL $27,535.31 + Name Monthly Qty Unit Monthly Cost + + azurerm_hdinsight_kafka_cluster.standard + ├─ Head node (Standard_E2s_V3) 1,460 hours $277.40 + ├─ Worker node (Standard_E64is_V3) 1,460 hours $8,164.32 + ├─ Zookeeper node (Standard_G2) 2,190 hours $3,232.44 + ├─ Managed OS disks 4 months $163.84 + └─ Disk operations 40 100K operations $0.01 + + azurerm_hdinsight_kafka_cluster.non_usage + ├─ Head node (Standard_NC24) 1,460 hours $7,478.12 + ├─ Worker node (Standard_D3) 730 hours $215.35 + ├─ Zookeeper node (Standard_D3) 2,190 hours $646.05 + ├─ Managed OS disks 3 months $446.04 + └─ Disk operations Monthly cost depends on usage: $0.00036 per 100K operations + + azurerm_hdinsight_kafka_cluster.premium + ├─ Head node (Standard_F2s_V2) 1,460 hours $197.10 + ├─ Worker node (Standard_D3) 2,190 hours $646.05 + ├─ Zookeeper node (Standard_F32s_V2) 2,190 hours $4,730.40 + ├─ Managed OS disks 9 months $1,338.12 + └─ Disk operations 180 100K operations $0.06 + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.01 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.01 per GB + + OVERALL TOTAL $27,535.31 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 4 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightKafkaClusterGoldenFile ┃ $27,535 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMHDInsightKafkaClusterGoldenFile ┃ $27,535 ┃ $0.00 ┃ $27,535 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden index e5498795caf..b9803271126 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_hdinsight_spark_cluster.example - ├─ Head node (Standard_G2) 1,460 hours $2,154.96 - ├─ Worker node (Standard_G2) 2,190 hours $3,232.44 - └─ Zookeeper node (Standard_G2) 2,190 hours $3,232.44 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.01 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.01 per GB - - OVERALL TOTAL $8,619.84 + Name Monthly Qty Unit Monthly Cost + + azurerm_hdinsight_spark_cluster.example + ├─ Head node (Standard_G2) 1,460 hours $2,154.96 + ├─ Worker node (Standard_G2) 2,190 hours $3,232.44 + └─ Zookeeper node (Standard_G2) 2,190 hours $3,232.44 + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.01 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.01 per GB + + OVERALL TOTAL $8,619.84 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightSparkClusterGoldenFile ┃ $8,620 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMHDInsightSparkClusterGoldenFile ┃ $8,620 ┃ $0.00 ┃ $8,620 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/image_test/image_test.golden b/internal/providers/terraform/azure/testdata/image_test/image_test.golden index c6be37d2f97..224ffe0cf95 100644 --- a/internal/providers/terraform/azure/testdata/image_test/image_test.golden +++ b/internal/providers/terraform/azure/testdata/image_test/image_test.golden @@ -1,80 +1,83 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_virtual_machine.example["data_disk"] - ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 730 hours $49.57 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU - ├─ storage_os_disk - │ └─ Storage (P4, LRS) 1 months $5.81 - ├─ storage_data_disk - │ └─ Storage (P4, LRS) 1 months $5.81 - └─ storage_data_disk - └─ Storage (P4, LRS) 1 months $5.81 - - azurerm_virtual_machine.example["md"] - ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 730 hours $49.57 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU - └─ storage_os_disk - └─ Storage (P4, LRS) 1 months $5.81 - - azurerm_virtual_machine.example["premium"] - ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 730 hours $49.57 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU - └─ storage_os_disk - └─ Storage (P4, LRS) 1 months $5.81 - - azurerm_virtual_machine.example["standard"] - ├─ Instance usage (Linux, pay as you go, Standard_D1_v2) 730 hours $49.57 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU - └─ storage_os_disk - ├─ Storage (E4, LRS) 1 months $2.40 - └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations - - azurerm_image.vm_usage["data_disk"] - └─ Storage 300 GB $15.00 - - azurerm_image.vm_usage["md"] - └─ Storage 300 GB $15.00 - - azurerm_image.vm_usage["premium"] - └─ Storage 300 GB $15.00 - - azurerm_image.vm_usage["standard"] - └─ Storage 300 GB $15.00 - - azurerm_image.vm["data_disk"] - └─ Storage 158 GB $7.90 - - azurerm_image.disk["managed"] - └─ Storage 140 GB $7.00 - - azurerm_image.vm["md"] - └─ Storage 128 GB $6.40 - - azurerm_image.vm["premium"] - └─ Storage 128 GB $6.40 - - azurerm_image.vm["standard"] - └─ Storage 128 GB $6.40 - - azurerm_managed_disk.example - ├─ Storage (S10, LRS) 1 months $5.89 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_image.disk["data"] - └─ Storage 60 GB $3.00 - - azurerm_image.disk["spec"] - └─ Storage 30 GB $1.50 - - OVERALL TOTAL $334.19 + Name Monthly Qty Unit Monthly Cost + + azurerm_virtual_machine.example["data_disk"] + ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 730 hours $49.57 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU + ├─ storage_os_disk + │ └─ Storage (P4, LRS) 1 months $5.81 + ├─ storage_data_disk + │ └─ Storage (P4, LRS) 1 months $5.81 + └─ storage_data_disk + └─ Storage (P4, LRS) 1 months $5.81 + + azurerm_virtual_machine.example["md"] + ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 730 hours $49.57 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU + └─ storage_os_disk + └─ Storage (P4, LRS) 1 months $5.81 + + azurerm_virtual_machine.example["premium"] + ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 730 hours $49.57 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU + └─ storage_os_disk + └─ Storage (P4, LRS) 1 months $5.81 + + azurerm_virtual_machine.example["standard"] + ├─ Instance usage (Linux, pay as you go, Standard_D1_v2) 730 hours $49.57 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU + └─ storage_os_disk + ├─ Storage (E4, LRS) 1 months $2.40 + └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations + + azurerm_image.vm_usage["data_disk"] + └─ Storage 300 GB $15.00 + + azurerm_image.vm_usage["md"] + └─ Storage 300 GB $15.00 + + azurerm_image.vm_usage["premium"] + └─ Storage 300 GB $15.00 + + azurerm_image.vm_usage["standard"] + └─ Storage 300 GB $15.00 + + azurerm_image.vm["data_disk"] + └─ Storage 158 GB $7.90 + + azurerm_image.disk["managed"] + └─ Storage 140 GB $7.00 + + azurerm_image.vm["md"] + └─ Storage 128 GB $6.40 + + azurerm_image.vm["premium"] + └─ Storage 128 GB $6.40 + + azurerm_image.vm["standard"] + └─ Storage 128 GB $6.40 + + azurerm_managed_disk.example + ├─ Storage (S10, LRS) 1 months $5.89 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_image.disk["data"] + └─ Storage 60 GB $3.00 + + azurerm_image.disk["spec"] + └─ Storage 30 GB $1.50 + + OVERALL TOTAL $334.19 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 20 cloud resources were detected: ∙ 16 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestImage ┃ $334 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestImage ┃ $334 ┃ $0.00 ┃ $334 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden index 08ea954b666..4acdc256481 100644 --- a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden @@ -1,24 +1,27 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_integration_service_environment.example - ├─ Base units 730 hours $4,847.20 - └─ Scale units 2,190 hours $7,270.80 - - azurerm_integration_service_environment.example1 - └─ Base units 730 hours $4,847.20 - - azurerm_integration_service_environment.example2 - └─ Base units 730 hours $749.71 - - OVERALL TOTAL $17,714.91 + Name Monthly Qty Unit Monthly Cost + + azurerm_integration_service_environment.example + ├─ Base units 730 hours $4,847.20 + └─ Scale units 2,190 hours $7,270.80 + + azurerm_integration_service_environment.example1 + └─ Base units 730 hours $4,847.20 + + azurerm_integration_service_environment.example2 + └─ Base units 730 hours $749.71 + + OVERALL TOTAL $17,714.91 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 3 were estimated ∙ 6 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMAIntegrationServiceEnvironment ┃ $17,715 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMAIntegrationServiceEnvironment ┃ $17,715 ┃ $0.00 ┃ $17,715 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden index 1d4ca5f5164..653508f0c2a 100644 --- a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden +++ b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden @@ -1,26 +1,29 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_iothub.iothub_multiple - └─ IoT Hub 4 units $100.00 - - azurerm_iothub.iothub_single - └─ IoT Hub 1 units $25.00 - - azurerm_iothub_dps.dps_withUsage - └─ Device provisioning 10 1k operations $1.00 - - azurerm_iothub_dps.dps_withoutUsage - └─ Device provisioning Monthly cost depends on usage: $0.10 per 1k operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_iothub.iothub_multiple + └─ IoT Hub 4 units $100.00 + + azurerm_iothub.iothub_single + └─ IoT Hub 1 units $25.00 + + azurerm_iothub_dps.dps_withUsage + └─ Device provisioning 10 1k operations $1.00 * + + azurerm_iothub_dps.dps_withoutUsage + └─ Device provisioning Monthly cost depends on usage: $0.10 per 1k operations + OVERALL TOTAL $126.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 4 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestIoTHub ┃ $126 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestIoTHub ┃ $125 ┃ $1 ┃ $126 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden index 4eb01ed23c5..d3269b0ed35 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden @@ -1,26 +1,29 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_key_vault_certificate.premium - ├─ Certificate renewals 100 requests $300.00 - └─ Certificate operations 10 10K transactions $0.30 - - azurerm_key_vault_certificate.standard - ├─ Certificate renewals 100 requests $300.00 - └─ Certificate operations 10 10K transactions $0.30 - - azurerm_key_vault_certificate.non-usage - ├─ Certificate renewals Monthly cost depends on usage: $3.00 per requests - └─ Certificate operations Monthly cost depends on usage: $0.03 per 10K transactions - - OVERALL TOTAL $600.60 + Name Monthly Qty Unit Monthly Cost + + azurerm_key_vault_certificate.premium + ├─ Certificate renewals 100 requests $300.00 + └─ Certificate operations 10 10K transactions $0.30 + + azurerm_key_vault_certificate.standard + ├─ Certificate renewals 100 requests $300.00 + └─ Certificate operations 10 10K transactions $0.30 + + azurerm_key_vault_certificate.non-usage + ├─ Certificate renewals Monthly cost depends on usage: $3.00 per requests + └─ Certificate operations Monthly cost depends on usage: $0.03 per 10K transactions + + OVERALL TOTAL $600.60 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 3 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultCertificate ┃ $601 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureKeyVaultCertificate ┃ $601 ┃ $0.00 ┃ $601 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden index ac01b8e2094..9b865e6eeff 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden @@ -1,64 +1,67 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_key_vault_key.pr_hsm_rsa3072 - ├─ Secrets operations 4 10K transactions $0.12 - ├─ Storage key rotations 40 renewals $40.00 - ├─ HSM-protected keys (first 250) 250 months $1,250.00 - ├─ HSM-protected keys (next 1250) 1,250 months $3,125.00 - ├─ HSM-protected keys (next 2500) 2,500 months $2,250.00 - ├─ HSM-protected keys (over 4000) 1,000 months $400.00 - └─ HSM-protected keys 400 10K transactions $60.00 - - azurerm_key_vault_key.pr_hsm_rsa2048 - ├─ Secrets operations 4 10K transactions $0.12 - ├─ Storage key rotations 40 renewals $40.00 - ├─ HSM-protected keys 5,000 months $5,000.00 - └─ HSM-protected keys 400 10K transactions $60.00 - - azurerm_key_vault_key.std_rsa2048 - ├─ Secrets operations 7 10K transactions $0.21 - ├─ Storage key rotations 70 renewals $70.00 - └─ Software-protected keys 700 10K transactions $105.00 - - azurerm_key_vault_key.std_rsa3072 - ├─ Secrets operations 6 10K transactions $0.18 - ├─ Storage key rotations 60 renewals $60.00 - └─ Software-protected keys 600 10K transactions $90.00 - - azurerm_key_vault_key.std_hsm_rsa3072 - ├─ Secrets operations 5 10K transactions $0.15 - ├─ Storage key rotations 50 renewals $50.00 - └─ Software-protected keys 500 10K transactions $75.00 - - azurerm_key_vault_key.pr_ec - ├─ Secrets operations 3 10K transactions $0.09 - ├─ Storage key rotations 30 renewals $30.00 - └─ Software-protected keys 300 10K transactions $45.00 - - azurerm_key_vault_key.pr_rsa3072 - ├─ Secrets operations 2 10K transactions $0.06 - ├─ Storage key rotations 20 renewals $20.00 - └─ Software-protected keys 200 10K transactions $30.00 - - azurerm_key_vault_key.pr_rsa2048 - ├─ Secrets operations 1 10K transactions $0.03 - ├─ Storage key rotations 10 renewals $10.00 - └─ Software-protected keys 100 10K transactions $3.00 - - azurerm_key_vault_key.no_usage - ├─ Secrets operations Monthly cost depends on usage: $0.03 per 10K transactions - ├─ Storage key rotations Monthly cost depends on usage: $1.00 per renewals - └─ Software-protected keys Monthly cost depends on usage: $0.15 per 10K transactions - - OVERALL TOTAL $12,813.96 + Name Monthly Qty Unit Monthly Cost + + azurerm_key_vault_key.pr_hsm_rsa3072 + ├─ Secrets operations 4 10K transactions $0.12 + ├─ Storage key rotations 40 renewals $40.00 + ├─ HSM-protected keys (first 250) 250 months $1,250.00 + ├─ HSM-protected keys (next 1250) 1,250 months $3,125.00 + ├─ HSM-protected keys (next 2500) 2,500 months $2,250.00 + ├─ HSM-protected keys (over 4000) 1,000 months $400.00 + └─ HSM-protected keys 400 10K transactions $60.00 + + azurerm_key_vault_key.pr_hsm_rsa2048 + ├─ Secrets operations 4 10K transactions $0.12 + ├─ Storage key rotations 40 renewals $40.00 + ├─ HSM-protected keys 5,000 months $5,000.00 + └─ HSM-protected keys 400 10K transactions $60.00 + + azurerm_key_vault_key.std_rsa2048 + ├─ Secrets operations 7 10K transactions $0.21 + ├─ Storage key rotations 70 renewals $70.00 + └─ Software-protected keys 700 10K transactions $105.00 + + azurerm_key_vault_key.std_rsa3072 + ├─ Secrets operations 6 10K transactions $0.18 + ├─ Storage key rotations 60 renewals $60.00 + └─ Software-protected keys 600 10K transactions $90.00 + + azurerm_key_vault_key.std_hsm_rsa3072 + ├─ Secrets operations 5 10K transactions $0.15 + ├─ Storage key rotations 50 renewals $50.00 + └─ Software-protected keys 500 10K transactions $75.00 + + azurerm_key_vault_key.pr_ec + ├─ Secrets operations 3 10K transactions $0.09 + ├─ Storage key rotations 30 renewals $30.00 + └─ Software-protected keys 300 10K transactions $45.00 + + azurerm_key_vault_key.pr_rsa3072 + ├─ Secrets operations 2 10K transactions $0.06 + ├─ Storage key rotations 20 renewals $20.00 + └─ Software-protected keys 200 10K transactions $30.00 + + azurerm_key_vault_key.pr_rsa2048 + ├─ Secrets operations 1 10K transactions $0.03 + ├─ Storage key rotations 10 renewals $10.00 + └─ Software-protected keys 100 10K transactions $3.00 + + azurerm_key_vault_key.no_usage + ├─ Secrets operations Monthly cost depends on usage: $0.03 per 10K transactions + ├─ Storage key rotations Monthly cost depends on usage: $1.00 per renewals + └─ Software-protected keys Monthly cost depends on usage: $0.15 per 10K transactions + + OVERALL TOTAL $12,813.96 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 9 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultKey ┃ $12,814 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureKeyVaultKey ┃ $12,814 ┃ $0.00 ┃ $12,814 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden index 1a1862989e3..7abb680e01d 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden @@ -1,17 +1,20 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_key_vault_managed_hardware_security_module.my_module - └─ HSM pools 730 hours $3,540.50 - - OVERALL TOTAL $3,540.50 + Name Monthly Qty Unit Monthly Cost + + azurerm_key_vault_managed_hardware_security_module.my_module + └─ HSM pools 730 hours $3,540.50 + + OVERALL TOTAL $3,540.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 1 was estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultManagedHSMPools ┃ $3,541 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureKeyVaultManagedHSMPools ┃ $3,541 ┃ $0.00 ┃ $3,541 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden index 70fdf24a2ea..ca072df6146 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden @@ -1,61 +1,64 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_kubernetes_cluster_node_pool.Standard_DS2_v2 - └─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 1,460 hours $213.16 - - azurerm_kubernetes_cluster_node_pool.with_min_count - └─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 1,460 hours $213.16 - - azurerm_kubernetes_cluster_node_pool.windows_sku - ├─ Instance usage (Windows, pay as you go, Standard_DS2_v2) 730 hours $183.96 - └─ os_disk - └─ Storage (P10, LRS) 1 months $19.71 - - azurerm_kubernetes_cluster_node_pool.example - ├─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 730 hours $106.58 - └─ os_disk - └─ Storage (P10, LRS) 1 months $19.71 - - azurerm_kubernetes_cluster_node_pool.zero_min_count_default_node_count - ├─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 730 hours $106.58 - └─ os_disk - └─ Storage (P10, LRS) 1 months $19.71 - - azurerm_kubernetes_cluster.example - └─ default_node_pool - ├─ Instance usage (Linux, pay as you go, Standard_D2_v2) 730 hours $106.58 - └─ os_disk - └─ Storage (S10, LRS) 1 months $5.89 - - azurerm_kubernetes_cluster_node_pool.windows - ├─ Instance usage (Windows, pay as you go, Basic_A2) 730 hours $97.09 - └─ os_disk - └─ Storage (S10, LRS) 1 months $5.89 - - azurerm_kubernetes_cluster_node_pool.usage_basic_A2 - ├─ Instance usage (Linux, pay as you go, Basic_A2) 900 hours $71.10 - └─ os_disk - └─ Storage (S10, LRS) 2 months $11.78 - - azurerm_kubernetes_cluster_node_pool.non_premium - ├─ Instance usage (Linux, pay as you go, Standard_D2_v3) 730 hours $70.08 - └─ os_disk - └─ Storage (S10, LRS) 1 months $5.89 - - azurerm_kubernetes_cluster_node_pool.basic_A2 - ├─ Instance usage (Linux, pay as you go, Basic_A2) 730 hours $57.67 - └─ os_disk - └─ Storage (S10, LRS) 1 months $5.89 - - OVERALL TOTAL $1,320.42 + Name Monthly Qty Unit Monthly Cost + + azurerm_kubernetes_cluster_node_pool.Standard_DS2_v2 + └─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 1,460 hours $213.16 + + azurerm_kubernetes_cluster_node_pool.with_min_count + └─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 1,460 hours $213.16 + + azurerm_kubernetes_cluster_node_pool.windows_sku + ├─ Instance usage (Windows, pay as you go, Standard_DS2_v2) 730 hours $183.96 + └─ os_disk + └─ Storage (P10, LRS) 1 months $19.71 + + azurerm_kubernetes_cluster_node_pool.example + ├─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 730 hours $106.58 + └─ os_disk + └─ Storage (P10, LRS) 1 months $19.71 + + azurerm_kubernetes_cluster_node_pool.zero_min_count_default_node_count + ├─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 730 hours $106.58 + └─ os_disk + └─ Storage (P10, LRS) 1 months $19.71 + + azurerm_kubernetes_cluster.example + └─ default_node_pool + ├─ Instance usage (Linux, pay as you go, Standard_D2_v2) 730 hours $106.58 + └─ os_disk + └─ Storage (S10, LRS) 1 months $5.89 + + azurerm_kubernetes_cluster_node_pool.windows + ├─ Instance usage (Windows, pay as you go, Basic_A2) 730 hours $97.09 + └─ os_disk + └─ Storage (S10, LRS) 1 months $5.89 + + azurerm_kubernetes_cluster_node_pool.usage_basic_A2 + ├─ Instance usage (Linux, pay as you go, Basic_A2) 900 hours $71.10 + └─ os_disk + └─ Storage (S10, LRS) 2 months $11.78 + + azurerm_kubernetes_cluster_node_pool.non_premium + ├─ Instance usage (Linux, pay as you go, Standard_D2_v3) 730 hours $70.08 + └─ os_disk + └─ Storage (S10, LRS) 1 months $5.89 + + azurerm_kubernetes_cluster_node_pool.basic_A2 + ├─ Instance usage (Linux, pay as you go, Basic_A2) 730 hours $57.67 + └─ os_disk + └─ Storage (S10, LRS) 1 months $5.89 + + OVERALL TOTAL $1,320.42 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 11 cloud resources were detected: ∙ 10 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMKubernetesClusterNodePoolGoldenFile ┃ $1,320 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMKubernetesClusterNodePoolGoldenFile ┃ $1,320 ┃ $0.00 ┃ $1,320 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden index 1df6a91e1e4..499dac50ca7 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden @@ -1,57 +1,60 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_kubernetes_cluster.windows - ├─ Uptime SLA 730 hours $73.00 - └─ default_node_pool - ├─ Instance usage (Windows, pay as you go, Standard_D2_v2) 3,650 hours $919.80 - └─ os_disk - └─ Storage (S4, LRS) 5 months $7.68 - - azurerm_kubernetes_cluster.paid_5nc_32gb - ├─ Uptime SLA 730 hours $73.00 - └─ default_node_pool - ├─ Instance usage (Linux, pay as you go, Standard_D2_v2) 3,650 hours $532.90 - └─ os_disk - └─ Storage (S4, LRS) 5 months $7.68 - - azurerm_kubernetes_cluster.min_count - ├─ Uptime SLA 730 hours $73.00 - └─ default_node_pool - ├─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 2,190 hours $319.74 - └─ os_disk - └─ Storage (P10, LRS) 3 months $59.13 - - azurerm_kubernetes_cluster.paid_D2SV2_3nc_128gb - ├─ Uptime SLA 730 hours $73.00 - └─ default_node_pool - ├─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 2,190 hours $319.74 - └─ os_disk - └─ Storage (P10, LRS) 3 months $59.13 - - azurerm_kubernetes_cluster.usage_ephemeral - ├─ Uptime SLA 730 hours $73.00 - ├─ default_node_pool - │ └─ Instance usage (Linux, pay as you go, Standard_D2_v2) 900 hours $131.40 - ├─ Load Balancer - │ └─ Data processed 100 GB $0.50 - └─ DNS - └─ Hosted zone 1 months $0.50 - - azurerm_kubernetes_cluster.free_D2V2 - └─ default_node_pool - ├─ Instance usage (Linux, pay as you go, Standard_D2_v2) 730 hours $106.58 - └─ os_disk - └─ Storage (S10, LRS) 1 months $5.89 - + Name Monthly Qty Unit Monthly Cost + + azurerm_kubernetes_cluster.windows + ├─ Uptime SLA 730 hours $73.00 + └─ default_node_pool + ├─ Instance usage (Windows, pay as you go, Standard_D2_v2) 3,650 hours $919.80 + └─ os_disk + └─ Storage (S4, LRS) 5 months $7.68 + + azurerm_kubernetes_cluster.paid_5nc_32gb + ├─ Uptime SLA 730 hours $73.00 + └─ default_node_pool + ├─ Instance usage (Linux, pay as you go, Standard_D2_v2) 3,650 hours $532.90 + └─ os_disk + └─ Storage (S4, LRS) 5 months $7.68 + + azurerm_kubernetes_cluster.min_count + ├─ Uptime SLA 730 hours $73.00 + └─ default_node_pool + ├─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 2,190 hours $319.74 + └─ os_disk + └─ Storage (P10, LRS) 3 months $59.13 + + azurerm_kubernetes_cluster.paid_D2SV2_3nc_128gb + ├─ Uptime SLA 730 hours $73.00 + └─ default_node_pool + ├─ Instance usage (Linux, pay as you go, Standard_DS2_v2) 2,190 hours $319.74 + └─ os_disk + └─ Storage (P10, LRS) 3 months $59.13 + + azurerm_kubernetes_cluster.usage_ephemeral + ├─ Uptime SLA 730 hours $73.00 + ├─ default_node_pool + │ └─ Instance usage (Linux, pay as you go, Standard_D2_v2) 900 hours $131.40 + ├─ Load Balancer + │ └─ Data processed 100 GB $0.50 * + └─ DNS + └─ Hosted zone 1 months $0.50 + + azurerm_kubernetes_cluster.free_D2V2 + └─ default_node_pool + ├─ Instance usage (Linux, pay as you go, Standard_D2_v2) 730 hours $106.58 + └─ os_disk + └─ Storage (S10, LRS) 1 months $5.89 + OVERALL TOTAL $2,835.67 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 6 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMKubernetesClusterGoldenFile ┃ $2,836 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMKubernetesClusterGoldenFile ┃ $2,835 ┃ $0.50 ┃ $2,836 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden index 0a17407c6f3..22cdb3f6770 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden @@ -1,23 +1,26 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_lb_outbound_rule.rules - └─ Rule usage 730 hours $7.30 - - azurerm_public_ip.example - └─ IP address (static, regional) 730 hours $2.63 - - azurerm_lb.example - └─ Data processed Monthly cost depends on usage: $0.005 per GB - - OVERALL TOTAL $9.93 + Name Monthly Qty Unit Monthly Cost + + azurerm_lb_outbound_rule.rules + └─ Rule usage 730 hours $7.30 + + azurerm_public_ip.example + └─ IP address (static, regional) 730 hours $2.63 + + azurerm_lb.example + └─ Data processed Monthly cost depends on usage: $0.005 per GB + + OVERALL TOTAL $9.93 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 3 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerOutboundRuleGoldenFile ┃ $10 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMLoadBalancerOutboundRuleGoldenFile ┃ $10 ┃ $0.00 ┃ $10 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden index 91478f6bbe2..93e52ddab36 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden @@ -1,23 +1,26 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_lb_outbound_rule.rules - └─ Rule usage 730 hours $7.30 - - azurerm_public_ip.example - └─ IP address (static, regional) 730 hours $2.63 - - azurerm_lb.example - └─ Data processed Monthly cost depends on usage: $0.005 per GB - - OVERALL TOTAL $9.93 + Name Monthly Qty Unit Monthly Cost + + azurerm_lb_outbound_rule.rules + └─ Rule usage 730 hours $7.30 + + azurerm_public_ip.example + └─ IP address (static, regional) 730 hours $2.63 + + azurerm_lb.example + └─ Data processed Monthly cost depends on usage: $0.005 per GB + + OVERALL TOTAL $9.93 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 3 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerOutboundRuleV2GoldenFile ┃ $10 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMLoadBalancerOutboundRuleV2GoldenFile ┃ $10 ┃ $0.00 ┃ $10 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden index b3841402a48..4ff547a26cf 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_lb_rule.rules_withStandardSku - └─ Rule usage 730 hours $7.30 - - azurerm_public_ip.example_withBasicSku - └─ IP address (static, regional) 730 hours $2.63 - - azurerm_public_ip.example_withDefaultSku - └─ IP address (static, regional) 730 hours $2.63 - - azurerm_public_ip.example_withStandardSku - └─ IP address (static, regional) 730 hours $2.63 - - azurerm_lb.example_withStandardSku - └─ Data processed Monthly cost depends on usage: $0.005 per GB - - OVERALL TOTAL $15.18 + Name Monthly Qty Unit Monthly Cost + + azurerm_lb_rule.rules_withStandardSku + └─ Rule usage 730 hours $7.30 + + azurerm_public_ip.example_withBasicSku + └─ IP address (static, regional) 730 hours $2.63 + + azurerm_public_ip.example_withDefaultSku + └─ IP address (static, regional) 730 hours $2.63 + + azurerm_public_ip.example_withStandardSku + └─ IP address (static, regional) 730 hours $2.63 + + azurerm_lb.example_withStandardSku + └─ Data processed Monthly cost depends on usage: $0.005 per GB + + OVERALL TOTAL $15.18 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 5 were estimated ∙ 5 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerRuleGoldenFile ┃ $15 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMLoadBalancerRuleGoldenFile ┃ $15 ┃ $0.00 ┃ $15 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden index 0e74543b19a..2254457def7 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_lb_rule.rules_withStandardSku - └─ Rule usage 730 hours $7.30 - - azurerm_public_ip.example_withBasicSku - └─ IP address (static, regional) 730 hours $2.63 - - azurerm_public_ip.example_withDefaultSku - └─ IP address (static, regional) 730 hours $2.63 - - azurerm_public_ip.example_withStandardSku - └─ IP address (static, regional) 730 hours $2.63 - - azurerm_lb.example_withStandardSku - └─ Data processed Monthly cost depends on usage: $0.005 per GB - - OVERALL TOTAL $15.18 + Name Monthly Qty Unit Monthly Cost + + azurerm_lb_rule.rules_withStandardSku + └─ Rule usage 730 hours $7.30 + + azurerm_public_ip.example_withBasicSku + └─ IP address (static, regional) 730 hours $2.63 + + azurerm_public_ip.example_withDefaultSku + └─ IP address (static, regional) 730 hours $2.63 + + azurerm_public_ip.example_withStandardSku + └─ IP address (static, regional) 730 hours $2.63 + + azurerm_lb.example_withStandardSku + └─ Data processed Monthly cost depends on usage: $0.005 per GB + + OVERALL TOTAL $15.18 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 5 were estimated ∙ 5 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerRuleV2GoldenFile ┃ $15 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMLoadBalancerRuleV2GoldenFile ┃ $15 ┃ $0.00 ┃ $15 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden index e68937f985a..7b9768f06e4 100644 --- a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_lb.standard - └─ Data processed 100 GB $0.50 - - azurerm_lb.withoutUsage - └─ Data processed Monthly cost depends on usage: $0.005 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_lb.standard + └─ Data processed 100 GB $0.50 * + + azurerm_lb.withoutUsage + └─ Data processed Monthly cost depends on usage: $0.005 per GB + OVERALL TOTAL $0.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerGoldenFile ┃ $0.50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMLoadBalancerGoldenFile ┃ $0.00 ┃ $0.50 ┃ $0.50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden index 4e8c444cbf2..2d71d84d6c4 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_linux_virtual_machine_scale_set.basic_a2_usage - ├─ Instance usage (Linux, pay as you go, Basic_A2) 2,920 hours $230.68 - └─ os_disk - ├─ Storage (S4, LRS) 4 months $6.14 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_linux_virtual_machine_scale_set.basic_a2 - ├─ Instance usage (Linux, pay as you go, Basic_A2) 2,190 hours $173.01 - └─ os_disk - ├─ Storage (S4, LRS) 3 months $4.61 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - OVERALL TOTAL $414.44 + Name Monthly Qty Unit Monthly Cost + + azurerm_linux_virtual_machine_scale_set.basic_a2_usage + ├─ Instance usage (Linux, pay as you go, Basic_A2) 2,920 hours $230.68 + └─ os_disk + ├─ Storage (S4, LRS) 4 months $6.14 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_linux_virtual_machine_scale_set.basic_a2 + ├─ Instance usage (Linux, pay as you go, Basic_A2) 2,190 hours $173.01 + └─ os_disk + ├─ Storage (S4, LRS) 3 months $4.61 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + OVERALL TOTAL $414.44 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxVirtualMachineScaleSetGoldenFile ┃ $414 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMLinuxVirtualMachineScaleSetGoldenFile ┃ $414 ┃ $0.00 ┃ $414 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden index b1a98bec440..c06d6bcebd4 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden @@ -1,60 +1,63 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_linux_virtual_machine.standard_a2_v2_custom_disk - ├─ Instance usage (Linux, pay as you go, Standard_A2_v2) 730 hours $65.92 - └─ os_disk - ├─ Storage (E30, LRS) 1 months $76.80 - └─ Disk operations 2 10k operations $0.00 - - azurerm_linux_virtual_machine.standard_f2_lowercase - ├─ Instance usage (Linux, pay as you go, standard_f2) 730 hours $72.27 - └─ os_disk - └─ Storage (P4, LRS) 1 months $5.28 - - azurerm_linux_virtual_machine.standard_f2_premium_disk - ├─ Instance usage (Linux, pay as you go, Standard_F2) 730 hours $72.27 - └─ os_disk - └─ Storage (P4, LRS) 1 months $5.28 - - azurerm_linux_virtual_machine.standard_a2_ultra_enabled - ├─ Instance usage (Linux, pay as you go, Standard_A2_v2) 730 hours $65.92 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU - └─ os_disk - ├─ Storage (E4, LRS) 1 months $2.40 - └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations - - azurerm_linux_virtual_machine.basic_a2 - ├─ Instance usage (Linux, pay as you go, Basic_A2) 730 hours $57.67 - └─ os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_linux_virtual_machine.basic_b1 - ├─ Instance usage (Linux, pay as you go, Standard_B1s) 730 hours $7.59 - └─ os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_linux_virtual_machine.basic_b1_lowercase - ├─ Instance usage (Linux, pay as you go, standard_b1s) 730 hours $7.59 - └─ os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_linux_virtual_machine.basic_b1_withMonthlyHours - ├─ Instance usage (Linux, pay as you go, Standard_B1s) 100 hours $1.04 - └─ os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_linux_virtual_machine.standard_a2_v2_custom_disk + ├─ Instance usage (Linux, pay as you go, Standard_A2_v2) 730 hours $65.92 + └─ os_disk + ├─ Storage (E30, LRS) 1 months $76.80 + └─ Disk operations 2 10k operations $0.00 * + + azurerm_linux_virtual_machine.standard_f2_lowercase + ├─ Instance usage (Linux, pay as you go, standard_f2) 730 hours $72.27 + └─ os_disk + └─ Storage (P4, LRS) 1 months $5.28 + + azurerm_linux_virtual_machine.standard_f2_premium_disk + ├─ Instance usage (Linux, pay as you go, Standard_F2) 730 hours $72.27 + └─ os_disk + └─ Storage (P4, LRS) 1 months $5.28 + + azurerm_linux_virtual_machine.standard_a2_ultra_enabled + ├─ Instance usage (Linux, pay as you go, Standard_A2_v2) 730 hours $65.92 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU + └─ os_disk + ├─ Storage (E4, LRS) 1 months $2.40 + └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations + + azurerm_linux_virtual_machine.basic_a2 + ├─ Instance usage (Linux, pay as you go, Basic_A2) 730 hours $57.67 + └─ os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_linux_virtual_machine.basic_b1 + ├─ Instance usage (Linux, pay as you go, Standard_B1s) 730 hours $7.59 + └─ os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_linux_virtual_machine.basic_b1_lowercase + ├─ Instance usage (Linux, pay as you go, standard_b1s) 730 hours $7.59 + └─ os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_linux_virtual_machine.basic_b1_withMonthlyHours + ├─ Instance usage (Linux, pay as you go, Standard_B1s) 100 hours $1.04 + └─ os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + OVERALL TOTAL $446.18 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxVirtualMachineGoldenFile ┃ $446 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMLinuxVirtualMachineGoldenFile ┃ $446 ┃ $0.00 ┃ $446 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden index 78dcae89798..989370014d1 100644 --- a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden @@ -1,119 +1,122 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.capacity_sentinel_data_ingestion - ├─ Log data ingestion 30 100 GB (per day) $7,585.20 - ├─ Sentinel data ingestion 30 100 GB (per day) $7,585.20 - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.capacity_gb_data_ingestion - ├─ Log data ingestion 30 100 GB (per day) $7,585.20 - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.per_gb_sentinel_data_ingestion_with_usage - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion 40 GB $119.60 - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.per_gb_data_ingestion - ├─ Log data ingestion 20 GB $59.80 - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.per_gb_basic_data_ingestion_with_usage - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion 50 GB $32.50 - ├─ Basic log search queries 60 GB searched $0.39 - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.archive_data_with_usage - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data 70 GB $1.82 - ├─ Archive data restored 80 GB $10.40 - └─ Archive data searched 90 GB $0.59 - - azurerm_log_analytics_workspace.log_data_export - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export 40 GB $5.20 - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.log_data_retention_with_usage - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data retention 30 GB $3.90 - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.capacity_gb_data_ingestion_without_specification - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.log_data_retention_free - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.log_data_retention_without_usage - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data retention Monthly cost depends on usage: $0.13 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.per_gb_sentinel_data_ingestion - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.capacity_sentinel_data_ingestion + ├─ Log data ingestion 30 100 GB (per day) $7,585.20 + ├─ Sentinel data ingestion 30 100 GB (per day) $7,585.20 + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.capacity_gb_data_ingestion + ├─ Log data ingestion 30 100 GB (per day) $7,585.20 + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.per_gb_sentinel_data_ingestion_with_usage + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion 40 GB $119.60 * + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.per_gb_data_ingestion + ├─ Log data ingestion 20 GB $59.80 * + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.per_gb_basic_data_ingestion_with_usage + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion 50 GB $32.50 * + ├─ Basic log search queries 60 GB searched $0.39 * + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.archive_data_with_usage + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data 70 GB $1.82 * + ├─ Archive data restored 80 GB $10.40 * + └─ Archive data searched 90 GB $0.59 * + + azurerm_log_analytics_workspace.log_data_export + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export 40 GB $5.20 * + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.log_data_retention_with_usage + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data retention 30 GB $3.90 * + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.capacity_gb_data_ingestion_without_specification + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.log_data_retention_free + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.log_data_retention_without_usage + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data retention Monthly cost depends on usage: $0.13 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.per_gb_sentinel_data_ingestion + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + OVERALL TOTAL $22,989.80 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 22 cloud resources were detected: ∙ 12 were estimated @@ -121,11 +124,11 @@ ∙ 4 are not supported yet, see https://infracost.io/requested-resources: ∙ 4 x azurerm_log_analytics_workspace -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLogAnalyticsWorkspaceGoldenFile ┃ $22,990 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLogAnalyticsWorkspaceGoldenFile ┃ $22,756 ┃ $234 ┃ $22,990 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["PerNode"] as it uses legacy pricing options diff --git a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden index 2bd6e7a2f15..ccd03a8f644 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_logic_app_integration_account.example["Standard"] - └─ Integration Account (Standard) 730 hours $1,000.00 - - azurerm_logic_app_integration_account.example["Basic"] - └─ Integration Account (Basic) 730 hours $300.00 - - OVERALL TOTAL $1,300.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_logic_app_integration_account.example["Standard"] + └─ Integration Account (Standard) 730 hours $1,000.00 + + azurerm_logic_app_integration_account.example["Basic"] + └─ Integration Account (Basic) 730 hours $300.00 + + OVERALL TOTAL $1,300.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLogicAppIntegrationAccount ┃ $1,300 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLogicAppIntegrationAccount ┃ $1,300 ┃ $0.00 ┃ $1,300 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden index b31158cce63..10d4ada8d9e 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden @@ -1,58 +1,61 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_logic_app_standard.logic_app_standard_unknown_sku_with_usage - ├─ Workflow vCore (WS1) 1 vCore $143.96 - ├─ Workflow memory (WS1) 3.5 GB $36.03 - ├─ Standard connectors 2,000,000 calls $250.00 - └─ Enterprise connectors 1,000,000 calls $1,000.00 - - azurerm_logic_app_standard.logic_app_standard_with_usage - ├─ Workflow vCore (WS1) 1 vCore $143.96 - ├─ Workflow memory (WS1) 3.5 GB $36.03 - ├─ Standard connectors 2,000,000 calls $250.00 - └─ Enterprise connectors 1,000,000 calls $1,000.00 - - azurerm_logic_app_standard.logic_app_standard["WS3"] - ├─ Workflow vCore (WS3) 4 vCore $575.82 - ├─ Workflow memory (WS3) 14 GB $144.10 - ├─ Standard connectors Monthly cost depends on usage: $0.000125 per calls - └─ Enterprise connectors Monthly cost depends on usage: $0.001 per calls - - azurerm_logic_app_standard.logic_app_standard["WS2"] - ├─ Workflow vCore (WS2) 2 vCore $287.91 - ├─ Workflow memory (WS2) 7 GB $72.05 - ├─ Standard connectors Monthly cost depends on usage: $0.000125 per calls - └─ Enterprise connectors Monthly cost depends on usage: $0.001 per calls - - azurerm_logic_app_standard.logic_app_standard["WS1"] - ├─ Workflow vCore (WS1) 1 vCore $143.96 - ├─ Workflow memory (WS1) 3.5 GB $36.03 - ├─ Standard connectors Monthly cost depends on usage: $0.000125 per calls - └─ Enterprise connectors Monthly cost depends on usage: $0.001 per calls - - azurerm_logic_app_standard.logic_app_standard_unknown_sku - ├─ Workflow vCore (unknown SKU) Monthly cost depends on usage: $143.96 per vCore - ├─ Workflow memory (unknown SKU) Monthly cost depends on usage: $10.29 per GB - ├─ Standard connectors Monthly cost depends on usage: $0.000125 per calls - └─ Enterprise connectors Monthly cost depends on usage: $0.001 per calls - - azurerm_storage_account.storage_account - ├─ Capacity Monthly cost depends on usage: $0.0196 per GB - ├─ Write operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - + Name Monthly Qty Unit Monthly Cost + + azurerm_logic_app_standard.logic_app_standard_unknown_sku_with_usage + ├─ Workflow vCore (WS1) 1 vCore $143.96 + ├─ Workflow memory (WS1) 3.5 GB $36.03 + ├─ Standard connectors 2,000,000 calls $250.00 * + └─ Enterprise connectors 1,000,000 calls $1,000.00 * + + azurerm_logic_app_standard.logic_app_standard_with_usage + ├─ Workflow vCore (WS1) 1 vCore $143.96 + ├─ Workflow memory (WS1) 3.5 GB $36.03 + ├─ Standard connectors 2,000,000 calls $250.00 * + └─ Enterprise connectors 1,000,000 calls $1,000.00 * + + azurerm_logic_app_standard.logic_app_standard["WS3"] + ├─ Workflow vCore (WS3) 4 vCore $575.82 + ├─ Workflow memory (WS3) 14 GB $144.10 + ├─ Standard connectors Monthly cost depends on usage: $0.000125 per calls + └─ Enterprise connectors Monthly cost depends on usage: $0.001 per calls + + azurerm_logic_app_standard.logic_app_standard["WS2"] + ├─ Workflow vCore (WS2) 2 vCore $287.91 + ├─ Workflow memory (WS2) 7 GB $72.05 + ├─ Standard connectors Monthly cost depends on usage: $0.000125 per calls + └─ Enterprise connectors Monthly cost depends on usage: $0.001 per calls + + azurerm_logic_app_standard.logic_app_standard["WS1"] + ├─ Workflow vCore (WS1) 1 vCore $143.96 + ├─ Workflow memory (WS1) 3.5 GB $36.03 + ├─ Standard connectors Monthly cost depends on usage: $0.000125 per calls + └─ Enterprise connectors Monthly cost depends on usage: $0.001 per calls + + azurerm_logic_app_standard.logic_app_standard_unknown_sku + ├─ Workflow vCore (unknown SKU) Monthly cost depends on usage: $143.96 per vCore + ├─ Workflow memory (unknown SKU) Monthly cost depends on usage: $10.29 per GB + ├─ Standard connectors Monthly cost depends on usage: $0.000125 per calls + └─ Enterprise connectors Monthly cost depends on usage: $0.001 per calls + + azurerm_storage_account.storage_account + ├─ Capacity Monthly cost depends on usage: $0.0196 per GB + ├─ Write operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + OVERALL TOTAL $4,119.83 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 11 cloud resources were detected: ∙ 7 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLogicAppStandard ┃ $4,120 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLogicAppStandard ┃ $1,620 ┃ $2,500 ┃ $4,120 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden index 687073dcd50..464a4815178 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden @@ -1,238 +1,241 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_machine_learning_compute_cluster.example["Standard_NV24.16"] - └─ Instance usage (Linux, pay as you go, Standard_NV24) 11,680 hours $63,772.80 - - azurerm_machine_learning_compute_cluster.example["Standard_NC24.16"] - └─ Instance usage (Linux, pay as you go, Standard_NC24) 11,680 hours $54,498.88 - - azurerm_machine_learning_compute_cluster.example["Standard_NV12.16"] - └─ Instance usage (Linux, pay as you go, Standard_NV12) 11,680 hours $31,886.40 - - azurerm_machine_learning_compute_cluster.example["Standard_NV24.8"] - └─ Instance usage (Linux, pay as you go, Standard_NV24) 5,840 hours $31,886.40 - - azurerm_machine_learning_compute_cluster.example["Standard_NC12.16"] - └─ Instance usage (Linux, pay as you go, Standard_NC12) 11,680 hours $27,249.44 - - azurerm_machine_learning_compute_cluster.example["Standard_NC24.8"] - └─ Instance usage (Linux, pay as you go, Standard_NC24) 5,840 hours $27,249.44 - - azurerm_machine_learning_compute_cluster.example["Standard_NV12.8"] - └─ Instance usage (Linux, pay as you go, Standard_NV12) 5,840 hours $15,943.20 - - azurerm_machine_learning_compute_cluster.example["Standard_NV24.4"] - └─ Instance usage (Linux, pay as you go, Standard_NV24) 2,920 hours $15,943.20 - - azurerm_machine_learning_compute_cluster.example["Standard_NV6.16"] - └─ Instance usage (Linux, pay as you go, Standard_NV6) 11,680 hours $15,943.20 - - azurerm_machine_learning_compute_cluster.example["Standard_E16s_v3.16"] - └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 11,680 hours $14,950.40 - - azurerm_machine_learning_compute_cluster.example["Standard_NC12.8"] - └─ Instance usage (Linux, pay as you go, Standard_NC12) 5,840 hours $13,624.72 - - azurerm_machine_learning_compute_cluster.example["Standard_NC24.4"] - └─ Instance usage (Linux, pay as you go, Standard_NC24) 2,920 hours $13,624.72 - - azurerm_machine_learning_compute_cluster.example["Standard_NC6.16"] - └─ Instance usage (Linux, pay as you go, Standard_NC6) 11,680 hours $13,618.88 - - azurerm_machine_learning_compute_cluster.example["Standard_D16s_v3.16"] - └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 11,680 hours $11,212.80 - - azurerm_machine_learning_compute_cluster.example["Standard_F16s_v2.16"] - └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 11,680 hours $9,063.68 - - azurerm_machine_learning_compute_cluster.example["Standard_NV12.4"] - └─ Instance usage (Linux, pay as you go, Standard_NV12) 2,920 hours $7,971.60 - - azurerm_machine_learning_compute_cluster.example["Standard_NV6.8"] - └─ Instance usage (Linux, pay as you go, Standard_NV6) 5,840 hours $7,971.60 - - azurerm_machine_learning_compute_cluster.example["Standard_E16s_v3.8"] - └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 5,840 hours $7,475.20 - - azurerm_machine_learning_compute_cluster.example["Standard_E8s_v3.16"] - └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 11,680 hours $7,475.20 - - azurerm_machine_learning_compute_cluster.example["Standard_NC12.4"] - └─ Instance usage (Linux, pay as you go, Standard_NC12) 2,920 hours $6,812.36 - - azurerm_machine_learning_compute_cluster.example["Standard_NC6.8"] - └─ Instance usage (Linux, pay as you go, Standard_NC6) 5,840 hours $6,809.44 - - azurerm_machine_learning_compute_cluster.example["Standard_D16s_v3.8"] - └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 5,840 hours $5,606.40 - - azurerm_machine_learning_compute_cluster.example["Standard_D8s_v3.16"] - └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 11,680 hours $5,606.40 - - azurerm_machine_learning_compute_cluster.example["Standard_F16s_v2.8"] - └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 5,840 hours $4,531.84 - - azurerm_machine_learning_compute_cluster.example["Standard_F8s_v2.16"] - └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 11,680 hours $4,531.84 - - azurerm_machine_learning_compute_cluster.example["Standard_DS12_v2.16"] - └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 11,680 hours $4,426.72 - - azurerm_machine_learning_compute_cluster.example["Standard_NV24.1"] - └─ Instance usage (Linux, pay as you go, Standard_NV24) 730 hours $3,985.80 - - azurerm_machine_learning_compute_cluster.example["Standard_NV6.4"] - └─ Instance usage (Linux, pay as you go, Standard_NV6) 2,920 hours $3,985.80 - - azurerm_machine_learning_compute_cluster.example["Standard_E16s_v3.4"] - └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 2,920 hours $3,737.60 - - azurerm_machine_learning_compute_cluster.example["Standard_E4s_v3.16"] - └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 11,680 hours $3,737.60 - - azurerm_machine_learning_compute_cluster.example["Standard_E8s_v3.8"] - └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 5,840 hours $3,737.60 - - azurerm_machine_learning_compute_cluster.example["Standard_NC24.1"] - └─ Instance usage (Linux, pay as you go, Standard_NC24) 730 hours $3,406.18 - - azurerm_machine_learning_compute_cluster.example["Standard_NC6.4"] - └─ Instance usage (Linux, pay as you go, Standard_NC6) 2,920 hours $3,404.72 - - azurerm_machine_learning_compute_cluster.example["Standard_D16s_v3.4"] - └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 2,920 hours $2,803.20 - - azurerm_machine_learning_compute_cluster.example["Standard_D4s_v3.16"] - └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 11,680 hours $2,803.20 - - azurerm_machine_learning_compute_cluster.example["Standard_D8s_v3.8"] - └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 5,840 hours $2,803.20 - - azurerm_machine_learning_compute_cluster.example["Standard_F16s_v2.4"] - └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 2,920 hours $2,265.92 - - azurerm_machine_learning_compute_cluster.example["Standard_F4s_v2.16"] - └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 11,680 hours $2,265.92 - - azurerm_machine_learning_compute_cluster.example["Standard_F8s_v2.8"] - └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 5,840 hours $2,265.92 - - azurerm_machine_learning_compute_cluster.example["Standard_DS12_v2.8"] - └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 5,840 hours $2,213.36 - - azurerm_machine_learning_compute_cluster.example["Standard_NV12.1"] - └─ Instance usage (Linux, pay as you go, Standard_NV12) 730 hours $1,992.90 - - azurerm_machine_learning_compute_cluster.example["Standard_E4s_v3.8"] - └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 5,840 hours $1,868.80 - - azurerm_machine_learning_compute_cluster.example["Standard_E8s_v3.4"] - └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 2,920 hours $1,868.80 - - azurerm_machine_learning_compute_cluster.example["Standard_NC12.1"] - └─ Instance usage (Linux, pay as you go, Standard_NC12) 730 hours $1,703.09 - - azurerm_machine_learning_compute_cluster.example["Standard_D2s_v3.16"] - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 11,680 hours $1,401.60 - - azurerm_machine_learning_compute_cluster.example["Standard_D4s_v3.8"] - └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 5,840 hours $1,401.60 - - azurerm_machine_learning_compute_cluster.example["Standard_D8s_v3.4"] - └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 2,920 hours $1,401.60 - - azurerm_machine_learning_compute_cluster.example["Standard_F4s_v2.8"] - └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 5,840 hours $1,132.96 - - azurerm_machine_learning_compute_cluster.example["Standard_F8s_v2.4"] - └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 2,920 hours $1,132.96 - - azurerm_machine_learning_compute_cluster.example["Standard_DS12_v2.4"] - └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 2,920 hours $1,106.68 - - azurerm_machine_learning_compute_cluster.example["Standard_NV6.1"] - └─ Instance usage (Linux, pay as you go, Standard_NV6) 730 hours $996.45 - - azurerm_machine_learning_compute_cluster.example["Standard_E16s_v3.1"] - └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 730 hours $934.40 - - azurerm_machine_learning_compute_cluster.example["Standard_E4s_v3.4"] - └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 2,920 hours $934.40 - - azurerm_machine_learning_compute_cluster.with_instances - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 7,300 hours $876.00 - - azurerm_machine_learning_compute_cluster.example["Standard_NC6.1"] - └─ Instance usage (Linux, pay as you go, Standard_NC6) 730 hours $851.18 - - azurerm_machine_learning_compute_cluster.example["Standard_D16s_v3.1"] - └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 730 hours $700.80 - - azurerm_machine_learning_compute_cluster.example["Standard_D2s_v3.8"] - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 5,840 hours $700.80 - - azurerm_machine_learning_compute_cluster.example["Standard_D4s_v3.4"] - └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 2,920 hours $700.80 - - azurerm_machine_learning_compute_cluster.example["Standard_F16s_v2.1"] - └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 730 hours $566.48 - - azurerm_machine_learning_compute_cluster.example["Standard_F4s_v2.4"] - └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 2,920 hours $566.48 - - azurerm_machine_learning_compute_cluster.example["Standard_E8s_v3.1"] - └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 730 hours $467.20 - - azurerm_machine_learning_compute_cluster.example["Standard_D2s_v3.4"] - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 2,920 hours $350.40 - - azurerm_machine_learning_compute_cluster.example["Standard_D8s_v3.1"] - └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 730 hours $350.40 - - azurerm_machine_learning_compute_cluster.example["Standard_F8s_v2.1"] - └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 730 hours $283.24 - - azurerm_machine_learning_compute_cluster.example["Standard_DS12_v2.1"] - └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 730 hours $276.67 - - azurerm_machine_learning_compute_cluster.example["Standard_E4s_v3.1"] - └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 730 hours $233.60 - - azurerm_machine_learning_compute_cluster.example["Standard_D4s_v3.1"] - └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 730 hours $175.20 - - azurerm_machine_learning_compute_cluster.example["Standard_F4s_v2.1"] - └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 730 hours $141.62 - - azurerm_machine_learning_compute_cluster.example["Standard_D2s_v3.1"] - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 730 hours $87.60 - - azurerm_machine_learning_compute_cluster.with_monthly_hrs - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 200 hours $24.00 - - azurerm_machine_learning_compute_cluster.with_monthly_hrs_zero_min_node_count - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 100 hours $12.00 - - azurerm_machine_learning_compute_cluster.with_instances_and_monthly_hrs - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 20 hours $2.40 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.0392 per GB - ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.075 per 10k tags - - OVERALL TOTAL $498,345.89 + Name Monthly Qty Unit Monthly Cost + + azurerm_machine_learning_compute_cluster.example["Standard_NV24.16"] + └─ Instance usage (Linux, pay as you go, Standard_NV24) 11,680 hours $63,772.80 + + azurerm_machine_learning_compute_cluster.example["Standard_NC24.16"] + └─ Instance usage (Linux, pay as you go, Standard_NC24) 11,680 hours $54,498.88 + + azurerm_machine_learning_compute_cluster.example["Standard_NV12.16"] + └─ Instance usage (Linux, pay as you go, Standard_NV12) 11,680 hours $31,886.40 + + azurerm_machine_learning_compute_cluster.example["Standard_NV24.8"] + └─ Instance usage (Linux, pay as you go, Standard_NV24) 5,840 hours $31,886.40 + + azurerm_machine_learning_compute_cluster.example["Standard_NC12.16"] + └─ Instance usage (Linux, pay as you go, Standard_NC12) 11,680 hours $27,249.44 + + azurerm_machine_learning_compute_cluster.example["Standard_NC24.8"] + └─ Instance usage (Linux, pay as you go, Standard_NC24) 5,840 hours $27,249.44 + + azurerm_machine_learning_compute_cluster.example["Standard_NV12.8"] + └─ Instance usage (Linux, pay as you go, Standard_NV12) 5,840 hours $15,943.20 + + azurerm_machine_learning_compute_cluster.example["Standard_NV24.4"] + └─ Instance usage (Linux, pay as you go, Standard_NV24) 2,920 hours $15,943.20 + + azurerm_machine_learning_compute_cluster.example["Standard_NV6.16"] + └─ Instance usage (Linux, pay as you go, Standard_NV6) 11,680 hours $15,943.20 + + azurerm_machine_learning_compute_cluster.example["Standard_E16s_v3.16"] + └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 11,680 hours $14,950.40 + + azurerm_machine_learning_compute_cluster.example["Standard_NC12.8"] + └─ Instance usage (Linux, pay as you go, Standard_NC12) 5,840 hours $13,624.72 + + azurerm_machine_learning_compute_cluster.example["Standard_NC24.4"] + └─ Instance usage (Linux, pay as you go, Standard_NC24) 2,920 hours $13,624.72 + + azurerm_machine_learning_compute_cluster.example["Standard_NC6.16"] + └─ Instance usage (Linux, pay as you go, Standard_NC6) 11,680 hours $13,618.88 + + azurerm_machine_learning_compute_cluster.example["Standard_D16s_v3.16"] + └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 11,680 hours $11,212.80 + + azurerm_machine_learning_compute_cluster.example["Standard_F16s_v2.16"] + └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 11,680 hours $9,063.68 + + azurerm_machine_learning_compute_cluster.example["Standard_NV12.4"] + └─ Instance usage (Linux, pay as you go, Standard_NV12) 2,920 hours $7,971.60 + + azurerm_machine_learning_compute_cluster.example["Standard_NV6.8"] + └─ Instance usage (Linux, pay as you go, Standard_NV6) 5,840 hours $7,971.60 + + azurerm_machine_learning_compute_cluster.example["Standard_E16s_v3.8"] + └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 5,840 hours $7,475.20 + + azurerm_machine_learning_compute_cluster.example["Standard_E8s_v3.16"] + └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 11,680 hours $7,475.20 + + azurerm_machine_learning_compute_cluster.example["Standard_NC12.4"] + └─ Instance usage (Linux, pay as you go, Standard_NC12) 2,920 hours $6,812.36 + + azurerm_machine_learning_compute_cluster.example["Standard_NC6.8"] + └─ Instance usage (Linux, pay as you go, Standard_NC6) 5,840 hours $6,809.44 + + azurerm_machine_learning_compute_cluster.example["Standard_D16s_v3.8"] + └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 5,840 hours $5,606.40 + + azurerm_machine_learning_compute_cluster.example["Standard_D8s_v3.16"] + └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 11,680 hours $5,606.40 + + azurerm_machine_learning_compute_cluster.example["Standard_F16s_v2.8"] + └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 5,840 hours $4,531.84 + + azurerm_machine_learning_compute_cluster.example["Standard_F8s_v2.16"] + └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 11,680 hours $4,531.84 + + azurerm_machine_learning_compute_cluster.example["Standard_DS12_v2.16"] + └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 11,680 hours $4,426.72 + + azurerm_machine_learning_compute_cluster.example["Standard_NV24.1"] + └─ Instance usage (Linux, pay as you go, Standard_NV24) 730 hours $3,985.80 + + azurerm_machine_learning_compute_cluster.example["Standard_NV6.4"] + └─ Instance usage (Linux, pay as you go, Standard_NV6) 2,920 hours $3,985.80 + + azurerm_machine_learning_compute_cluster.example["Standard_E16s_v3.4"] + └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 2,920 hours $3,737.60 + + azurerm_machine_learning_compute_cluster.example["Standard_E4s_v3.16"] + └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 11,680 hours $3,737.60 + + azurerm_machine_learning_compute_cluster.example["Standard_E8s_v3.8"] + └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 5,840 hours $3,737.60 + + azurerm_machine_learning_compute_cluster.example["Standard_NC24.1"] + └─ Instance usage (Linux, pay as you go, Standard_NC24) 730 hours $3,406.18 + + azurerm_machine_learning_compute_cluster.example["Standard_NC6.4"] + └─ Instance usage (Linux, pay as you go, Standard_NC6) 2,920 hours $3,404.72 + + azurerm_machine_learning_compute_cluster.example["Standard_D16s_v3.4"] + └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 2,920 hours $2,803.20 + + azurerm_machine_learning_compute_cluster.example["Standard_D4s_v3.16"] + └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 11,680 hours $2,803.20 + + azurerm_machine_learning_compute_cluster.example["Standard_D8s_v3.8"] + └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 5,840 hours $2,803.20 + + azurerm_machine_learning_compute_cluster.example["Standard_F16s_v2.4"] + └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 2,920 hours $2,265.92 + + azurerm_machine_learning_compute_cluster.example["Standard_F4s_v2.16"] + └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 11,680 hours $2,265.92 + + azurerm_machine_learning_compute_cluster.example["Standard_F8s_v2.8"] + └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 5,840 hours $2,265.92 + + azurerm_machine_learning_compute_cluster.example["Standard_DS12_v2.8"] + └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 5,840 hours $2,213.36 + + azurerm_machine_learning_compute_cluster.example["Standard_NV12.1"] + └─ Instance usage (Linux, pay as you go, Standard_NV12) 730 hours $1,992.90 + + azurerm_machine_learning_compute_cluster.example["Standard_E4s_v3.8"] + └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 5,840 hours $1,868.80 + + azurerm_machine_learning_compute_cluster.example["Standard_E8s_v3.4"] + └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 2,920 hours $1,868.80 + + azurerm_machine_learning_compute_cluster.example["Standard_NC12.1"] + └─ Instance usage (Linux, pay as you go, Standard_NC12) 730 hours $1,703.09 + + azurerm_machine_learning_compute_cluster.example["Standard_D2s_v3.16"] + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 11,680 hours $1,401.60 + + azurerm_machine_learning_compute_cluster.example["Standard_D4s_v3.8"] + └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 5,840 hours $1,401.60 + + azurerm_machine_learning_compute_cluster.example["Standard_D8s_v3.4"] + └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 2,920 hours $1,401.60 + + azurerm_machine_learning_compute_cluster.example["Standard_F4s_v2.8"] + └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 5,840 hours $1,132.96 + + azurerm_machine_learning_compute_cluster.example["Standard_F8s_v2.4"] + └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 2,920 hours $1,132.96 + + azurerm_machine_learning_compute_cluster.example["Standard_DS12_v2.4"] + └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 2,920 hours $1,106.68 + + azurerm_machine_learning_compute_cluster.example["Standard_NV6.1"] + └─ Instance usage (Linux, pay as you go, Standard_NV6) 730 hours $996.45 + + azurerm_machine_learning_compute_cluster.example["Standard_E16s_v3.1"] + └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 730 hours $934.40 + + azurerm_machine_learning_compute_cluster.example["Standard_E4s_v3.4"] + └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 2,920 hours $934.40 + + azurerm_machine_learning_compute_cluster.with_instances + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 7,300 hours $876.00 + + azurerm_machine_learning_compute_cluster.example["Standard_NC6.1"] + └─ Instance usage (Linux, pay as you go, Standard_NC6) 730 hours $851.18 + + azurerm_machine_learning_compute_cluster.example["Standard_D16s_v3.1"] + └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 730 hours $700.80 + + azurerm_machine_learning_compute_cluster.example["Standard_D2s_v3.8"] + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 5,840 hours $700.80 + + azurerm_machine_learning_compute_cluster.example["Standard_D4s_v3.4"] + └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 2,920 hours $700.80 + + azurerm_machine_learning_compute_cluster.example["Standard_F16s_v2.1"] + └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 730 hours $566.48 + + azurerm_machine_learning_compute_cluster.example["Standard_F4s_v2.4"] + └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 2,920 hours $566.48 + + azurerm_machine_learning_compute_cluster.example["Standard_E8s_v3.1"] + └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 730 hours $467.20 + + azurerm_machine_learning_compute_cluster.example["Standard_D2s_v3.4"] + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 2,920 hours $350.40 + + azurerm_machine_learning_compute_cluster.example["Standard_D8s_v3.1"] + └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 730 hours $350.40 + + azurerm_machine_learning_compute_cluster.example["Standard_F8s_v2.1"] + └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 730 hours $283.24 + + azurerm_machine_learning_compute_cluster.example["Standard_DS12_v2.1"] + └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 730 hours $276.67 + + azurerm_machine_learning_compute_cluster.example["Standard_E4s_v3.1"] + └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 730 hours $233.60 + + azurerm_machine_learning_compute_cluster.example["Standard_D4s_v3.1"] + └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 730 hours $175.20 + + azurerm_machine_learning_compute_cluster.example["Standard_F4s_v2.1"] + └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 730 hours $141.62 + + azurerm_machine_learning_compute_cluster.example["Standard_D2s_v3.1"] + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 730 hours $87.60 + + azurerm_machine_learning_compute_cluster.with_monthly_hrs + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 200 hours $24.00 + + azurerm_machine_learning_compute_cluster.with_monthly_hrs_zero_min_node_count + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 100 hours $12.00 + + azurerm_machine_learning_compute_cluster.with_instances_and_monthly_hrs + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 20 hours $2.40 + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.0392 per GB + ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.075 per 10k tags + + OVERALL TOTAL $498,345.89 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 92 cloud resources were detected: ∙ 90 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMachineLearningComputeCluster ┃ $498,346 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMachineLearningComputeCluster ┃ $498,346 ┃ $0.00 ┃ $498,346 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden index 3f0eaf751aa..f6707cd50cc 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden @@ -1,76 +1,79 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_machine_learning_compute_instance.example["Standard_NV24"] - └─ Instance usage (Linux, pay as you go, Standard_NV24) 730 hours $3,985.80 - - azurerm_machine_learning_compute_instance.example["Standard_NC24"] - └─ Instance usage (Linux, pay as you go, Standard_NC24) 730 hours $3,406.18 - - azurerm_machine_learning_compute_instance.example["Standard_NV12"] - └─ Instance usage (Linux, pay as you go, Standard_NV12) 730 hours $1,992.90 - - azurerm_machine_learning_compute_instance.example["Standard_NC12"] - └─ Instance usage (Linux, pay as you go, Standard_NC12) 730 hours $1,703.09 - - azurerm_machine_learning_compute_instance.example["Standard_NV6"] - └─ Instance usage (Linux, pay as you go, Standard_NV6) 730 hours $996.45 - - azurerm_machine_learning_compute_instance.example["Standard_E16s_v3"] - └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 730 hours $934.40 - - azurerm_machine_learning_compute_instance.example["Standard_NC6"] - └─ Instance usage (Linux, pay as you go, Standard_NC6) 730 hours $851.18 - - azurerm_machine_learning_compute_instance.example["Standard_D16s_v3"] - └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 730 hours $700.80 - - azurerm_machine_learning_compute_instance.example["Standard_F16s_v2"] - └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 730 hours $566.48 - - azurerm_machine_learning_compute_instance.example["Standard_E8s_v3"] - └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 730 hours $467.20 - - azurerm_machine_learning_compute_instance.example["Standard_D8s_v3"] - └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 730 hours $350.40 - - azurerm_machine_learning_compute_instance.example["Standard_F8s_v2"] - └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 730 hours $283.24 - - azurerm_machine_learning_compute_instance.example["Standard_DS12_v2"] - └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 730 hours $276.67 - - azurerm_machine_learning_compute_instance.example["Standard_E4s_v3"] - └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 730 hours $233.60 - - azurerm_machine_learning_compute_instance.example["Standard_D4s_v3"] - └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 730 hours $175.20 - - azurerm_machine_learning_compute_instance.example["Standard_F4s_v2"] - └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 730 hours $141.62 - - azurerm_machine_learning_compute_instance.example["Standard_D2s_v3"] - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 730 hours $87.60 - - azurerm_machine_learning_compute_instance.with_monthly_hrs - └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 100 hours $12.00 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.0392 per GB - ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.075 per 10k tags - - OVERALL TOTAL $17,164.81 + Name Monthly Qty Unit Monthly Cost + + azurerm_machine_learning_compute_instance.example["Standard_NV24"] + └─ Instance usage (Linux, pay as you go, Standard_NV24) 730 hours $3,985.80 + + azurerm_machine_learning_compute_instance.example["Standard_NC24"] + └─ Instance usage (Linux, pay as you go, Standard_NC24) 730 hours $3,406.18 + + azurerm_machine_learning_compute_instance.example["Standard_NV12"] + └─ Instance usage (Linux, pay as you go, Standard_NV12) 730 hours $1,992.90 + + azurerm_machine_learning_compute_instance.example["Standard_NC12"] + └─ Instance usage (Linux, pay as you go, Standard_NC12) 730 hours $1,703.09 + + azurerm_machine_learning_compute_instance.example["Standard_NV6"] + └─ Instance usage (Linux, pay as you go, Standard_NV6) 730 hours $996.45 + + azurerm_machine_learning_compute_instance.example["Standard_E16s_v3"] + └─ Instance usage (Linux, pay as you go, Standard_E16s_v3) 730 hours $934.40 + + azurerm_machine_learning_compute_instance.example["Standard_NC6"] + └─ Instance usage (Linux, pay as you go, Standard_NC6) 730 hours $851.18 + + azurerm_machine_learning_compute_instance.example["Standard_D16s_v3"] + └─ Instance usage (Linux, pay as you go, Standard_D16s_v3) 730 hours $700.80 + + azurerm_machine_learning_compute_instance.example["Standard_F16s_v2"] + └─ Instance usage (Linux, pay as you go, Standard_F16s_v2) 730 hours $566.48 + + azurerm_machine_learning_compute_instance.example["Standard_E8s_v3"] + └─ Instance usage (Linux, pay as you go, Standard_E8s_v3) 730 hours $467.20 + + azurerm_machine_learning_compute_instance.example["Standard_D8s_v3"] + └─ Instance usage (Linux, pay as you go, Standard_D8s_v3) 730 hours $350.40 + + azurerm_machine_learning_compute_instance.example["Standard_F8s_v2"] + └─ Instance usage (Linux, pay as you go, Standard_F8s_v2) 730 hours $283.24 + + azurerm_machine_learning_compute_instance.example["Standard_DS12_v2"] + └─ Instance usage (Linux, pay as you go, Standard_DS12_v2) 730 hours $276.67 + + azurerm_machine_learning_compute_instance.example["Standard_E4s_v3"] + └─ Instance usage (Linux, pay as you go, Standard_E4s_v3) 730 hours $233.60 + + azurerm_machine_learning_compute_instance.example["Standard_D4s_v3"] + └─ Instance usage (Linux, pay as you go, Standard_D4s_v3) 730 hours $175.20 + + azurerm_machine_learning_compute_instance.example["Standard_F4s_v2"] + └─ Instance usage (Linux, pay as you go, Standard_F4s_v2) 730 hours $141.62 + + azurerm_machine_learning_compute_instance.example["Standard_D2s_v3"] + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 730 hours $87.60 + + azurerm_machine_learning_compute_instance.with_monthly_hrs + └─ Instance usage (Linux, pay as you go, Standard_D2s_v3) 100 hours $12.00 + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.0392 per GB + ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.075 per 10k tags + + OVERALL TOTAL $17,164.81 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 21 cloud resources were detected: ∙ 19 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMachineLearningComputeInstance ┃ $17,165 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMachineLearningComputeInstance ┃ $17,165 ┃ $0.00 ┃ $17,165 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden index bc27b1e52d7..6ae0bdc7ce8 100644 --- a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden +++ b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden @@ -1,29 +1,32 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_managed_disk.ultra - ├─ Storage (ultra, 2048 GiB) 2,048 GiB $245.19 - ├─ Provisioned IOPS 4,000 IOPS $198.56 - └─ Throughput 20 MB/s $6.99 - - azurerm_managed_disk.custom_size_ssd - ├─ Storage (E30, LRS) 1 months $76.80 - └─ Disk operations 2 10k operations $0.00 - - azurerm_managed_disk.premium - └─ Storage (P4, LRS) 1 months $5.28 - - azurerm_managed_disk.standard - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_managed_disk.ultra + ├─ Storage (ultra, 2048 GiB) 2,048 GiB $245.19 + ├─ Provisioned IOPS 4,000 IOPS $198.56 + └─ Throughput 20 MB/s $6.99 + + azurerm_managed_disk.custom_size_ssd + ├─ Storage (E30, LRS) 1 months $76.80 + └─ Disk operations 2 10k operations $0.00 * + + azurerm_managed_disk.premium + └─ Storage (P4, LRS) 1 months $5.28 + + azurerm_managed_disk.standard + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + OVERALL TOTAL $534.36 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMManagedDiskGoldenFile ┃ $534 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMManagedDiskGoldenFile ┃ $534 ┃ $0.00 ┃ $534 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden index f525f1a66ec..b082468a60f 100644 --- a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden @@ -1,39 +1,42 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_mariadb_server.without_geo - ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 - ├─ Storage 5 GB $0.58 - └─ Additional backup storage 2,000 GB $200.00 - - azurerm_mariadb_server.mo_16core - ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 - ├─ Storage 5 GB $0.58 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - azurerm_mariadb_server.with_geo - ├─ Compute (GP_Gen5_4) 730 hours $255.79 - ├─ Storage 4,000 GB $460.00 - └─ Additional backup storage 3,000 GB $600.00 - - azurerm_mariadb_server.gp_4core - ├─ Compute (GP_Gen5_4) 730 hours $255.79 - ├─ Storage 4,000 GB $460.00 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - azurerm_mariadb_server.basic_2core - ├─ Compute (B_Gen5_2) 730 hours $49.64 - ├─ Storage 5 GB $0.50 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - OVERALL TOTAL $5,041.69 + Name Monthly Qty Unit Monthly Cost + + azurerm_mariadb_server.without_geo + ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 + ├─ Storage 5 GB $0.58 + └─ Additional backup storage 2,000 GB $200.00 + + azurerm_mariadb_server.mo_16core + ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 + ├─ Storage 5 GB $0.58 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + azurerm_mariadb_server.with_geo + ├─ Compute (GP_Gen5_4) 730 hours $255.79 + ├─ Storage 4,000 GB $460.00 + └─ Additional backup storage 3,000 GB $600.00 + + azurerm_mariadb_server.gp_4core + ├─ Compute (GP_Gen5_4) 730 hours $255.79 + ├─ Storage 4,000 GB $460.00 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + azurerm_mariadb_server.basic_2core + ├─ Compute (B_Gen5_2) 730 hours $49.64 + ├─ Storage 5 GB $0.50 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + OVERALL TOTAL $5,041.69 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 5 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMariaDBServer ┃ $5,042 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMariaDBServer ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden index b0a3a459dd9..a51505f3953 100644 --- a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden @@ -1,54 +1,57 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_monitor_action_group.partial_example["with_usage"] - ├─ Web hooks (1) 16,000 notifications $0.10 - ├─ SMS messages - │ ├─ Country code 1 (1) 16,000 messages $103.20 - │ └─ Country code 34 (1) 16,000 messages $1,408.00 - └─ Voice calls - ├─ Country code 64 (1) 16,000 calls $1,280.00 - └─ Country code 86 (1) 16,000 calls $960.00 - - azurerm_monitor_action_group.everything_example["with_usage"] - ├─ Email notifications (2) 26,000 emails $0.52 - ├─ ITSM connectors (1) 13,000 events $65.00 - ├─ Push notifications (1) 13,000 notifications $0.26 - ├─ Secure web hooks (1) 13,000 notifications $0.78 - ├─ Web hooks (2) 26,000 notifications $0.16 - ├─ SMS messages - │ └─ Country code 1 (1) 13,000 messages $83.85 - └─ Voice calls - └─ Country code 86 (1) 13,000 calls $780.00 - - azurerm_monitor_action_group.everything_example["without_usage"] - ├─ Email notifications (2) Monthly cost depends on usage: $0.00002 per emails - ├─ ITSM connectors (1) Monthly cost depends on usage: $0.005 per events - ├─ Push notifications (1) Monthly cost depends on usage: $0.00002 per notifications - ├─ Secure web hooks (1) Monthly cost depends on usage: $0.00006 per notifications - ├─ Web hooks (2) Monthly cost depends on usage: $0.000006 per notifications - ├─ SMS messages - │ └─ Country code 1 (1) Monthly cost depends on usage: $0.00645 per messages - └─ Voice calls - └─ Country code 86 (1) Monthly cost depends on usage: $0.06 per calls - - azurerm_monitor_action_group.partial_example["without_usage"] - ├─ Web hooks (1) Monthly cost depends on usage: $0.000006 per notifications - ├─ SMS messages - │ ├─ Country code 1 (1) Monthly cost depends on usage: $0.00645 per messages - │ └─ Country code 34 (1) Monthly cost depends on usage: $0.088 per messages - └─ Voice calls - ├─ Country code 64 (1) Monthly cost depends on usage: $0.08 per calls - └─ Country code 86 (1) Monthly cost depends on usage: $0.06 per calls - + Name Monthly Qty Unit Monthly Cost + + azurerm_monitor_action_group.partial_example["with_usage"] + ├─ Web hooks (1) 16,000 notifications $0.10 * + ├─ SMS messages + │ ├─ Country code 1 (1) 16,000 messages $103.20 * + │ └─ Country code 34 (1) 16,000 messages $1,408.00 * + └─ Voice calls + ├─ Country code 64 (1) 16,000 calls $1,280.00 * + └─ Country code 86 (1) 16,000 calls $960.00 * + + azurerm_monitor_action_group.everything_example["with_usage"] + ├─ Email notifications (2) 26,000 emails $0.52 * + ├─ ITSM connectors (1) 13,000 events $65.00 * + ├─ Push notifications (1) 13,000 notifications $0.26 * + ├─ Secure web hooks (1) 13,000 notifications $0.78 * + ├─ Web hooks (2) 26,000 notifications $0.16 * + ├─ SMS messages + │ └─ Country code 1 (1) 13,000 messages $83.85 * + └─ Voice calls + └─ Country code 86 (1) 13,000 calls $780.00 * + + azurerm_monitor_action_group.everything_example["without_usage"] + ├─ Email notifications (2) Monthly cost depends on usage: $0.00002 per emails + ├─ ITSM connectors (1) Monthly cost depends on usage: $0.005 per events + ├─ Push notifications (1) Monthly cost depends on usage: $0.00002 per notifications + ├─ Secure web hooks (1) Monthly cost depends on usage: $0.00006 per notifications + ├─ Web hooks (2) Monthly cost depends on usage: $0.000006 per notifications + ├─ SMS messages + │ └─ Country code 1 (1) Monthly cost depends on usage: $0.00645 per messages + └─ Voice calls + └─ Country code 86 (1) Monthly cost depends on usage: $0.06 per calls + + azurerm_monitor_action_group.partial_example["without_usage"] + ├─ Web hooks (1) Monthly cost depends on usage: $0.000006 per notifications + ├─ SMS messages + │ ├─ Country code 1 (1) Monthly cost depends on usage: $0.00645 per messages + │ └─ Country code 34 (1) Monthly cost depends on usage: $0.088 per messages + └─ Voice calls + ├─ Country code 64 (1) Monthly cost depends on usage: $0.08 per calls + └─ Country code 86 (1) Monthly cost depends on usage: $0.06 per calls + OVERALL TOTAL $4,681.86 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMonitorActionGroup ┃ $4,682 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMonitorActionGroup ┃ $0.00 ┃ $4,682 ┃ $4,682 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden index 5e16fd6692c..cc7d3e899fb 100644 --- a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_monitor_data_collection_rule.example["with_usage"] - └─ Metrics ingestion 10.56 10M samples $1.69 - - azurerm_monitor_data_collection_rule.example["without_usage"] - └─ Metrics ingestion Monthly cost depends on usage: $0.16 per 10M samples - + Name Monthly Qty Unit Monthly Cost + + azurerm_monitor_data_collection_rule.example["with_usage"] + └─ Metrics ingestion 10.56 10M samples $1.69 * + + azurerm_monitor_data_collection_rule.example["without_usage"] + └─ Metrics ingestion Monthly cost depends on usage: $0.16 per 10M samples + OVERALL TOTAL $1.69 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMonitorDataCollectionRule ┃ $2 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMonitorDataCollectionRule ┃ $0.00 ┃ $2 ┃ $2 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden index ab68cf1f510..759b3271db7 100644 --- a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_monitor_diagnostic_setting.example_with_usage - └─ Platform logs processed 1,000 GB $325.00 - - azurerm_monitor_diagnostic_setting.example - └─ Platform logs processed Monthly cost depends on usage: $0.33 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_monitor_diagnostic_setting.example_with_usage + └─ Platform logs processed 1,000 GB $325.00 * + + azurerm_monitor_diagnostic_setting.example + └─ Platform logs processed Monthly cost depends on usage: $0.33 per GB + OVERALL TOTAL $325.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 3 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMonitorDiagnosticSetting ┃ $325 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMonitorDiagnosticSetting ┃ $0.00 ┃ $325 ┃ $325 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden index e4c8525f2c7..f6732d137a0 100644 --- a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_monitor_metric_alert.example-dynamic-multi - ├─ Metrics monitoring 4 time-series $0.40 - └─ Dynamic threshold monitoring 4 time-series $0.40 - - azurerm_monitor_metric_alert.example-multi - └─ Metrics monitoring 8 time-series $0.80 - - azurerm_monitor_metric_alert.example-dynamic - ├─ Metrics monitoring 1 time-series $0.10 - └─ Dynamic threshold monitoring 1 time-series $0.10 - - azurerm_monitor_metric_alert.example-single - └─ Metrics monitoring 1 time-series $0.10 - - OVERALL TOTAL $1.90 + Name Monthly Qty Unit Monthly Cost + + azurerm_monitor_metric_alert.example-dynamic-multi + ├─ Metrics monitoring 4 time-series $0.40 + └─ Dynamic threshold monitoring 4 time-series $0.40 + + azurerm_monitor_metric_alert.example-multi + └─ Metrics monitoring 8 time-series $0.80 + + azurerm_monitor_metric_alert.example-dynamic + ├─ Metrics monitoring 1 time-series $0.10 + └─ Dynamic threshold monitoring 1 time-series $0.10 + + azurerm_monitor_metric_alert.example-single + └─ Metrics monitoring 1 time-series $0.10 + + OVERALL TOTAL $1.90 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 6 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMonitorMetricAlert ┃ $2 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMonitorMetricAlert ┃ $2 ┃ $0.00 ┃ $2 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden index 79ddefd265d..bb16d375e3d 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden @@ -1,26 +1,29 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_monitor_scheduled_query_rules_alert.example_freq_5["5"] - └─ Log alerts monitoring (5 minute frequency) 1 rule $1.50 - - azurerm_monitor_scheduled_query_rules_alert.example_freq_5["11"] - └─ Log alerts monitoring (10 minute frequency) 1 rule $1.00 - - azurerm_monitor_scheduled_query_rules_alert.example_freq_5["15"] - └─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 - - azurerm_monitor_scheduled_query_rules_alert.example_freq_5["60"] - └─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 - - OVERALL TOTAL $3.50 + Name Monthly Qty Unit Monthly Cost + + azurerm_monitor_scheduled_query_rules_alert.example_freq_5["5"] + └─ Log alerts monitoring (5 minute frequency) 1 rule $1.50 + + azurerm_monitor_scheduled_query_rules_alert.example_freq_5["11"] + └─ Log alerts monitoring (10 minute frequency) 1 rule $1.00 + + azurerm_monitor_scheduled_query_rules_alert.example_freq_5["15"] + └─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 + + azurerm_monitor_scheduled_query_rules_alert.example_freq_5["60"] + └─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 + + OVERALL TOTAL $3.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 5 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMonitorScheduledQueryRulesAlert ┃ $4 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMonitorScheduledQueryRulesAlert ┃ $4 ┃ $0.00 ┃ $4 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden index 84234980d4d..978bec9d797 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden @@ -1,49 +1,52 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["PT1M"] - ├─ Log alerts monitoring (1 minute frequency) 1 rule $3.00 - └─ Additional time-series monitoring (1 minute frequency) 3 time-series $0.90 - - azurerm_monitor_scheduled_query_rules_alert_v2.example["PT1M"] - └─ Log alerts monitoring (1 minute frequency) 1 rule $3.00 - - azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["PT5M"] - ├─ Log alerts monitoring (5 minute frequency) 1 rule $1.50 - └─ Additional time-series monitoring (5 minute frequency) 3 time-series $0.45 - - azurerm_monitor_scheduled_query_rules_alert_v2.example["PT5M"] - └─ Log alerts monitoring (5 minute frequency) 1 rule $1.50 - - azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["PT10M"] - ├─ Log alerts monitoring (10 minute frequency) 1 rule $1.00 - └─ Additional time-series monitoring (10 minute frequency) 3 time-series $0.30 - - azurerm_monitor_scheduled_query_rules_alert_v2.example["PT10M"] - └─ Log alerts monitoring (10 minute frequency) 1 rule $1.00 - - azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["P1D"] - ├─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 - └─ Additional time-series monitoring (15 minute frequency) 3 time-series $0.15 - - azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["PT15M"] - ├─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 - └─ Additional time-series monitoring (15 minute frequency) 3 time-series $0.15 - - azurerm_monitor_scheduled_query_rules_alert_v2.example["P1D"] - └─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 - - azurerm_monitor_scheduled_query_rules_alert_v2.example["PT15M"] - └─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 - - OVERALL TOTAL $14.95 + Name Monthly Qty Unit Monthly Cost + + azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["PT1M"] + ├─ Log alerts monitoring (1 minute frequency) 1 rule $3.00 + └─ Additional time-series monitoring (1 minute frequency) 3 time-series $0.90 + + azurerm_monitor_scheduled_query_rules_alert_v2.example["PT1M"] + └─ Log alerts monitoring (1 minute frequency) 1 rule $3.00 + + azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["PT5M"] + ├─ Log alerts monitoring (5 minute frequency) 1 rule $1.50 + └─ Additional time-series monitoring (5 minute frequency) 3 time-series $0.45 + + azurerm_monitor_scheduled_query_rules_alert_v2.example["PT5M"] + └─ Log alerts monitoring (5 minute frequency) 1 rule $1.50 + + azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["PT10M"] + ├─ Log alerts monitoring (10 minute frequency) 1 rule $1.00 + └─ Additional time-series monitoring (10 minute frequency) 3 time-series $0.30 + + azurerm_monitor_scheduled_query_rules_alert_v2.example["PT10M"] + └─ Log alerts monitoring (10 minute frequency) 1 rule $1.00 + + azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["P1D"] + ├─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 + └─ Additional time-series monitoring (15 minute frequency) 3 time-series $0.15 + + azurerm_monitor_scheduled_query_rules_alert_v2.example-multi["PT15M"] + ├─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 + └─ Additional time-series monitoring (15 minute frequency) 3 time-series $0.15 + + azurerm_monitor_scheduled_query_rules_alert_v2.example["P1D"] + └─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 + + azurerm_monitor_scheduled_query_rules_alert_v2.example["PT15M"] + └─ Log alerts monitoring (15 minute frequency) 1 rule $0.50 + + OVERALL TOTAL $14.95 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 11 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMonitorScheduledQueryRulesAlertV2 ┃ $15 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMonitorScheduledQueryRulesAlertV2 ┃ $15 ┃ $0.00 ┃ $15 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden index d3868304832..aa90903311e 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden @@ -1,132 +1,135 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_mssql_database.business_critical_m - ├─ Compute (provisioned, BC_M_8) 730 hours $9,804.08 - ├─ SQL license 5,840 vCore-hours $2,190.00 - ├─ Storage 50 GB $12.50 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.standard12 - ├─ Compute (S12) 730 hours $4,415.59 - ├─ Extra data storage 250 GB $42.50 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.business_critical_gen - ├─ Compute (provisioned, BC_Gen5_8) 730 hours $1,777.90 - ├─ SQL license 5,840 vCore-hours $2,190.00 - ├─ Storage 10 GB $2.50 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.premium6 - ├─ Compute (P6) 730 hours $3,650.00 - ├─ Extra data storage 500 GB $170.00 - ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.general_purpose_gen_zone - ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 - ├─ Zone redundancy (provisioned, GP_Gen5_4) 730 hours $266.68 - ├─ SQL license 2,920 vCore-hours $291.90 - ├─ Storage 5 GB $1.15 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.hyperscale_gen_with_replicas - ├─ Compute (provisioned, HS_Gen5_2) 730 hours $266.68 - ├─ Read replicas 1,460 hours $533.37 - ├─ SQL license 1,460 vCore-hours $145.95 - └─ Storage 5 GB $1.25 - - azurerm_mssql_database.backup_default - ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 - ├─ SQL license 2,920 vCore-hours $291.90 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 - └─ PITR backup storage (RA-GRS) 500 GB $100.00 - - azurerm_mssql_database.backup_geo - ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 - ├─ SQL license 2,920 vCore-hours $291.90 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 - └─ PITR backup storage (RA-GRS) 500 GB $100.00 - - azurerm_mssql_database.backup_zone - ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 - ├─ SQL license 2,920 vCore-hours $291.90 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (ZRS) 1,000 GB $31.30 - └─ PITR backup storage (ZRS) 500 GB $62.50 - - azurerm_mssql_database.backup_local - ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 - ├─ SQL license 2,920 vCore-hours $291.90 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (LRS) 1,000 GB $25.00 - └─ PITR backup storage (LRS) 500 GB $50.00 - - azurerm_mssql_database.general_purpose_gen - ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 - ├─ SQL license 2,920 vCore-hours $291.90 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.general_purpose_gen_without_license - ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.hyperscale_gen - ├─ Compute (provisioned, HS_Gen5_2) 730 hours $266.68 - ├─ Read replicas Monthly cost depends on usage: $0.37 per hours - ├─ SQL license 1,460 vCore-hours $145.95 - └─ Storage 100 GB $25.00 - - azurerm_mssql_database.serverless - ├─ Compute (serverless, GP_S_Gen5_4) 500 vCore-hours $260.88 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.standard1 - ├─ Compute (S1) 730 hours $29.43 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.serverless_zone - ├─ Compute (serverless, GP_S_Gen5_4) Monthly cost depends on usage: $0.52 per vCore-hours - ├─ Zone redundancy (serverless, GP_S_Gen5_4) Monthly cost depends on usage: $0.31 per vCore-hours - ├─ Storage 5 GB $1.15 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.blank_sku - ├─ Compute (serverless, GP_S_Gen5_2) Monthly cost depends on usage: $0.52 per vCore-hours - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_mssql_database.elastic_pool - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_mssql_database.business_critical_m + ├─ Compute (provisioned, BC_M_8) 730 hours $9,804.08 + ├─ SQL license 5,840 vCore-hours $2,190.00 + ├─ Storage 50 GB $12.50 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.standard12 + ├─ Compute (S12) 730 hours $4,415.59 + ├─ Extra data storage 250 GB $42.50 * + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.business_critical_gen + ├─ Compute (provisioned, BC_Gen5_8) 730 hours $1,777.90 + ├─ SQL license 5,840 vCore-hours $2,190.00 + ├─ Storage 10 GB $2.50 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.premium6 + ├─ Compute (P6) 730 hours $3,650.00 + ├─ Extra data storage 500 GB $170.00 * + ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 * + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.general_purpose_gen_zone + ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 + ├─ Zone redundancy (provisioned, GP_Gen5_4) 730 hours $266.68 + ├─ SQL license 2,920 vCore-hours $291.90 + ├─ Storage 5 GB $1.15 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.hyperscale_gen_with_replicas + ├─ Compute (provisioned, HS_Gen5_2) 730 hours $266.68 + ├─ Read replicas 1,460 hours $533.37 + ├─ SQL license 1,460 vCore-hours $145.95 + └─ Storage 5 GB $1.25 + + azurerm_mssql_database.backup_default + ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 + ├─ SQL license 2,920 vCore-hours $291.90 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 * + └─ PITR backup storage (RA-GRS) 500 GB $100.00 * + + azurerm_mssql_database.backup_geo + ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 + ├─ SQL license 2,920 vCore-hours $291.90 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 * + └─ PITR backup storage (RA-GRS) 500 GB $100.00 * + + azurerm_mssql_database.backup_zone + ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 + ├─ SQL license 2,920 vCore-hours $291.90 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (ZRS) 1,000 GB $31.30 * + └─ PITR backup storage (ZRS) 500 GB $62.50 * + + azurerm_mssql_database.backup_local + ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 + ├─ SQL license 2,920 vCore-hours $291.90 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (LRS) 1,000 GB $25.00 * + └─ PITR backup storage (LRS) 500 GB $50.00 * + + azurerm_mssql_database.general_purpose_gen + ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 + ├─ SQL license 2,920 vCore-hours $291.90 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.general_purpose_gen_without_license + ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.hyperscale_gen + ├─ Compute (provisioned, HS_Gen5_2) 730 hours $266.68 + ├─ Read replicas Monthly cost depends on usage: $0.37 per hours + ├─ SQL license 1,460 vCore-hours $145.95 + └─ Storage 100 GB $25.00 + + azurerm_mssql_database.serverless + ├─ Compute (serverless, GP_S_Gen5_4) 500 vCore-hours $260.88 * + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.standard1 + ├─ Compute (S1) 730 hours $29.43 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.serverless_zone + ├─ Compute (serverless, GP_S_Gen5_4) Monthly cost depends on usage: $0.52 per vCore-hours + ├─ Zone redundancy (serverless, GP_S_Gen5_4) Monthly cost depends on usage: $0.31 per vCore-hours + ├─ Storage 5 GB $1.15 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.blank_sku + ├─ Compute (serverless, GP_S_Gen5_2) Monthly cost depends on usage: $0.52 per vCore-hours + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_mssql_database.elastic_pool + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + OVERALL TOTAL $31,585.37 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 20 cloud resources were detected: ∙ 18 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMSSQLDatabase ┃ $31,585 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMSSQLDatabase ┃ $30,593 ┃ $992 ┃ $31,585 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_8)' due to limitations in the Azure API. diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden index a54c37c6009..fb66698dd8c 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden @@ -1,22 +1,25 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_mssql_database.blank_server_location - ├─ Compute (S3) 730 hours $147.18 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - OVERALL TOTAL $147.18 + Name Monthly Qty Unit Monthly Cost + + azurerm_mssql_database.blank_server_location + ├─ Compute (S3) 730 hours $147.18 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + OVERALL TOTAL $147.18 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 1 was estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMSSQLDatabaseWithBlankLocation ┃ $147 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMSSQLDatabaseWithBlankLocation ┃ $147 ┃ $0.00 ┃ $147 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Using eastus for resource azurerm_mssql_database.blank_server_location as its 'location' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden index 7ec38048283..f0fd989dad4 100644 --- a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden @@ -1,53 +1,56 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_mssql_elasticpool.bc_dc - ├─ Compute (BC_DC, 8 vCore) 730 hours $4,622.36 - ├─ SQL license 5,840 vCore-hours $2,190.00 - └─ Storage 100 GB $29.75 - - azurerm_mssql_elasticpool.bc_dc_zone_redundant - ├─ Compute (BC_DC, 8 vCore) 730 hours $4,622.36 - ├─ SQL license 5,840 vCore-hours $2,190.00 - └─ Storage 100 GB $29.75 - - azurerm_mssql_elasticpool.premium_500 - ├─ Compute (Premium, 500 DTUs) 730 hours $2,737.50 - └─ Extra data storage 274 GB $121.11 - - azurerm_mssql_elasticpool.gp_gen5_zone_redundant - ├─ Compute (GP_Gen5, 4 vCore) 730 hours $488.92 - ├─ Zone redundancy (GP_Gen5, 4 vCore) 730 hours $293.35 - ├─ SQL license 2,920 vCore-hours $291.90 - └─ Storage 100 GB $27.40 - - azurerm_mssql_elasticpool.gp_gen5 - ├─ Compute (GP_Gen5, 4 vCore) 730 hours $488.92 - ├─ SQL license 2,920 vCore-hours $291.90 - └─ Storage 100 GB $13.69 - - azurerm_mssql_elasticpool.gp_gen5_zone_no_license - ├─ Compute (GP_Gen5, 4 vCore) 730 hours $488.92 - └─ Storage 100 GB $13.69 - - azurerm_mssql_elasticpool.standard_200 - ├─ Compute (Standard, 200 DTUs) 730 hours $441.04 - └─ Extra data storage 100 GB $22.10 - - azurerm_mssql_elasticpool.basic_100 - └─ Compute (Basic, 100 DTUs) 730 hours $147.22 - + Name Monthly Qty Unit Monthly Cost + + azurerm_mssql_elasticpool.bc_dc + ├─ Compute (BC_DC, 8 vCore) 730 hours $4,622.36 + ├─ SQL license 5,840 vCore-hours $2,190.00 + └─ Storage 100 GB $29.75 + + azurerm_mssql_elasticpool.bc_dc_zone_redundant + ├─ Compute (BC_DC, 8 vCore) 730 hours $4,622.36 + ├─ SQL license 5,840 vCore-hours $2,190.00 + └─ Storage 100 GB $29.75 + + azurerm_mssql_elasticpool.premium_500 + ├─ Compute (Premium, 500 DTUs) 730 hours $2,737.50 + └─ Extra data storage 274 GB $121.11 * + + azurerm_mssql_elasticpool.gp_gen5_zone_redundant + ├─ Compute (GP_Gen5, 4 vCore) 730 hours $488.92 + ├─ Zone redundancy (GP_Gen5, 4 vCore) 730 hours $293.35 + ├─ SQL license 2,920 vCore-hours $291.90 + └─ Storage 100 GB $27.40 + + azurerm_mssql_elasticpool.gp_gen5 + ├─ Compute (GP_Gen5, 4 vCore) 730 hours $488.92 + ├─ SQL license 2,920 vCore-hours $291.90 + └─ Storage 100 GB $13.69 + + azurerm_mssql_elasticpool.gp_gen5_zone_no_license + ├─ Compute (GP_Gen5, 4 vCore) 730 hours $488.92 + └─ Storage 100 GB $13.69 + + azurerm_mssql_elasticpool.standard_200 + ├─ Compute (Standard, 200 DTUs) 730 hours $441.04 + └─ Extra data storage 100 GB $22.10 * + + azurerm_mssql_elasticpool.basic_100 + └─ Compute (Basic, 100 DTUs) 730 hours $147.22 + OVERALL TOTAL $19,551.88 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 8 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMSSQLElasticPool ┃ $19,552 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMSSQLElasticPool ┃ $19,409 ┃ $143 ┃ $19,552 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN 'Multiple products found' are safe to ignore for 'Compute (BC_DC, 8 vCore)' due to limitations in the Azure API. diff --git a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden index 0cd1e959faa..2336bcf8b48 100644 --- a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden @@ -1,33 +1,36 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_mssql_managed_instance.example3 - ├─ Compute (BC_GEN5 40 cores) 730 hours $9,778.47 - ├─ Additional Storage 32 GB $4.38 - ├─ PITR backup storage (ZRS) 100 GB $14.90 - └─ LTR backup storage (ZRS) 100 GB $3.72 - - azurerm_mssql_managed_instance.example2 - ├─ Compute (GP_GEN5 16 cores) 730 hours $1,955.69 - ├─ Additional Storage 32 GB $4.38 - ├─ PITR backup storage (LRS) Monthly cost depends on usage: $0.12 per GB - └─ LTR backup storage (LRS) Monthly cost depends on usage: $0.0298 per GB - - azurerm_mssql_managed_instance.example - ├─ Compute (GP_GEN5 4 cores) 730 hours $488.92 - ├─ Additional Storage 32 GB $4.38 - ├─ PITR backup storage (LRS) 100 GB $11.90 - ├─ SQL license 2,920 vCore-hours $291.90 - └─ LTR backup storage (LRS) 5 GB $0.15 - + Name Monthly Qty Unit Monthly Cost + + azurerm_mssql_managed_instance.example3 + ├─ Compute (BC_GEN5 40 cores) 730 hours $9,778.47 + ├─ Additional Storage 32 GB $4.38 + ├─ PITR backup storage (ZRS) 100 GB $14.90 * + └─ LTR backup storage (ZRS) 100 GB $3.72 * + + azurerm_mssql_managed_instance.example2 + ├─ Compute (GP_GEN5 16 cores) 730 hours $1,955.69 + ├─ Additional Storage 32 GB $4.38 + ├─ PITR backup storage (LRS) Monthly cost depends on usage: $0.12 per GB + └─ LTR backup storage (LRS) Monthly cost depends on usage: $0.0298 per GB + + azurerm_mssql_managed_instance.example + ├─ Compute (GP_GEN5 4 cores) 730 hours $488.92 + ├─ Additional Storage 32 GB $4.38 + ├─ PITR backup storage (LRS) 100 GB $11.90 * + ├─ SQL license 2,920 vCore-hours $291.90 + └─ LTR backup storage (LRS) 5 GB $0.15 * + OVERALL TOTAL $12,558.78 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 3 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMSSQLManagedInstance ┃ $12,559 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMSSQLManagedInstance ┃ $12,528 ┃ $31 ┃ $12,559 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden index d93ce83d335..db47db01d5a 100644 --- a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden @@ -1,40 +1,43 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_mysql_flexible_server.non_usage_gp - ├─ Compute (GP_Standard_D16ds_v4) 730 hours $1,138.80 - ├─ Storage 20 GB $2.76 - └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - - azurerm_mysql_flexible_server.mo - ├─ Compute (MO_Standard_E4ds_v4) 730 hours $382.52 - ├─ Storage 20 GB $2.76 - ├─ Additional IOPS 140 IOPS $8.40 - └─ Additional backup storage 3,000 GB $285.00 - - azurerm_mysql_flexible_server.gp - ├─ Compute (GP_Standard_D4ds_v4) 730 hours $284.70 - ├─ Storage 20 GB $2.76 - └─ Additional backup storage 2,000 GB $190.00 - - azurerm_mysql_flexible_server.gp_dXads - ├─ Compute (GP_Standard_D2ads_v5) 730 hours $142.35 - ├─ Storage 20 GB $2.76 - └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - - azurerm_mysql_flexible_server.burstable - ├─ Compute (B_Standard_B1ms) 730 hours $16.06 - ├─ Storage 30 GB $4.14 - └─ Additional backup storage 1,000 GB $95.00 - + Name Monthly Qty Unit Monthly Cost + + azurerm_mysql_flexible_server.non_usage_gp + ├─ Compute (GP_Standard_D16ds_v4) 730 hours $1,138.80 + ├─ Storage 20 GB $2.76 + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + + azurerm_mysql_flexible_server.mo + ├─ Compute (MO_Standard_E4ds_v4) 730 hours $382.52 + ├─ Storage 20 GB $2.76 + ├─ Additional IOPS 140 IOPS $8.40 + └─ Additional backup storage 3,000 GB $285.00 * + + azurerm_mysql_flexible_server.gp + ├─ Compute (GP_Standard_D4ds_v4) 730 hours $284.70 + ├─ Storage 20 GB $2.76 + └─ Additional backup storage 2,000 GB $190.00 * + + azurerm_mysql_flexible_server.gp_dXads + ├─ Compute (GP_Standard_D2ads_v5) 730 hours $142.35 + ├─ Storage 20 GB $2.76 + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + + azurerm_mysql_flexible_server.burstable + ├─ Compute (B_Standard_B1ms) 730 hours $16.06 + ├─ Storage 30 GB $4.14 + └─ Additional backup storage 1,000 GB $95.00 * + OVERALL TOTAL $2,558.01 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 5 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMySQLFlexibleServer ┃ $2,558 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMySQLFlexibleServer ┃ $1,988 ┃ $570 ┃ $2,558 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden index 427e3020661..c72a1f396ed 100644 --- a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden @@ -1,42 +1,45 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_mysql_server.without_geo - ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 - ├─ Storage 5 GB $0.58 - └─ Additional backup storage 2,000 GB $200.00 - - azurerm_mysql_server.mo_16core - ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 - ├─ Storage 5 GB $0.58 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - azurerm_mysql_server.with_geo - ├─ Compute (GP_Gen5_4) 730 hours $255.79 - ├─ Storage 4,000 GB $460.00 - └─ Additional backup storage 3,000 GB $600.00 - - azurerm_mysql_server.gp_4core - ├─ Compute (GP_Gen5_4) 730 hours $255.79 - ├─ Storage 4,000 GB $460.00 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - azurerm_mysql_server.basic_2core - ├─ Compute (B_Gen5_2) 730 hours $49.64 - ├─ Storage 5 GB $0.50 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - OVERALL TOTAL $5,041.69 + Name Monthly Qty Unit Monthly Cost + + azurerm_mysql_server.without_geo + ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 + ├─ Storage 5 GB $0.58 + └─ Additional backup storage 2,000 GB $200.00 + + azurerm_mysql_server.mo_16core + ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 + ├─ Storage 5 GB $0.58 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + azurerm_mysql_server.with_geo + ├─ Compute (GP_Gen5_4) 730 hours $255.79 + ├─ Storage 4,000 GB $460.00 + └─ Additional backup storage 3,000 GB $600.00 + + azurerm_mysql_server.gp_4core + ├─ Compute (GP_Gen5_4) 730 hours $255.79 + ├─ Storage 4,000 GB $460.00 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + azurerm_mysql_server.basic_2core + ├─ Compute (B_Gen5_2) 730 hours $49.64 + ├─ Storage 5 GB $0.50 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + OVERALL TOTAL $5,041.69 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 5 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMySQLServer_usage ┃ $5,042 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMySQLServer_usage ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN 'Multiple products found' are safe to ignore for 'Compute (B_Gen5_2)' due to limitations in the Azure API. diff --git a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden index cb726c2db89..7112d4fa767 100644 --- a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_nat_gateway.my_gateway - ├─ NAT gateway 730 hours $32.85 - └─ Data processed 10 GB $0.45 - - azurerm_nat_gateway.my_gateway2 - ├─ NAT gateway 730 hours $32.85 - └─ Data processed Monthly cost depends on usage: $0.045 per GB - - azurerm_public_ip_prefix.example - └─ IP prefix 730 hours $4.38 - - azurerm_public_ip.example - └─ IP address (static, regional) 730 hours $3.65 - - OVERALL TOTAL $74.18 + Name Monthly Qty Unit Monthly Cost + + azurerm_nat_gateway.my_gateway + ├─ NAT gateway 730 hours $32.85 + └─ Data processed 10 GB $0.45 + + azurerm_nat_gateway.my_gateway2 + ├─ NAT gateway 730 hours $32.85 + └─ Data processed Monthly cost depends on usage: $0.045 per GB + + azurerm_public_ip_prefix.example + └─ IP prefix 730 hours $4.38 + + azurerm_public_ip.example + └─ IP address (static, regional) 730 hours $3.65 + + OVERALL TOTAL $74.18 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 4 were estimated ∙ 5 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMNATGateway ┃ $74 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMNATGateway ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden index 5f9964e732b..9367add65b4 100644 --- a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden +++ b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden @@ -1,32 +1,35 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_network_connection_monitor.connection_monitor_with_usage - ├─ Tests (10-240,010) 240,000 tests $72,000.00 - ├─ Tests (240,010-750,010) 510,000 tests $50,994.90 - ├─ Tests (750,010-1,000,010) 250,000 tests $12,502.50 - └─ Tests (1,000,010+) 999,990 tests $20,009.80 - - azurerm_network_connection_monitor.connection_monitor["multiple-test-groups-18-tests"] - └─ Tests (10-240,010) 8 tests $2.40 - - azurerm_network_connection_monitor.connection_monitor["12-tests"] - └─ Tests (10-240,010) 2 tests $0.60 - - azurerm_network_connection_monitor.connection_monitor["multiple-test-groups-1-disabled"] - └─ Tests (10-240,010) 2 tests $0.60 - - azurerm_network_watcher.network_watcher - └─ Network diagnostic tool (over 1,000 checks) Monthly cost depends on usage: $0.001 per checks - + Name Monthly Qty Unit Monthly Cost + + azurerm_network_connection_monitor.connection_monitor_with_usage + ├─ Tests (10-240,010) 240,000 tests $72,000.00 * + ├─ Tests (240,010-750,010) 510,000 tests $50,994.90 * + ├─ Tests (750,010-1,000,010) 250,000 tests $12,502.50 * + └─ Tests (1,000,010+) 999,990 tests $20,009.80 * + + azurerm_network_connection_monitor.connection_monitor["multiple-test-groups-18-tests"] + └─ Tests (10-240,010) 8 tests $2.40 * + + azurerm_network_connection_monitor.connection_monitor["12-tests"] + └─ Tests (10-240,010) 2 tests $0.60 * + + azurerm_network_connection_monitor.connection_monitor["multiple-test-groups-1-disabled"] + └─ Tests (10-240,010) 2 tests $0.60 * + + azurerm_network_watcher.network_watcher + └─ Network diagnostic tool (over 1,000 checks) Monthly cost depends on usage: $0.001 per checks + OVERALL TOTAL $155,510.80 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 6 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNetworkConnectionMonitor ┃ $155,511 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNetworkConnectionMonitor ┃ $0.00 ┃ $155,511 ┃ $155,511 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden index 9976e167c13..76455179b07 100644 --- a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden @@ -1,22 +1,25 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_network_ddos_protection_plan.network_ddos_protection_plan_with_usage - ├─ DDoS Protection Plan 730 hours $2,943.55 - └─ Overage charges 5 resources $147.18 - - azurerm_network_ddos_protection_plan.network_ddos_protection_plan - ├─ DDoS Protection Plan 730 hours $2,943.55 - └─ Overage charges Monthly cost depends on usage: $29.44 per resource - + Name Monthly Qty Unit Monthly Cost + + azurerm_network_ddos_protection_plan.network_ddos_protection_plan_with_usage + ├─ DDoS Protection Plan 730 hours $2,943.55 + └─ Overage charges 5 resources $147.18 * + + azurerm_network_ddos_protection_plan.network_ddos_protection_plan + ├─ DDoS Protection Plan 730 hours $2,943.55 + └─ Overage charges Monthly cost depends on usage: $29.44 per resource + OVERALL TOTAL $6,034.27 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNetworkDdosProtectionPlan ┃ $6,034 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNetworkDdosProtectionPlan ┃ $5,887 ┃ $147 ┃ $6,034 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden index d6c333927c2..db7940cdb6f 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden @@ -1,36 +1,39 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_network_watcher_flow_log.network_watcher_flow_log["traffic-analytics-interval-60"] - ├─ Network logs collected (over 5GB) 25 GB $12.50 - └─ Traffic Analytics data processed (60 min interval) 30 GB $69.00 - - azurerm_network_watcher_flow_log.network_watcher_flow_log["traffic-analytics-interval-10"] - ├─ Network logs collected (over 5GB) 15 GB $7.50 - └─ Traffic Analytics data processed (10 min interval) 20 GB $70.00 - - azurerm_network_watcher_flow_log.network_watcher_flow_log["traffic-analytics-disabled"] - └─ Network logs collected (over 5GB) 5 GB $2.50 - - azurerm_network_watcher_flow_log.network_watcher_flow_log_with_usage["traffic-analytics-disabled"] - └─ Network logs collected (over 5GB) Monthly cost depends on usage: $0.50 per GB - - azurerm_network_watcher_flow_log.network_watcher_flow_log_with_usage["traffic-analytics-interval-10"] - ├─ Network logs collected (over 5GB) Monthly cost depends on usage: $0.50 per GB - └─ Traffic Analytics data processed (10 min interval) Monthly cost depends on usage: $3.50 per GB - - azurerm_network_watcher_flow_log.network_watcher_flow_log_with_usage["traffic-analytics-interval-60"] - ├─ Network logs collected (over 5GB) Monthly cost depends on usage: $0.50 per GB - └─ Traffic Analytics data processed (60 min interval) Monthly cost depends on usage: $2.30 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_network_watcher_flow_log.network_watcher_flow_log["traffic-analytics-interval-60"] + ├─ Network logs collected (over 5GB) 25 GB $12.50 * + └─ Traffic Analytics data processed (60 min interval) 30 GB $69.00 * + + azurerm_network_watcher_flow_log.network_watcher_flow_log["traffic-analytics-interval-10"] + ├─ Network logs collected (over 5GB) 15 GB $7.50 * + └─ Traffic Analytics data processed (10 min interval) 20 GB $70.00 * + + azurerm_network_watcher_flow_log.network_watcher_flow_log["traffic-analytics-disabled"] + └─ Network logs collected (over 5GB) 5 GB $2.50 * + + azurerm_network_watcher_flow_log.network_watcher_flow_log_with_usage["traffic-analytics-disabled"] + └─ Network logs collected (over 5GB) Monthly cost depends on usage: $0.50 per GB + + azurerm_network_watcher_flow_log.network_watcher_flow_log_with_usage["traffic-analytics-interval-10"] + ├─ Network logs collected (over 5GB) Monthly cost depends on usage: $0.50 per GB + └─ Traffic Analytics data processed (10 min interval) Monthly cost depends on usage: $3.50 per GB + + azurerm_network_watcher_flow_log.network_watcher_flow_log_with_usage["traffic-analytics-interval-60"] + ├─ Network logs collected (over 5GB) Monthly cost depends on usage: $0.50 per GB + └─ Traffic Analytics data processed (60 min interval) Monthly cost depends on usage: $2.30 per GB + OVERALL TOTAL $161.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 6 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNetworkWatcherFlowLog ┃ $162 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNetworkWatcherFlowLog ┃ $0.00 ┃ $162 ┃ $162 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden index 5a268e6759c..e5c570154ce 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_network_watcher.network_watcher_with_usage - └─ Network diagnostic tool (over 1,000 checks) 9,000 checks $9.00 - - azurerm_network_watcher.network_watcher - └─ Network diagnostic tool (over 1,000 checks) Monthly cost depends on usage: $0.001 per checks - + Name Monthly Qty Unit Monthly Cost + + azurerm_network_watcher.network_watcher_with_usage + └─ Network diagnostic tool (over 1,000 checks) 9,000 checks $9.00 * + + azurerm_network_watcher.network_watcher + └─ Network diagnostic tool (over 1,000 checks) Monthly cost depends on usage: $0.001 per checks + OVERALL TOTAL $9.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNetworkWatcher ┃ $9 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNetworkWatcher ┃ $0.00 ┃ $9 ┃ $9 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden index 73b85a7346f..a78531410b6 100644 --- a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden @@ -1,46 +1,49 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_notification_hub_namespace.stdabove100M - ├─ Namespace usage (Standard) 1 months $200.00 - ├─ Pushes (10-100M) 90 1M pushes $900.00 - └─ Pushes (over 100M) 30 1M pushes $75.00 - - azurerm_notification_hub_namespace.stdabove10M - ├─ Namespace usage (Standard) 1 months $200.00 - └─ Pushes (10-100M) 80 1M pushes $800.00 - - azurerm_notification_hub_namespace.basicabove100M - ├─ Namespace usage (Basic) 1 months $10.00 - └─ Pushes (over 10M) 190 1M pushes $190.00 - - azurerm_notification_hub_namespace.standardwithoutUsage - ├─ Namespace usage (Standard) 1 months $200.00 - ├─ Pushes (10-100M) Monthly cost depends on usage: $10.00 per 1M pushes - └─ Pushes (over 100M) Monthly cost depends on usage: $2.50 per 1M pushes - - azurerm_notification_hub_namespace.stdbelow10M - └─ Namespace usage (Standard) 1 months $200.00 - - azurerm_notification_hub_namespace.basicabove10M - ├─ Namespace usage (Basic) 1 months $10.00 - └─ Pushes (over 10M) 10 1M pushes $10.00 - - azurerm_notification_hub_namespace.basicbelow10M - └─ Namespace usage (Basic) 1 months $10.00 - - azurerm_notification_hub_namespace.basicwithoutUsage - ├─ Namespace usage (Basic) 1 months $10.00 - └─ Pushes (over 10M) Monthly cost depends on usage: $1.00 per 1M pushes - - OVERALL TOTAL $2,815.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_notification_hub_namespace.stdabove100M + ├─ Namespace usage (Standard) 1 months $200.00 + ├─ Pushes (10-100M) 90 1M pushes $900.00 + └─ Pushes (over 100M) 30 1M pushes $75.00 + + azurerm_notification_hub_namespace.stdabove10M + ├─ Namespace usage (Standard) 1 months $200.00 + └─ Pushes (10-100M) 80 1M pushes $800.00 + + azurerm_notification_hub_namespace.basicabove100M + ├─ Namespace usage (Basic) 1 months $10.00 + └─ Pushes (over 10M) 190 1M pushes $190.00 + + azurerm_notification_hub_namespace.standardwithoutUsage + ├─ Namespace usage (Standard) 1 months $200.00 + ├─ Pushes (10-100M) Monthly cost depends on usage: $10.00 per 1M pushes + └─ Pushes (over 100M) Monthly cost depends on usage: $2.50 per 1M pushes + + azurerm_notification_hub_namespace.stdbelow10M + └─ Namespace usage (Standard) 1 months $200.00 + + azurerm_notification_hub_namespace.basicabove10M + ├─ Namespace usage (Basic) 1 months $10.00 + └─ Pushes (over 10M) 10 1M pushes $10.00 + + azurerm_notification_hub_namespace.basicbelow10M + └─ Namespace usage (Basic) 1 months $10.00 + + azurerm_notification_hub_namespace.basicwithoutUsage + ├─ Namespace usage (Basic) 1 months $10.00 + └─ Pushes (over 10M) Monthly cost depends on usage: $1.00 per 1M pushes + + OVERALL TOTAL $2,815.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 8 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMNotificationHubNamespace ┃ $2,815 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMNotificationHubNamespace ┃ $2,815 ┃ $0.00 ┃ $2,815 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden index 2103d2f9cb4..de4a9c91bfc 100644 --- a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_point_to_site_vpn_gateway.point_to_site_vpn_with_usage - ├─ P2S scale units (500 Mbps) 5 scale units $1,317.65 - └─ P2S connections 9 hours $0.11 - - azurerm_point_to_site_vpn_gateway.point_to_site_vpn - └─ P2S scale units (500 Mbps) 5 scale units $1,317.65 - + Name Monthly Qty Unit Monthly Cost + + azurerm_point_to_site_vpn_gateway.point_to_site_vpn_with_usage + ├─ P2S scale units (500 Mbps) 5 scale units $1,317.65 + └─ P2S connections 9 hours $0.11 * + + azurerm_point_to_site_vpn_gateway.point_to_site_vpn + └─ P2S scale units (500 Mbps) 5 scale units $1,317.65 + OVERALL TOTAL $2,635.41 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPointToSiteVpnGatewayGoldenFile ┃ $2,635 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPointToSiteVpnGatewayGoldenFile ┃ $2,635 ┃ $0.11 ┃ $2,635 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden index 79e7e0bb0ee..48f6270b806 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden @@ -1,44 +1,47 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_postgresql_flexible_server.non_usage_gp - ├─ Compute (GP_Standard_D16s_v3) 730 hours $1,138.80 - ├─ Storage Monthly cost depends on usage: $0.14 per GB - └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - - azurerm_postgresql_flexible_server.mo - ├─ Compute (MO_Standard_E4s_v3) 730 hours $382.52 - ├─ Storage 64 GB $8.83 - └─ Additional backup storage 5,000 GB $475.00 - - azurerm_postgresql_flexible_server.gp - ├─ Compute (GP_Standard_D4s_v3) 730 hours $284.70 - ├─ Storage 32 GB $4.42 - └─ Additional backup storage 5,000 GB $475.00 - - azurerm_postgresql_flexible_server.burstable - ├─ Compute (B_Standard_B1ms) 730 hours $16.06 - ├─ Storage 128 GB $17.66 - └─ Additional backup storage 5,000 GB $475.00 - - azurerm_postgresql_flexible_server.burstable_b2ms_vcore - ├─ Compute (B_Standard_B2ms) 730 hours $128.48 - ├─ Storage 128 GB $17.66 - └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - - azurerm_postgresql_flexible_server.readable_location_set - ├─ Compute (B_Standard_B1ms) 730 hours $12.41 - ├─ Storage Monthly cost depends on usage: $0.12 per GB - └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_postgresql_flexible_server.non_usage_gp + ├─ Compute (GP_Standard_D16s_v3) 730 hours $1,138.80 + ├─ Storage Monthly cost depends on usage: $0.14 per GB + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + + azurerm_postgresql_flexible_server.mo + ├─ Compute (MO_Standard_E4s_v3) 730 hours $382.52 + ├─ Storage 64 GB $8.83 + └─ Additional backup storage 5,000 GB $475.00 * + + azurerm_postgresql_flexible_server.gp + ├─ Compute (GP_Standard_D4s_v3) 730 hours $284.70 + ├─ Storage 32 GB $4.42 + └─ Additional backup storage 5,000 GB $475.00 * + + azurerm_postgresql_flexible_server.burstable + ├─ Compute (B_Standard_B1ms) 730 hours $16.06 + ├─ Storage 128 GB $17.66 + └─ Additional backup storage 5,000 GB $475.00 * + + azurerm_postgresql_flexible_server.burstable_b2ms_vcore + ├─ Compute (B_Standard_B2ms) 730 hours $128.48 + ├─ Storage 128 GB $17.66 + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + + azurerm_postgresql_flexible_server.readable_location_set + ├─ Compute (B_Standard_B1ms) 730 hours $12.41 + ├─ Storage Monthly cost depends on usage: $0.12 per GB + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + OVERALL TOTAL $3,436.55 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 6 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPostgreSQLFlexibleServer ┃ $3,437 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPostgreSQLFlexibleServer ┃ $2,012 ┃ $1,425 ┃ $3,437 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden index 046dcaaf4f8..a5fc3713e74 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden @@ -1,39 +1,42 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_postgresql_server.without_geo - ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 - ├─ Storage 5 GB $0.58 - └─ Additional backup storage 2,000 GB $200.00 - - azurerm_postgresql_server.mo_16core - ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 - ├─ Storage 5 GB $0.58 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - azurerm_postgresql_server.with_geo - ├─ Compute (GP_Gen5_4) 730 hours $255.79 - ├─ Storage 4,000 GB $460.00 - └─ Additional backup storage 3,000 GB $600.00 - - azurerm_postgresql_server.gp_4core - ├─ Compute (GP_Gen5_4) 730 hours $255.79 - ├─ Storage 4,000 GB $460.00 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - azurerm_postgresql_server.basic_2core - ├─ Compute (B_Gen5_2) 730 hours $49.64 - ├─ Storage 5 GB $0.50 - └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB - - OVERALL TOTAL $5,041.69 + Name Monthly Qty Unit Monthly Cost + + azurerm_postgresql_server.without_geo + ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 + ├─ Storage 5 GB $0.58 + └─ Additional backup storage 2,000 GB $200.00 + + azurerm_postgresql_server.mo_16core + ├─ Compute (MO_Gen5_16) 730 hours $1,379.41 + ├─ Storage 5 GB $0.58 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + azurerm_postgresql_server.with_geo + ├─ Compute (GP_Gen5_4) 730 hours $255.79 + ├─ Storage 4,000 GB $460.00 + └─ Additional backup storage 3,000 GB $600.00 + + azurerm_postgresql_server.gp_4core + ├─ Compute (GP_Gen5_4) 730 hours $255.79 + ├─ Storage 4,000 GB $460.00 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + azurerm_postgresql_server.basic_2core + ├─ Compute (B_Gen5_2) 730 hours $49.64 + ├─ Storage 5 GB $0.50 + └─ Additional backup storage Monthly cost depends on usage: $0.10 per GB + + OVERALL TOTAL $5,041.69 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 5 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPostgreSQLServer ┃ $5,042 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPostgreSQLServer ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden index 0443beb3b22..69051ed8465 100644 --- a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden +++ b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_powerbi_embedded.a5 - └─ Node usage (A5) 730 hours $11,768.33 - - azurerm_powerbi_embedded.a1 - └─ Node usage (A1) 730 hours $735.91 - - OVERALL TOTAL $12,504.24 + Name Monthly Qty Unit Monthly Cost + + azurerm_powerbi_embedded.a5 + └─ Node usage (A5) 730 hours $11,768.33 + + azurerm_powerbi_embedded.a1 + └─ Node usage (A1) 730 hours $735.91 + + OVERALL TOTAL $12,504.24 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 2 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPowerBIEmbedded ┃ $12,504 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPowerBIEmbedded ┃ $12,504 ┃ $0.00 ┃ $12,504 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden index 557b1a365a5..4a5a142ad07 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_a_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_private_dns_a_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_private_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_private_dns_a_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_a_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_private_dns_a_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_private_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_private_dns_a_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSaRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPrivateDNSaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden index 7b69d744b53..9a175c79a34 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_aaaa_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_private_dns_aaaa_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_private_dns_zone.test - └─ Hosted zone 1 months $0.50 - - azurerm_private_dns_aaaa_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_aaaa_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_private_dns_aaaa_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_private_dns_zone.test + └─ Hosted zone 1 months $0.50 + + azurerm_private_dns_aaaa_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSaaaaRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPrivateDNSaaaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden index 4d11230a2ce..a5dec95136e 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_cname_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_private_dns_cname_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_private_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_private_dns_cname_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_cname_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_private_dns_cname_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_private_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_private_dns_cname_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNScnameRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPrivateDNScnameRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden index 899aa8ae507..6b401ba5d00 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_mx_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_private_dns_mx_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_private_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_private_dns_mx_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_mx_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_private_dns_mx_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_private_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_private_dns_mx_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSmxRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPrivateDNSmxRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden index 3db2768e43c..af0583e9abc 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_ptr_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_private_dns_ptr_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_private_dns_zone.example - └─ Hosted zone 1 months $0.50 - - azurerm_private_dns_ptr_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_ptr_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_private_dns_ptr_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_private_dns_zone.example + └─ Hosted zone 1 months $0.50 + + azurerm_private_dns_ptr_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSptrRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPrivateDNSptrRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden index e14718a3916..861ec49d56b 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_resolver_outbound_endpoint.example - └─ Outbound endpoint 1 months $180.00 - - azurerm_private_dns_resolver_dns_forwarding_ruleset.example - └─ Forwarding ruleset 1 months $2.50 - - OVERALL TOTAL $182.50 + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_resolver_outbound_endpoint.example + └─ Outbound endpoint 1 months $180.00 + + azurerm_private_dns_resolver_dns_forwarding_ruleset.example + └─ Forwarding ruleset 1 months $2.50 + + OVERALL TOTAL $182.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverDnsForwardingRuleset ┃ $183 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPrivateDnsResolverDnsForwardingRuleset ┃ $183 ┃ $0.00 ┃ $183 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden index b3cb1076c60..c8f3da6edcd 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden @@ -1,17 +1,20 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_resolver_inbound_endpoint.example - └─ Inbound endpoint 1 months $180.00 - - OVERALL TOTAL $180.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_resolver_inbound_endpoint.example + └─ Inbound endpoint 1 months $180.00 + + OVERALL TOTAL $180.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 1 was estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverInboundEndpoint ┃ $180 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPrivateDnsResolverInboundEndpoint ┃ $180 ┃ $0.00 ┃ $180 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden index 96ac5331855..a9fb1d0fbcb 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden @@ -1,17 +1,20 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_resolver_outbound_endpoint.example - └─ Outbound endpoint 1 months $180.00 - - OVERALL TOTAL $180.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_resolver_outbound_endpoint.example + └─ Outbound endpoint 1 months $180.00 + + OVERALL TOTAL $180.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 1 was estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverOutboundEndpoint ┃ $180 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPrivateDnsResolverOutboundEndpoint ┃ $180 ┃ $0.00 ┃ $180 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden index 90a94bc8b67..24751603172 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_srv_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_private_dns_srv_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_private_dns_zone.test - └─ Hosted zone 1 months $0.50 - - azurerm_private_dns_srv_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_srv_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_private_dns_srv_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_private_dns_zone.test + └─ Hosted zone 1 months $0.50 + + azurerm_private_dns_srv_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSsrvRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPrivateDNSsrvRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden index b68e1277d09..cc11ead8a8b 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden @@ -1,27 +1,30 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_txt_record.over1B - ├─ DNS queries (first 1B) 1,000 1M queries $400.00 - └─ DNS queries (over 1B) 500 1M queries $100.00 - - azurerm_private_dns_txt_record.first1B - └─ DNS queries (first 1B) 1,000 1M queries $400.00 - - azurerm_private_dns_zone.test - └─ Hosted zone 1 months $0.50 - - azurerm_private_dns_txt_record.withoutUsage - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_txt_record.over1B + ├─ DNS queries (first 1B) 1,000 1M queries $400.00 * + └─ DNS queries (over 1B) 500 1M queries $100.00 * + + azurerm_private_dns_txt_record.first1B + └─ DNS queries (first 1B) 1,000 1M queries $400.00 * + + azurerm_private_dns_zone.test + └─ Hosted zone 1 months $0.50 + + azurerm_private_dns_txt_record.withoutUsage + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $900.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNStxtRecord ┃ $901 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPrivateDNStxtRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden index fe296824dad..b4bb9dd1f52 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_dns_zone.germany - └─ Hosted zone 1 months $0.54 - - azurerm_private_dns_zone.westus - └─ Hosted zone 1 months $0.50 - - OVERALL TOTAL $1.04 + Name Monthly Qty Unit Monthly Cost + + azurerm_private_dns_zone.germany + └─ Hosted zone 1 months $0.54 + + azurerm_private_dns_zone.westus + └─ Hosted zone 1 months $0.50 + + OVERALL TOTAL $1.04 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSZone ┃ $1 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPrivateDNSZone ┃ $1 ┃ $0.00 ┃ $1 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden index b3ff780cdea..f169aae2a5d 100644 --- a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden @@ -1,49 +1,52 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_private_endpoint.with_multiple_tiers - ├─ Private endpoint 730 hour $7.30 - ├─ Inbound data processed (first 1PB) 1,000,000 GB $10,000.00 - ├─ Inbound data processed (next 4PB) 4,000,000 GB $24,000.00 - ├─ Inbound data processed (over 5PB) 120,000 GB $480.00 - ├─ Outbound data processed (first 1PB) 1,000,000 GB $10,000.00 - ├─ Outbound data processed (next 4PB) 4,000,000 GB $24,000.00 - └─ Outbound data processed (over 5PB) 120,000 GB $480.00 - - azurerm_private_endpoint.with_inbound - ├─ Private endpoint 730 hour $7.30 - ├─ Inbound data processed (first 1PB) 100 GB $1.00 - └─ Outbound data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB - - azurerm_private_endpoint.with_outbound - ├─ Private endpoint 730 hour $7.30 - ├─ Inbound data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB - └─ Outbound data processed (first 1PB) 100 GB $1.00 - - azurerm_private_endpoint.without_usage_file - ├─ Private endpoint 730 hour $7.30 - ├─ Inbound data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB - └─ Outbound data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB - - azurerm_storage_account.example - ├─ Data at rest Monthly cost depends on usage: $0.0228 per GB - ├─ Snapshots Monthly cost depends on usage: $0.0228 per GB - ├─ Metadata at rest Monthly cost depends on usage: $0.0297 per GB - ├─ Write operations Monthly cost depends on usage: $0.13 per 10k operations - ├─ List operations Monthly cost depends on usage: $0.0715 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.013 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.00572 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - └─ Early deletion Monthly cost depends on usage: $0.0228 per GB - - OVERALL TOTAL $68,991.20 + Name Monthly Qty Unit Monthly Cost + + azurerm_private_endpoint.with_multiple_tiers + ├─ Private endpoint 730 hour $7.30 + ├─ Inbound data processed (first 1PB) 1,000,000 GB $10,000.00 + ├─ Inbound data processed (next 4PB) 4,000,000 GB $24,000.00 + ├─ Inbound data processed (over 5PB) 120,000 GB $480.00 + ├─ Outbound data processed (first 1PB) 1,000,000 GB $10,000.00 + ├─ Outbound data processed (next 4PB) 4,000,000 GB $24,000.00 + └─ Outbound data processed (over 5PB) 120,000 GB $480.00 + + azurerm_private_endpoint.with_inbound + ├─ Private endpoint 730 hour $7.30 + ├─ Inbound data processed (first 1PB) 100 GB $1.00 + └─ Outbound data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB + + azurerm_private_endpoint.with_outbound + ├─ Private endpoint 730 hour $7.30 + ├─ Inbound data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB + └─ Outbound data processed (first 1PB) 100 GB $1.00 + + azurerm_private_endpoint.without_usage_file + ├─ Private endpoint 730 hour $7.30 + ├─ Inbound data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB + └─ Outbound data processed (first 1PB) Monthly cost depends on usage: $0.01 per GB + + azurerm_storage_account.example + ├─ Data at rest Monthly cost depends on usage: $0.0228 per GB + ├─ Snapshots Monthly cost depends on usage: $0.0228 per GB + ├─ Metadata at rest Monthly cost depends on usage: $0.0297 per GB + ├─ Write operations Monthly cost depends on usage: $0.13 per 10k operations + ├─ List operations Monthly cost depends on usage: $0.0715 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.013 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.00572 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + └─ Early deletion Monthly cost depends on usage: $0.0228 per GB + + OVERALL TOTAL $68,991.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 5 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNewAzureRMPrivateEndpoint ┃ $68,991 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNewAzureRMPrivateEndpoint ┃ $68,991 ┃ $0.00 ┃ $68,991 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden index 78ae32a5d4b..59cc67d05cb 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden @@ -1,17 +1,20 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_public_ip_prefix.example - └─ IP prefix 730 hours $4.38 - - OVERALL TOTAL $4.38 + Name Monthly Qty Unit Monthly Cost + + azurerm_public_ip_prefix.example + └─ IP prefix 730 hours $4.38 + + OVERALL TOTAL $4.38 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 1 was estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPublicIPPrefix ┃ $4 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPublicIPPrefix ┃ $4 ┃ $0.00 ┃ $4 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden index 72662a053cc..68734186db4 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden @@ -1,23 +1,26 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_public_ip.example - └─ IP address (static, regional) 730 hours $3.65 - - azurerm_public_ip.global - └─ IP address (static, global) 730 hours $3.65 - - azurerm_public_ip.example1 - └─ IP address (dynamic, regional) 730 hours $2.92 - - OVERALL TOTAL $10.22 + Name Monthly Qty Unit Monthly Cost + + azurerm_public_ip.example + └─ IP address (static, regional) 730 hours $3.65 + + azurerm_public_ip.global + └─ IP address (static, global) 730 hours $3.65 + + azurerm_public_ip.example1 + └─ IP address (dynamic, regional) 730 hours $2.92 + + OVERALL TOTAL $10.22 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 3 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMPublicIP ┃ $10 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMPublicIP ┃ $10 ┃ $0.00 ┃ $10 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden index 7b7b6c6faf4..21db66c6d0f 100644 --- a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden +++ b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden @@ -1,218 +1,221 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_recovery_services_vault.example["GeoRedundant.RS0.true"] - ├─ azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-true"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ RA-GRS data stored 1,128 GB $64.18 - ├─ azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-true"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ RA-GRS data stored 178 GB $10.13 - ├─ azurerm_backup_protected_vm.small["policy-GeoRedundant-RS0-true"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ RA-GRS data stored 40 GB $2.28 - └─ azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-true"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ RA-GRS data stored 400 GB $22.76 - - azurerm_recovery_services_vault.example["GeoRedundant.Standard.true"] - ├─ azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-true"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ RA-GRS data stored 1,128 GB $64.18 - ├─ azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-true"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ RA-GRS data stored 178 GB $10.13 - ├─ azurerm_backup_protected_vm.small["policy-GeoRedundant-Standard-true"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ RA-GRS data stored 40 GB $2.28 - └─ azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-true"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ RA-GRS data stored 400 GB $22.76 - - azurerm_virtual_machine.large - ├─ Instance usage (Linux, pay as you go, Standard_F2) 730 hours $83.22 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU - ├─ storage_os_disk - │ ├─ Storage (S4, LRS) 1 months $1.54 - │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - ├─ storage_data_disk - │ ├─ Storage (S20, LRS) 1 months $21.76 - │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - └─ storage_data_disk - ├─ Storage (S20, LRS) 1 months $21.76 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_recovery_services_vault.example["GeoRedundant.RS0.false"] - ├─ azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ GRS data stored 1,128 GB $50.53 - ├─ azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-false"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ GRS data stored 178 GB $7.97 - ├─ azurerm_backup_protected_vm.small["policy-GeoRedundant-RS0-false"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ GRS data stored 40 GB $1.79 - └─ azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-false"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ GRS data stored 400 GB $17.92 - - azurerm_recovery_services_vault.example["GeoRedundant.Standard.false"] - ├─ azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-false"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ GRS data stored 1,128 GB $50.53 - ├─ azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-false"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ GRS data stored 178 GB $7.97 - ├─ azurerm_backup_protected_vm.small["policy-GeoRedundant-Standard-false"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ GRS data stored 40 GB $1.79 - └─ azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-false"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ GRS data stored 400 GB $17.92 - - azurerm_recovery_services_vault.example["ZoneRedundant.RS0.false"] - ├─ azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-false"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ ZRS data stored 1,128 GB $31.58 - ├─ azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-false"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ ZRS data stored 178 GB $4.98 - ├─ azurerm_backup_protected_vm.small["policy-ZoneRedundant-RS0-false"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ ZRS data stored 40 GB $1.12 - └─ azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-false"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ ZRS data stored 400 GB $11.20 - - azurerm_recovery_services_vault.example["ZoneRedundant.RS0.true"] - ├─ azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-true"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ ZRS data stored 1,128 GB $31.58 - ├─ azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-true"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ ZRS data stored 178 GB $4.98 - ├─ azurerm_backup_protected_vm.small["policy-ZoneRedundant-RS0-true"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ ZRS data stored 40 GB $1.12 - └─ azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-true"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ ZRS data stored 400 GB $11.20 - - azurerm_recovery_services_vault.example["ZoneRedundant.Standard.false"] - ├─ azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-false"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ ZRS data stored 1,128 GB $31.58 - ├─ azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-false"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ ZRS data stored 178 GB $4.98 - ├─ azurerm_backup_protected_vm.small["policy-ZoneRedundant-Standard-false"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ ZRS data stored 40 GB $1.12 - └─ azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-false"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ ZRS data stored 400 GB $11.20 - - azurerm_recovery_services_vault.example["ZoneRedundant.Standard.true"] - ├─ azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-true"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ ZRS data stored 1,128 GB $31.58 - ├─ azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-true"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ ZRS data stored 178 GB $4.98 - ├─ azurerm_backup_protected_vm.small["policy-ZoneRedundant-Standard-true"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ ZRS data stored 40 GB $1.12 - └─ azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-true"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ ZRS data stored 400 GB $11.20 - - azurerm_virtual_machine.medium - ├─ Instance usage (Linux, pay as you go, Standard_F2) 730 hours $83.22 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU - ├─ storage_os_disk - │ ├─ Storage (S4, LRS) 1 months $1.54 - │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - └─ storage_data_disk - ├─ Storage (S6, LRS) 1 months $3.01 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_virtual_machine.small - ├─ Instance usage (Linux, pay as you go, Standard_F2) 730 hours $83.22 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU - ├─ storage_os_disk - │ ├─ Storage (S4, LRS) 1 months $1.54 - │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - └─ storage_data_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_recovery_services_vault.example["LocallyRedundant.RS0.false"] - ├─ azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-false"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ LRS data stored 1,128 GB $25.27 - ├─ azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-false"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ LRS data stored 178 GB $3.99 - ├─ azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-false"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ LRS data stored 40 GB $0.90 - └─ azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-false"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ LRS data stored 400 GB $8.96 - - azurerm_recovery_services_vault.example["LocallyRedundant.RS0.true"] - ├─ azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-true"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ LRS data stored 1,128 GB $25.27 - ├─ azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-true"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ LRS data stored 178 GB $3.99 - ├─ azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-true"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ LRS data stored 40 GB $0.90 - └─ azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-true"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ LRS data stored 400 GB $8.96 - - azurerm_recovery_services_vault.example["LocallyRedundant.Standard.false"] - ├─ azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-false"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ LRS data stored 1,128 GB $25.27 - ├─ azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-false"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ LRS data stored 178 GB $3.99 - ├─ azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-false"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ LRS data stored 40 GB $0.90 - └─ azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-false"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ LRS data stored 400 GB $8.96 - - azurerm_recovery_services_vault.example["LocallyRedundant.Standard.true"] - ├─ azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-true"] - │ ├─ Instance backup (over 500 GB) 1 month $20.00 - │ └─ LRS data stored 1,128 GB $25.27 - ├─ azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-true"] - │ ├─ Instance backup (under 500 GB) 1 month $10.00 - │ └─ LRS data stored 178 GB $3.99 - ├─ azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-true"] - │ ├─ Instance backup (under 50 GB) 1 month $5.00 - │ └─ LRS data stored 40 GB $0.90 - └─ azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-true"] - ├─ Instance backup (under 500 GB) 1 month $10.00 - └─ LRS data stored 400 GB $8.96 - + Name Monthly Qty Unit Monthly Cost + + azurerm_recovery_services_vault.example["GeoRedundant.RS0.true"] + ├─ azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-true"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ RA-GRS data stored 1,128 GB $64.18 * + ├─ azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-true"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ RA-GRS data stored 178 GB $10.13 * + ├─ azurerm_backup_protected_vm.small["policy-GeoRedundant-RS0-true"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ RA-GRS data stored 40 GB $2.28 * + └─ azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-true"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ RA-GRS data stored 400 GB $22.76 * + + azurerm_recovery_services_vault.example["GeoRedundant.Standard.true"] + ├─ azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-true"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ RA-GRS data stored 1,128 GB $64.18 * + ├─ azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-true"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ RA-GRS data stored 178 GB $10.13 * + ├─ azurerm_backup_protected_vm.small["policy-GeoRedundant-Standard-true"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ RA-GRS data stored 40 GB $2.28 * + └─ azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-true"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ RA-GRS data stored 400 GB $22.76 * + + azurerm_virtual_machine.large + ├─ Instance usage (Linux, pay as you go, Standard_F2) 730 hours $83.22 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU + ├─ storage_os_disk + │ ├─ Storage (S4, LRS) 1 months $1.54 + │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + ├─ storage_data_disk + │ ├─ Storage (S20, LRS) 1 months $21.76 + │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + └─ storage_data_disk + ├─ Storage (S20, LRS) 1 months $21.76 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_recovery_services_vault.example["GeoRedundant.RS0.false"] + ├─ azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ GRS data stored 1,128 GB $50.53 * + ├─ azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-false"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ GRS data stored 178 GB $7.97 * + ├─ azurerm_backup_protected_vm.small["policy-GeoRedundant-RS0-false"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ GRS data stored 40 GB $1.79 * + └─ azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-false"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ GRS data stored 400 GB $17.92 * + + azurerm_recovery_services_vault.example["GeoRedundant.Standard.false"] + ├─ azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-false"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ GRS data stored 1,128 GB $50.53 * + ├─ azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-false"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ GRS data stored 178 GB $7.97 * + ├─ azurerm_backup_protected_vm.small["policy-GeoRedundant-Standard-false"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ GRS data stored 40 GB $1.79 * + └─ azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-false"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ GRS data stored 400 GB $17.92 * + + azurerm_recovery_services_vault.example["ZoneRedundant.RS0.false"] + ├─ azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-false"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ ZRS data stored 1,128 GB $31.58 * + ├─ azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-false"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ ZRS data stored 178 GB $4.98 * + ├─ azurerm_backup_protected_vm.small["policy-ZoneRedundant-RS0-false"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ ZRS data stored 40 GB $1.12 * + └─ azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-false"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ ZRS data stored 400 GB $11.20 * + + azurerm_recovery_services_vault.example["ZoneRedundant.RS0.true"] + ├─ azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-true"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ ZRS data stored 1,128 GB $31.58 * + ├─ azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-true"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ ZRS data stored 178 GB $4.98 * + ├─ azurerm_backup_protected_vm.small["policy-ZoneRedundant-RS0-true"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ ZRS data stored 40 GB $1.12 * + └─ azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-true"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ ZRS data stored 400 GB $11.20 * + + azurerm_recovery_services_vault.example["ZoneRedundant.Standard.false"] + ├─ azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-false"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ ZRS data stored 1,128 GB $31.58 * + ├─ azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-false"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ ZRS data stored 178 GB $4.98 * + ├─ azurerm_backup_protected_vm.small["policy-ZoneRedundant-Standard-false"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ ZRS data stored 40 GB $1.12 * + └─ azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-false"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ ZRS data stored 400 GB $11.20 * + + azurerm_recovery_services_vault.example["ZoneRedundant.Standard.true"] + ├─ azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-true"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ ZRS data stored 1,128 GB $31.58 * + ├─ azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-true"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ ZRS data stored 178 GB $4.98 * + ├─ azurerm_backup_protected_vm.small["policy-ZoneRedundant-Standard-true"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ ZRS data stored 40 GB $1.12 * + └─ azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-true"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ ZRS data stored 400 GB $11.20 * + + azurerm_virtual_machine.medium + ├─ Instance usage (Linux, pay as you go, Standard_F2) 730 hours $83.22 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU + ├─ storage_os_disk + │ ├─ Storage (S4, LRS) 1 months $1.54 + │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + └─ storage_data_disk + ├─ Storage (S6, LRS) 1 months $3.01 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_virtual_machine.small + ├─ Instance usage (Linux, pay as you go, Standard_F2) 730 hours $83.22 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $5.69 per vCPU + ├─ storage_os_disk + │ ├─ Storage (S4, LRS) 1 months $1.54 + │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + └─ storage_data_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_recovery_services_vault.example["LocallyRedundant.RS0.false"] + ├─ azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-false"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ LRS data stored 1,128 GB $25.27 * + ├─ azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-false"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ LRS data stored 178 GB $3.99 * + ├─ azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-false"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ LRS data stored 40 GB $0.90 * + └─ azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-false"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ LRS data stored 400 GB $8.96 * + + azurerm_recovery_services_vault.example["LocallyRedundant.RS0.true"] + ├─ azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-true"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ LRS data stored 1,128 GB $25.27 * + ├─ azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-true"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ LRS data stored 178 GB $3.99 * + ├─ azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-true"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ LRS data stored 40 GB $0.90 * + └─ azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-true"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ LRS data stored 400 GB $8.96 * + + azurerm_recovery_services_vault.example["LocallyRedundant.Standard.false"] + ├─ azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-false"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ LRS data stored 1,128 GB $25.27 * + ├─ azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-false"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ LRS data stored 178 GB $3.99 * + ├─ azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-false"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ LRS data stored 40 GB $0.90 * + └─ azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-false"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ LRS data stored 400 GB $8.96 * + + azurerm_recovery_services_vault.example["LocallyRedundant.Standard.true"] + ├─ azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-true"] + │ ├─ Instance backup (over 500 GB) 1 month $20.00 * + │ └─ LRS data stored 1,128 GB $25.27 * + ├─ azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-true"] + │ ├─ Instance backup (under 500 GB) 1 month $10.00 * + │ └─ LRS data stored 178 GB $3.99 * + ├─ azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-true"] + │ ├─ Instance backup (under 50 GB) 1 month $5.00 * + │ └─ LRS data stored 40 GB $0.90 * + └─ azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-true"] + ├─ Instance backup (under 500 GB) 1 month $10.00 * + └─ LRS data stored 400 GB $8.96 * + OVERALL TOTAL $1,549.46 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 79 cloud resources were detected: ∙ 15 were estimated ∙ 64 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestRecoveryServicesVault ┃ $1,549 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestRecoveryServicesVault ┃ $302 ┃ $1,247 ┃ $1,549 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product diff --git a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden index 9f3999d5b21..c41c0c1931a 100644 --- a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden +++ b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden @@ -1,35 +1,38 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_redis_cache.premium_p3_replicas_per_primary - └─ Cache usage (Premium_P3) 12 nodes $9,714.84 - - azurerm_redis_cache.premium_p2_replicas_per_master - └─ Cache usage (Premium_P2) 9 nodes $3,646.35 - - azurerm_redis_cache.premium_p1 - └─ Cache usage (Premium_P1) 6 nodes $1,213.26 - - azurerm_redis_cache.premium_p1_australiacentral - └─ Cache usage (Premium_P1) 2 nodes $404.42 - - azurerm_redis_cache.premium_zero_shards - └─ Cache usage (Premium_P1) 2 nodes $404.42 - - azurerm_redis_cache.standard_c3 - └─ Cache usage (Standard_C3) 2 nodes $328.50 - - azurerm_redis_cache.basic_c2 - └─ Cache usage (Basic_C4) 1 nodes $153.30 - - OVERALL TOTAL $15,865.09 + Name Monthly Qty Unit Monthly Cost + + azurerm_redis_cache.premium_p3_replicas_per_primary + └─ Cache usage (Premium_P3) 12 nodes $9,714.84 + + azurerm_redis_cache.premium_p2_replicas_per_master + └─ Cache usage (Premium_P2) 9 nodes $3,646.35 + + azurerm_redis_cache.premium_p1 + └─ Cache usage (Premium_P1) 6 nodes $1,213.26 + + azurerm_redis_cache.premium_p1_australiacentral + └─ Cache usage (Premium_P1) 2 nodes $404.42 + + azurerm_redis_cache.premium_zero_shards + └─ Cache usage (Premium_P1) 2 nodes $404.42 + + azurerm_redis_cache.standard_c3 + └─ Cache usage (Standard_C3) 2 nodes $328.50 + + azurerm_redis_cache.basic_c2 + └─ Cache usage (Basic_C4) 1 nodes $153.30 + + OVERALL TOTAL $15,865.09 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 7 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRedisCacheGoldenFile ┃ $15,865 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRedisCacheGoldenFile ┃ $15,865 ┃ $0.00 ┃ $15,865 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden index 4057f9e39a1..579c10f99c7 100644 --- a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden +++ b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_search_service.optimized_l1 - ├─ Search usage (Storage Optimized L1, 1 unit) 730 hours $2,802.47 - ├─ Image extraction (first 1M) 1,000 1000 images $1,000.00 - └─ Image extraction (next 4M) 2,000 1000 images $1,600.00 - - azurerm_search_service.basic - ├─ Search usage (Basic, 4 units) 2,920 hours $294.92 - ├─ Image extraction (first 1M) 1,000 1000 images $1,000.00 - ├─ Image extraction (next 4M) 4,000 1000 images $3,200.00 - └─ Image extraction (over 5M) 1,000 1000 images $650.00 - - azurerm_search_service.non_usage_l1 - ├─ Search usage (Storage Optimized L1, 1 unit) 730 hours $2,802.47 - └─ Image extraction (first 1M) Monthly cost depends on usage: $1.00 per 1000 images - - azurerm_search_service.standard_s2 - ├─ Search usage (Standard S2, 1 unit) 730 hours $981.12 - ├─ Image extraction (first 1M) 1,000 1000 images $1,000.00 - └─ Image extraction (next 4M) 1,000 1000 images $800.00 - - OVERALL TOTAL $16,130.98 + Name Monthly Qty Unit Monthly Cost + + azurerm_search_service.optimized_l1 + ├─ Search usage (Storage Optimized L1, 1 unit) 730 hours $2,802.47 + ├─ Image extraction (first 1M) 1,000 1000 images $1,000.00 + └─ Image extraction (next 4M) 2,000 1000 images $1,600.00 + + azurerm_search_service.basic + ├─ Search usage (Basic, 4 units) 2,920 hours $294.92 + ├─ Image extraction (first 1M) 1,000 1000 images $1,000.00 + ├─ Image extraction (next 4M) 4,000 1000 images $3,200.00 + └─ Image extraction (over 5M) 1,000 1000 images $650.00 + + azurerm_search_service.non_usage_l1 + ├─ Search usage (Storage Optimized L1, 1 unit) 730 hours $2,802.47 + └─ Image extraction (first 1M) Monthly cost depends on usage: $1.00 per 1000 images + + azurerm_search_service.standard_s2 + ├─ Search usage (Standard S2, 1 unit) 730 hours $981.12 + ├─ Image extraction (first 1M) 1,000 1000 images $1,000.00 + └─ Image extraction (next 4M) 1,000 1000 images $800.00 + + OVERALL TOTAL $16,130.98 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureSearchServiceGoldenFile ┃ $16,131 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureSearchServiceGoldenFile ┃ $16,131 ┃ $0.00 ┃ $16,131 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden index 87ba0623e12..9ad7325d17a 100644 --- a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden +++ b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden @@ -1,105 +1,108 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_security_center_subscription_pricing.standard_example_with_usage["OpenSourceRelationalDatabases"] - ├─ Defender for MySQL 6 instance $90.00 - ├─ Defender for PostgreSQL 7 instance $105.00 - └─ Defender for MariaDB 8 instance $117.97 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["AppServices"] - └─ Defender for app service 12 node $175.20 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["StorageAccounts"] - └─ Defender for storage 11 storage account $107.60 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["Arm"] - └─ Defender for ARM 14 subscription $70.52 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["SqlServerVirtualMachines"] - └─ Defender for SQL, Azure-connected 4 instance $60.00 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["SqlServers"] - └─ Defender for SQL, outside Azure 5 vCore $54.75 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["VirtualMachines"] - ├─ Defender for servers, plan 1 1 server $4.91 - └─ Defender for servers, plan 2 2 server $29.20 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["KubernetesService"] - └─ Defender for kubernetes 16 core $31.30 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["Containers"] - └─ Defender for containers 3 vCore $20.61 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["Dns"] - └─ Defender for DNS 15 1M queries $10.50 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["CosmosDbs"] - └─ Defender for Cosmos DB 9 RU/s x 100 $7.88 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["ContainerRegistry"] - └─ Defender for container registries 17 image $4.93 - - azurerm_security_center_subscription_pricing.standard_example_with_usage["KeyVaults"] - └─ Defender for Key Vault 13 key vault $3.23 - - azurerm_security_center_subscription_pricing.default_resource_type_example - ├─ Defender for servers, plan 1 Monthly cost depends on usage: $4.91 per server - └─ Defender for servers, plan 2 Monthly cost depends on usage: $14.60 per server - - azurerm_security_center_subscription_pricing.standard_example["AppServices"] - └─ Defender for app service Monthly cost depends on usage: $14.60 per node - - azurerm_security_center_subscription_pricing.standard_example["Arm"] - └─ Defender for ARM Monthly cost depends on usage: $5.04 per subscription - - azurerm_security_center_subscription_pricing.standard_example["ContainerRegistry"] - └─ Defender for container registries Monthly cost depends on usage: $0.29 per image - - azurerm_security_center_subscription_pricing.standard_example["Containers"] - └─ Defender for containers Monthly cost depends on usage: $6.87 per vCore - - azurerm_security_center_subscription_pricing.standard_example["CosmosDbs"] - └─ Defender for Cosmos DB Monthly cost depends on usage: $0.88 per RU/s x 100 - - azurerm_security_center_subscription_pricing.standard_example["Dns"] - └─ Defender for DNS Monthly cost depends on usage: $0.70 per 1M queries - - azurerm_security_center_subscription_pricing.standard_example["KeyVaults"] - └─ Defender for Key Vault Monthly cost depends on usage: $0.25 per key vault - - azurerm_security_center_subscription_pricing.standard_example["KubernetesService"] - └─ Defender for kubernetes Monthly cost depends on usage: $1.96 per core - - azurerm_security_center_subscription_pricing.standard_example["OpenSourceRelationalDatabases"] - ├─ Defender for MySQL Monthly cost depends on usage: $15.00 per instance - ├─ Defender for PostgreSQL Monthly cost depends on usage: $15.00 per instance - └─ Defender for MariaDB Monthly cost depends on usage: $14.75 per instance - - azurerm_security_center_subscription_pricing.standard_example["SqlServerVirtualMachines"] - └─ Defender for SQL, Azure-connected Monthly cost depends on usage: $15.00 per instance - - azurerm_security_center_subscription_pricing.standard_example["SqlServers"] - └─ Defender for SQL, outside Azure Monthly cost depends on usage: $10.95 per vCore - - azurerm_security_center_subscription_pricing.standard_example["StorageAccounts"] - └─ Defender for storage Monthly cost depends on usage: $9.78 per storage account - - azurerm_security_center_subscription_pricing.standard_example["VirtualMachines"] - ├─ Defender for servers, plan 1 Monthly cost depends on usage: $4.91 per server - └─ Defender for servers, plan 2 Monthly cost depends on usage: $14.60 per server - + Name Monthly Qty Unit Monthly Cost + + azurerm_security_center_subscription_pricing.standard_example_with_usage["OpenSourceRelationalDatabases"] + ├─ Defender for MySQL 6 instance $90.00 * + ├─ Defender for PostgreSQL 7 instance $105.00 * + └─ Defender for MariaDB 8 instance $117.97 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["AppServices"] + └─ Defender for app service 12 node $175.20 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["StorageAccounts"] + └─ Defender for storage 11 storage account $107.60 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["Arm"] + └─ Defender for ARM 14 subscription $70.52 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["SqlServerVirtualMachines"] + └─ Defender for SQL, Azure-connected 4 instance $60.00 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["SqlServers"] + └─ Defender for SQL, outside Azure 5 vCore $54.75 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["VirtualMachines"] + ├─ Defender for servers, plan 1 1 server $4.91 * + └─ Defender for servers, plan 2 2 server $29.20 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["KubernetesService"] + └─ Defender for kubernetes 16 core $31.30 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["Containers"] + └─ Defender for containers 3 vCore $20.61 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["Dns"] + └─ Defender for DNS 15 1M queries $10.50 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["CosmosDbs"] + └─ Defender for Cosmos DB 9 RU/s x 100 $7.88 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["ContainerRegistry"] + └─ Defender for container registries 17 image $4.93 * + + azurerm_security_center_subscription_pricing.standard_example_with_usage["KeyVaults"] + └─ Defender for Key Vault 13 key vault $3.23 * + + azurerm_security_center_subscription_pricing.default_resource_type_example + ├─ Defender for servers, plan 1 Monthly cost depends on usage: $4.91 per server + └─ Defender for servers, plan 2 Monthly cost depends on usage: $14.60 per server + + azurerm_security_center_subscription_pricing.standard_example["AppServices"] + └─ Defender for app service Monthly cost depends on usage: $14.60 per node + + azurerm_security_center_subscription_pricing.standard_example["Arm"] + └─ Defender for ARM Monthly cost depends on usage: $5.04 per subscription + + azurerm_security_center_subscription_pricing.standard_example["ContainerRegistry"] + └─ Defender for container registries Monthly cost depends on usage: $0.29 per image + + azurerm_security_center_subscription_pricing.standard_example["Containers"] + └─ Defender for containers Monthly cost depends on usage: $6.87 per vCore + + azurerm_security_center_subscription_pricing.standard_example["CosmosDbs"] + └─ Defender for Cosmos DB Monthly cost depends on usage: $0.88 per RU/s x 100 + + azurerm_security_center_subscription_pricing.standard_example["Dns"] + └─ Defender for DNS Monthly cost depends on usage: $0.70 per 1M queries + + azurerm_security_center_subscription_pricing.standard_example["KeyVaults"] + └─ Defender for Key Vault Monthly cost depends on usage: $0.25 per key vault + + azurerm_security_center_subscription_pricing.standard_example["KubernetesService"] + └─ Defender for kubernetes Monthly cost depends on usage: $1.96 per core + + azurerm_security_center_subscription_pricing.standard_example["OpenSourceRelationalDatabases"] + ├─ Defender for MySQL Monthly cost depends on usage: $15.00 per instance + ├─ Defender for PostgreSQL Monthly cost depends on usage: $15.00 per instance + └─ Defender for MariaDB Monthly cost depends on usage: $14.75 per instance + + azurerm_security_center_subscription_pricing.standard_example["SqlServerVirtualMachines"] + └─ Defender for SQL, Azure-connected Monthly cost depends on usage: $15.00 per instance + + azurerm_security_center_subscription_pricing.standard_example["SqlServers"] + └─ Defender for SQL, outside Azure Monthly cost depends on usage: $10.95 per vCore + + azurerm_security_center_subscription_pricing.standard_example["StorageAccounts"] + └─ Defender for storage Monthly cost depends on usage: $9.78 per storage account + + azurerm_security_center_subscription_pricing.standard_example["VirtualMachines"] + ├─ Defender for servers, plan 1 Monthly cost depends on usage: $4.91 per server + └─ Defender for servers, plan 2 Monthly cost depends on usage: $14.60 per server + OVERALL TOTAL $893.59 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 30 cloud resources were detected: ∙ 29 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSecurityCenterSubscriptionPricing ┃ $894 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSecurityCenterSubscriptionPricing ┃ $0.00 ┃ $894 ┃ $894 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource azurerm_security_center_subscription_pricing.standard_example["CloudPosture"]. Unknown resource tyoe 'CloudPosture' diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden index 7484b6039b3..0a4b7f1e95a 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.sentinel_data_connector_aws_cloud_trail - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.sentinel_data_connector_aws_cloud_trail_with_solution - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.sentinel_data_connector_aws_cloud_trail + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.sentinel_data_connector_aws_cloud_trail_with_solution + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAwsCloudTrail ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorAwsCloudTrail ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden index 49e04a42e16..822d0a19b9c 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.sentinel_data_connector_azure_active_directory - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.sentinel_data_connector_azure_active_directory_with_solution - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.sentinel_data_connector_azure_active_directory + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.sentinel_data_connector_azure_active_directory_with_solution + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureActiveDirectory ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorAzureActiveDirectory ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden index c88bba86bdd..d6be048a755 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.sentinel_data_connector_azure_advanced_threat_protection - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.sentinel_data_connector_azure_advanced_threat_protection_with_solution - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.sentinel_data_connector_azure_advanced_threat_protection + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.sentinel_data_connector_azure_advanced_threat_protection_with_solution + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureAdvancedThreatProtection ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorAzureAdvancedThreatProtection ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden index 8d3011854e3..23adab3d5c1 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.sentinel_data_connector_azure_security_center - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.sentinel_data_connector_azure_security_center_with_solution - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.sentinel_data_connector_azure_security_center + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.sentinel_data_connector_azure_security_center_with_solution + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureSecurityCenter ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorAzureSecurityCenter ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden index b21515f4f48..7854153b768 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.sentinel_data_connector_microsoft_cloud_app_security - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.sentinel_data_connector_microsoft_cloud_app_security_with_solution - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.sentinel_data_connector_microsoft_cloud_app_security + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.sentinel_data_connector_microsoft_cloud_app_security_with_solution + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorMicrosoftCloudAppSecurity ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorMicrosoftCloudAppSecurity ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden index 7a25b3bc608..5559229f559 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.sentinel_data_connector_microsoft_defender_advanced_threat_protection - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.sentinel_data_connector_microsoft_defender_advanced_threat_protection_with_solution - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.sentinel_data_connector_microsoft_defender_advanced_threat_protection + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.sentinel_data_connector_microsoft_defender_advanced_threat_protection_with_solution + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorMicros...fenderAdvancedThreatProtection ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorMicros...fenderAdvancedThreatProtection ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden index ba1442d8418..e2a78148fe4 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.sentinel_data_connector_office_365 - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.sentinel_data_connector_office_365_with_solution - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.sentinel_data_connector_office_365 + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.sentinel_data_connector_office_365_with_solution + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorOffice365 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorOffice365 ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden index 6da477a3322..21f0117ff9b 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_log_analytics_workspace.sentinel_data_connector_threat_intelligence - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - azurerm_log_analytics_workspace.sentinel_data_connector_threat_intelligence_with_solution - ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB - ├─ Log data export Monthly cost depends on usage: $0.13 per GB - ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB - ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched - ├─ Archive data Monthly cost depends on usage: $0.026 per GB - ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB - └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB - - OVERALL TOTAL $0.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_log_analytics_workspace.sentinel_data_connector_threat_intelligence + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + azurerm_log_analytics_workspace.sentinel_data_connector_threat_intelligence_with_solution + ├─ Log data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Sentinel data ingestion Monthly cost depends on usage: $2.99 per GB + ├─ Log data export Monthly cost depends on usage: $0.13 per GB + ├─ Basic log data ingestion Monthly cost depends on usage: $0.65 per GB + ├─ Basic log search queries Monthly cost depends on usage: $0.0065 per GB searched + ├─ Archive data Monthly cost depends on usage: $0.026 per GB + ├─ Archive data restored Monthly cost depends on usage: $0.13 per GB + └─ Archive data searched Monthly cost depends on usage: $0.0065 per GB + + OVERALL TOTAL $0.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorThreatIntelligence ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorThreatIntelligence ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden index d8c0d797d76..e0360b0fa48 100644 --- a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden @@ -1,827 +1,830 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_service_plan.example["Windows.I6v2.3"] - └─ Instance usage (I6v2) 2,190 hours $38,333.76 - - azurerm_service_plan.example["WindowsContainer.I6v2.3"] - └─ Instance usage (I6v2) 2,190 hours $38,333.76 - - azurerm_service_plan.example["Linux.I6v2.3"] - └─ Instance usage (I6v2) 2,190 hours $27,050.88 - - azurerm_service_plan.example["Windows.I6v2.2"] - └─ Instance usage (I6v2) 1,460 hours $25,555.84 - - azurerm_service_plan.example["WindowsContainer.I6v2.2"] - └─ Instance usage (I6v2) 1,460 hours $25,555.84 - - azurerm_service_plan.example["Windows.I5v2.3"] - └─ Instance usage (I5v2) 2,190 hours $19,166.88 - - azurerm_service_plan.example["WindowsContainer.I5v2.3"] - └─ Instance usage (I5v2) 2,190 hours $19,166.88 - - azurerm_service_plan.example["Linux.I6v2.2"] - └─ Instance usage (I6v2) 1,460 hours $18,033.92 - - azurerm_service_plan.example["Linux.I5v2.3"] - └─ Instance usage (I5v2) 2,190 hours $13,525.44 - - azurerm_service_plan.example["Windows.I5v2.2"] - └─ Instance usage (I5v2) 1,460 hours $12,777.92 - - azurerm_service_plan.example["Windows.I6v2.1"] - └─ Instance usage (I6v2) 730 hours $12,777.92 - - azurerm_service_plan.example["WindowsContainer.I5v2.2"] - └─ Instance usage (I5v2) 1,460 hours $12,777.92 - - azurerm_service_plan.example["WindowsContainer.I6v2.1"] - └─ Instance usage (I6v2) 730 hours $12,777.92 - - azurerm_service_plan.example["Windows.P5mv3.3"] - └─ Instance usage (P5mv3) 2,190 hours $12,123.84 - - azurerm_service_plan.example["WindowsContainer.P5mv3.3"] - └─ Instance usage (P5mv3) 2,190 hours $12,123.84 - - azurerm_service_plan.example["Windows.I4v2.3"] - └─ Instance usage (I4v2) 2,190 hours $9,583.44 - - azurerm_service_plan.example["WindowsContainer.I4v2.3"] - └─ Instance usage (I4v2) 2,190 hours $9,583.44 - - azurerm_service_plan.example["Linux.I5v2.2"] - └─ Instance usage (I5v2) 1,460 hours $9,016.96 - - azurerm_service_plan.example["Linux.I6v2.1"] - └─ Instance usage (I6v2) 730 hours $9,016.96 - - azurerm_service_plan.example["Windows.P5mv3.2"] - └─ Instance usage (P5mv3) 1,460 hours $8,082.56 - - azurerm_service_plan.example["WindowsContainer.P5mv3.2"] - └─ Instance usage (P5mv3) 1,460 hours $8,082.56 - - azurerm_service_plan.example["Linux.I4v2.3"] - └─ Instance usage (I4v2) 2,190 hours $6,762.72 - - azurerm_service_plan.example["Linux.P5mv3.3"] - └─ Instance usage (P5mv3) 2,190 hours $6,517.44 - - azurerm_service_plan.example["Windows.I4v2.2"] - └─ Instance usage (I4v2) 1,460 hours $6,388.96 - - azurerm_service_plan.example["Windows.I5v2.1"] - └─ Instance usage (I5v2) 730 hours $6,388.96 - - azurerm_service_plan.example["WindowsContainer.I4v2.2"] - └─ Instance usage (I4v2) 1,460 hours $6,388.96 - - azurerm_service_plan.example["WindowsContainer.I5v2.1"] - └─ Instance usage (I5v2) 730 hours $6,388.96 - - azurerm_service_plan.example["Windows.P4mv3.3"] - └─ Instance usage (P4mv3) 2,190 hours $6,061.92 - - azurerm_service_plan.example["WindowsContainer.P4mv3.3"] - └─ Instance usage (P4mv3) 2,190 hours $6,061.92 - - azurerm_service_plan.example["Windows.I3v2.3"] - └─ Instance usage (I3v2) 2,190 hours $4,791.72 - - azurerm_service_plan.example["WindowsContainer.I3v2.3"] - └─ Instance usage (I3v2) 2,190 hours $4,791.72 - - azurerm_service_plan.example["Linux.I4v2.2"] - └─ Instance usage (I4v2) 1,460 hours $4,508.48 - - azurerm_service_plan.example["Linux.I5v2.1"] - └─ Instance usage (I5v2) 730 hours $4,508.48 - - azurerm_service_plan.example["Linux.P5mv3.2"] - └─ Instance usage (P5mv3) 1,460 hours $4,344.96 - - azurerm_service_plan.example["Windows.P4mv3.2"] - └─ Instance usage (P4mv3) 1,460 hours $4,041.28 - - azurerm_service_plan.example["Windows.P5mv3.1"] - └─ Instance usage (P5mv3) 730 hours $4,041.28 - - azurerm_service_plan.example["WindowsContainer.P4mv3.2"] - └─ Instance usage (P4mv3) 1,460 hours $4,041.28 - - azurerm_service_plan.example["WindowsContainer.P5mv3.1"] - └─ Instance usage (P5mv3) 730 hours $4,041.28 - - azurerm_service_plan.example["Linux.I3v2.3"] - └─ Instance usage (I3v2) 2,190 hours $3,381.36 - - azurerm_service_plan.example["Linux.P4mv3.3"] - └─ Instance usage (P4mv3) 2,190 hours $3,258.72 - - azurerm_service_plan.example["Windows.I3v2.2"] - └─ Instance usage (I3v2) 1,460 hours $3,194.48 - - azurerm_service_plan.example["Windows.I4v2.1"] - └─ Instance usage (I4v2) 730 hours $3,194.48 - - azurerm_service_plan.example["WindowsContainer.I3v2.2"] - └─ Instance usage (I3v2) 1,460 hours $3,194.48 - - azurerm_service_plan.example["WindowsContainer.I4v2.1"] - └─ Instance usage (I4v2) 730 hours $3,194.48 - - azurerm_service_plan.example["Windows.P3mv3.3"] - └─ Instance usage (P3mv3) 2,190 hours $3,030.96 - - azurerm_service_plan.example["WindowsContainer.P3mv3.3"] - └─ Instance usage (P3mv3) 2,190 hours $3,030.96 - - azurerm_service_plan.example["Windows.P3v3.3"] - └─ Instance usage (P3v3) 2,190 hours $2,759.40 - - azurerm_service_plan.example["WindowsContainer.P3v3.3"] - └─ Instance usage (P3v3) 2,190 hours $2,759.40 - - azurerm_service_plan.example["Linux.I3.3"] - └─ Instance usage (I3) 2,190 hours $2,628.00 - - azurerm_service_plan.example["Windows.I3.3"] - └─ Instance usage (I3) 2,190 hours $2,628.00 - - azurerm_service_plan.example["WindowsContainer.I3.3"] - └─ Instance usage (I3) 2,190 hours $2,628.00 - - azurerm_service_plan.example["Windows.I2v2.3"] - └─ Instance usage (I2v2) 2,190 hours $2,395.86 - - azurerm_service_plan.example["WindowsContainer.I2v2.3"] - └─ Instance usage (I2v2) 2,190 hours $2,395.86 - - azurerm_service_plan.example["Linux.I3v2.2"] - └─ Instance usage (I3v2) 1,460 hours $2,254.24 - - azurerm_service_plan.example["Linux.I4v2.1"] - └─ Instance usage (I4v2) 730 hours $2,254.24 - - azurerm_service_plan.example["Linux.P4mv3.2"] - └─ Instance usage (P4mv3) 1,460 hours $2,172.48 - - azurerm_service_plan.example["Linux.P5mv3.1"] - └─ Instance usage (P5mv3) 730 hours $2,172.48 - - azurerm_service_plan.example["Windows.P3mv3.2"] - └─ Instance usage (P3mv3) 1,460 hours $2,020.64 - - azurerm_service_plan.example["Windows.P4mv3.1"] - └─ Instance usage (P4mv3) 730 hours $2,020.64 - - azurerm_service_plan.example["WindowsContainer.P3mv3.2"] - └─ Instance usage (P3mv3) 1,460 hours $2,020.64 - - azurerm_service_plan.example["WindowsContainer.P4mv3.1"] - └─ Instance usage (P4mv3) 730 hours $2,020.64 - - azurerm_service_plan.example["Windows.P3v3.2"] - └─ Instance usage (P3v3) 1,460 hours $1,839.60 - - azurerm_service_plan.example["WindowsContainer.P3v3.2"] - └─ Instance usage (P3v3) 1,460 hours $1,839.60 - - azurerm_service_plan.example["Linux.I3.2"] - └─ Instance usage (I3) 1,460 hours $1,752.00 - - azurerm_service_plan.example["Windows.I3.2"] - └─ Instance usage (I3) 1,460 hours $1,752.00 - - azurerm_service_plan.example["Windows.P3v2.3"] - └─ Instance usage (P3v2) 2,190 hours $1,752.00 - - azurerm_service_plan.example["WindowsContainer.I3.2"] - └─ Instance usage (I3) 1,460 hours $1,752.00 - - azurerm_service_plan.example["WindowsContainer.P3v2.3"] - └─ Instance usage (P3v2) 2,190 hours $1,752.00 - - azurerm_service_plan.example["Linux.I2v2.3"] - └─ Instance usage (I2v2) 2,190 hours $1,690.68 - - azurerm_service_plan.example["Linux.P3mv3.3"] - └─ Instance usage (P3mv3) 2,190 hours $1,629.36 - - azurerm_service_plan.example["Windows.I2v2.2"] - └─ Instance usage (I2v2) 1,460 hours $1,597.24 - - azurerm_service_plan.example["Windows.I3v2.1"] - └─ Instance usage (I3v2) 730 hours $1,597.24 - - azurerm_service_plan.example["WindowsContainer.I2v2.2"] - └─ Instance usage (I2v2) 1,460 hours $1,597.24 - - azurerm_service_plan.example["WindowsContainer.I3v2.1"] - └─ Instance usage (I3v2) 730 hours $1,597.24 - - azurerm_service_plan.example["Windows.P2mv3.3"] - └─ Instance usage (P2mv3) 2,190 hours $1,515.48 - - azurerm_service_plan.example["WindowsContainer.P2mv3.3"] - └─ Instance usage (P2mv3) 2,190 hours $1,515.48 - - azurerm_service_plan.example["Windows.P2v3.3"] - └─ Instance usage (P2v3) 2,190 hours $1,379.70 - - azurerm_service_plan.example["WindowsContainer.P2v3.3"] - └─ Instance usage (P2v3) 2,190 hours $1,379.70 - - azurerm_service_plan.example["Linux.P3v3.3"] - └─ Instance usage (P3v3) 2,190 hours $1,357.80 - - azurerm_service_plan.example["Linux.I2.3"] - └─ Instance usage (I2) 2,190 hours $1,314.00 - - azurerm_service_plan.example["Windows.I2.3"] - └─ Instance usage (I2) 2,190 hours $1,314.00 - - azurerm_service_plan.example["WindowsContainer.I2.3"] - └─ Instance usage (I2) 2,190 hours $1,314.00 - - azurerm_service_plan.example["Windows.I1v2.3"] - └─ Instance usage (I1v2) 2,190 hours $1,197.93 - - azurerm_service_plan.example["WindowsContainer.I1v2.3"] - └─ Instance usage (I1v2) 2,190 hours $1,197.93 - - azurerm_service_plan.example["Windows.P3v2.2"] - └─ Instance usage (P3v2) 1,460 hours $1,168.00 - - azurerm_service_plan.example["WindowsContainer.P3v2.2"] - └─ Instance usage (P3v2) 1,460 hours $1,168.00 - - azurerm_service_plan.example["Linux.I2v2.2"] - └─ Instance usage (I2v2) 1,460 hours $1,127.12 - - azurerm_service_plan.example["Linux.I3v2.1"] - └─ Instance usage (I3v2) 730 hours $1,127.12 - - azurerm_service_plan.example["Linux.P3mv3.2"] - └─ Instance usage (P3mv3) 1,460 hours $1,086.24 - - azurerm_service_plan.example["Linux.P4mv3.1"] - └─ Instance usage (P4mv3) 730 hours $1,086.24 - - azurerm_service_plan.example["Windows.P2mv3.2"] - └─ Instance usage (P2mv3) 1,460 hours $1,010.32 - - azurerm_service_plan.example["Windows.P3mv3.1"] - └─ Instance usage (P3mv3) 730 hours $1,010.32 - - azurerm_service_plan.example["WindowsContainer.P2mv3.2"] - └─ Instance usage (P2mv3) 1,460 hours $1,010.32 - - azurerm_service_plan.example["WindowsContainer.P3mv3.1"] - └─ Instance usage (P3mv3) 730 hours $1,010.32 - - azurerm_service_plan.example["Windows.P2v3.2"] - └─ Instance usage (P2v3) 1,460 hours $919.80 - - azurerm_service_plan.example["Windows.P3v3.1"] - └─ Instance usage (P3v3) 730 hours $919.80 - - azurerm_service_plan.example["WindowsContainer.P2v3.2"] - └─ Instance usage (P2v3) 1,460 hours $919.80 - - azurerm_service_plan.example["WindowsContainer.P3v3.1"] - └─ Instance usage (P3v3) 730 hours $919.80 - - azurerm_service_plan.example["Linux.P3v3.2"] - └─ Instance usage (P3v3) 1,460 hours $905.20 - - azurerm_service_plan.example["Linux.P3v2.3"] - └─ Instance usage (P3v2) 2,190 hours $882.57 - - azurerm_service_plan.example["Linux.I2.2"] - └─ Instance usage (I2) 1,460 hours $876.00 - - azurerm_service_plan.example["Linux.I3.1"] - └─ Instance usage (I3) 730 hours $876.00 - - azurerm_service_plan.example["Windows.I2.2"] - └─ Instance usage (I2) 1,460 hours $876.00 - - azurerm_service_plan.example["Windows.I3.1"] - └─ Instance usage (I3) 730 hours $876.00 - - azurerm_service_plan.example["Windows.P2v2.3"] - └─ Instance usage (P2v2) 2,190 hours $876.00 - - azurerm_service_plan.example["Windows.S3.3"] - └─ Instance usage (S3) 2,190 hours $876.00 - - azurerm_service_plan.example["WindowsContainer.I2.2"] - └─ Instance usage (I2) 1,460 hours $876.00 - - azurerm_service_plan.example["WindowsContainer.I3.1"] - └─ Instance usage (I3) 730 hours $876.00 - - azurerm_service_plan.example["WindowsContainer.P2v2.3"] - └─ Instance usage (P2v2) 2,190 hours $876.00 - - azurerm_service_plan.example["WindowsContainer.S3.3"] - └─ Instance usage (S3) 2,190 hours $876.00 - - azurerm_service_plan.example["Linux.I1v2.3"] - └─ Instance usage (I1v2) 2,190 hours $845.34 - - azurerm_service_plan.example["Linux.S3.3"] - └─ Instance usage (S3) 2,190 hours $832.20 - - azurerm_service_plan.example["Linux.P2mv3.3"] - └─ Instance usage (P2mv3) 2,190 hours $814.68 - - azurerm_service_plan.example["Windows.I1v2.2"] - └─ Instance usage (I1v2) 1,460 hours $798.62 - - azurerm_service_plan.example["Windows.I2v2.1"] - └─ Instance usage (I2v2) 730 hours $798.62 - - azurerm_service_plan.example["WindowsContainer.I1v2.2"] - └─ Instance usage (I1v2) 1,460 hours $798.62 - - azurerm_service_plan.example["WindowsContainer.I2v2.1"] - └─ Instance usage (I2v2) 730 hours $798.62 - - azurerm_service_plan.example["Windows.P1mv3.3"] - └─ Instance usage (P1mv3) 2,190 hours $757.74 - - azurerm_service_plan.example["WindowsContainer.P1mv3.3"] - └─ Instance usage (P1mv3) 2,190 hours $757.74 - - azurerm_service_plan.example["Windows.P1v3.3"] - └─ Instance usage (P1v3) 2,190 hours $689.85 - - azurerm_service_plan.example["WindowsContainer.P1v3.3"] - └─ Instance usage (P1v3) 2,190 hours $689.85 - - azurerm_service_plan.example["Linux.P2v3.3"] - └─ Instance usage (P2v3) 2,190 hours $678.90 - - azurerm_service_plan.example["Linux.I1.3"] - └─ Instance usage (I1) 2,190 hours $657.00 - - azurerm_service_plan.example["Windows.B3.3"] - └─ Instance usage (B3) 2,190 hours $657.00 - - azurerm_service_plan.example["Windows.I1.3"] - └─ Instance usage (I1) 2,190 hours $657.00 - - azurerm_service_plan.example["WindowsContainer.B3.3"] - └─ Instance usage (B3) 2,190 hours $657.00 - - azurerm_service_plan.example["WindowsContainer.I1.3"] - └─ Instance usage (I1) 2,190 hours $657.00 - - azurerm_service_plan.example["Linux.P3v2.2"] - └─ Instance usage (P3v2) 1,460 hours $588.38 - - azurerm_service_plan.example["Windows.P2v2.2"] - └─ Instance usage (P2v2) 1,460 hours $584.00 - - azurerm_service_plan.example["Windows.P3v2.1"] - └─ Instance usage (P3v2) 730 hours $584.00 - - azurerm_service_plan.example["Windows.S3.2"] - └─ Instance usage (S3) 1,460 hours $584.00 - - azurerm_service_plan.example["WindowsContainer.P2v2.2"] - └─ Instance usage (P2v2) 1,460 hours $584.00 - - azurerm_service_plan.example["WindowsContainer.P3v2.1"] - └─ Instance usage (P3v2) 730 hours $584.00 - - azurerm_service_plan.example["WindowsContainer.S3.2"] - └─ Instance usage (S3) 1,460 hours $584.00 - - azurerm_service_plan.example["Linux.I1v2.2"] - └─ Instance usage (I1v2) 1,460 hours $563.56 - - azurerm_service_plan.example["Linux.I2v2.1"] - └─ Instance usage (I2v2) 730 hours $563.56 - - azurerm_service_plan.example["Linux.S3.2"] - └─ Instance usage (S3) 1,460 hours $554.80 - - azurerm_service_plan.example["Linux.P2mv3.2"] - └─ Instance usage (P2mv3) 1,460 hours $543.12 - - azurerm_service_plan.example["Linux.P3mv3.1"] - └─ Instance usage (P3mv3) 730 hours $543.12 - - azurerm_service_plan.example["Windows.P1mv3.2"] - └─ Instance usage (P1mv3) 1,460 hours $505.16 - - azurerm_service_plan.example["Windows.P2mv3.1"] - └─ Instance usage (P2mv3) 730 hours $505.16 - - azurerm_service_plan.example["WindowsContainer.P1mv3.2"] - └─ Instance usage (P1mv3) 1,460 hours $505.16 - - azurerm_service_plan.example["WindowsContainer.P2mv3.1"] - └─ Instance usage (P2mv3) 730 hours $505.16 - - azurerm_service_plan.example["Windows.P1v3.2"] - └─ Instance usage (P1v3) 1,460 hours $459.90 - - azurerm_service_plan.example["Windows.P2v3.1"] - └─ Instance usage (P2v3) 730 hours $459.90 - - azurerm_service_plan.example["WindowsContainer.P1v3.2"] - └─ Instance usage (P1v3) 1,460 hours $459.90 - - azurerm_service_plan.example["WindowsContainer.P2v3.1"] - └─ Instance usage (P2v3) 730 hours $459.90 - - azurerm_service_plan.example["Linux.P2v3.2"] - └─ Instance usage (P2v3) 1,460 hours $452.60 - - azurerm_service_plan.example["Linux.P3v3.1"] - └─ Instance usage (P3v3) 730 hours $452.60 - - azurerm_service_plan.example["Linux.P2v2.3"] - └─ Instance usage (P2v2) 2,190 hours $442.38 - - azurerm_service_plan.example["Linux.I1.2"] - └─ Instance usage (I1) 1,460 hours $438.00 - - azurerm_service_plan.example["Linux.I2.1"] - └─ Instance usage (I2) 730 hours $438.00 - - azurerm_service_plan.example["Windows.B3.2"] - └─ Instance usage (B3) 1,460 hours $438.00 - - azurerm_service_plan.example["Windows.I1.2"] - └─ Instance usage (I1) 1,460 hours $438.00 - - azurerm_service_plan.example["Windows.I2.1"] - └─ Instance usage (I2) 730 hours $438.00 - - azurerm_service_plan.example["Windows.P0v3.3"] - └─ Instance usage (P0v3) 2,190 hours $438.00 - - azurerm_service_plan.example["Windows.P1v2.3"] - └─ Instance usage (P1v2) 2,190 hours $438.00 - - azurerm_service_plan.example["Windows.S2.3"] - └─ Instance usage (S2) 2,190 hours $438.00 - - azurerm_service_plan.example["WindowsContainer.B3.2"] - └─ Instance usage (B3) 1,460 hours $438.00 - - azurerm_service_plan.example["WindowsContainer.I1.2"] - └─ Instance usage (I1) 1,460 hours $438.00 - - azurerm_service_plan.example["WindowsContainer.I2.1"] - └─ Instance usage (I2) 730 hours $438.00 - - azurerm_service_plan.example["WindowsContainer.P0v3.3"] - └─ Instance usage (P0v3) 2,190 hours $438.00 - - azurerm_service_plan.example["WindowsContainer.P1v2.3"] - └─ Instance usage (P1v2) 2,190 hours $438.00 - - azurerm_service_plan.example["WindowsContainer.S2.3"] - └─ Instance usage (S2) 2,190 hours $438.00 - - azurerm_service_plan.example["Linux.S2.3"] - └─ Instance usage (S2) 2,190 hours $416.10 - - azurerm_service_plan.example["Linux.P1mv3.3"] - └─ Instance usage (P1mv3) 2,190 hours $407.34 - - azurerm_service_plan.example["Windows.I1v2.1"] - └─ Instance usage (I1v2) 730 hours $399.31 - - azurerm_service_plan.example["WindowsContainer.I1v2.1"] - └─ Instance usage (I1v2) 730 hours $399.31 - - azurerm_service_plan.example["Linux.P1v3.3"] - └─ Instance usage (P1v3) 2,190 hours $339.45 - - azurerm_service_plan.example["Windows.B2.3"] - └─ Instance usage (B2) 2,190 hours $328.50 - - azurerm_service_plan.example["WindowsContainer.B2.3"] - └─ Instance usage (B2) 2,190 hours $328.50 - - azurerm_service_plan.example["Linux.P2v2.2"] - └─ Instance usage (P2v2) 1,460 hours $294.92 - - azurerm_service_plan.example["Linux.P3v2.1"] - └─ Instance usage (P3v2) 730 hours $294.19 - - azurerm_service_plan.example["Windows.P0v3.2"] - └─ Instance usage (P0v3) 1,460 hours $292.00 - - azurerm_service_plan.example["Windows.P1v2.2"] - └─ Instance usage (P1v2) 1,460 hours $292.00 - - azurerm_service_plan.example["Windows.P2v2.1"] - └─ Instance usage (P2v2) 730 hours $292.00 - - azurerm_service_plan.example["Windows.S2.2"] - └─ Instance usage (S2) 1,460 hours $292.00 - - azurerm_service_plan.example["Windows.S3.1"] - └─ Instance usage (S3) 730 hours $292.00 - - azurerm_service_plan.example["WindowsContainer.P0v3.2"] - └─ Instance usage (P0v3) 1,460 hours $292.00 - - azurerm_service_plan.example["WindowsContainer.P1v2.2"] - └─ Instance usage (P1v2) 1,460 hours $292.00 - - azurerm_service_plan.example["WindowsContainer.P2v2.1"] - └─ Instance usage (P2v2) 730 hours $292.00 - - azurerm_service_plan.example["WindowsContainer.S2.2"] - └─ Instance usage (S2) 1,460 hours $292.00 - - azurerm_service_plan.example["WindowsContainer.S3.1"] - └─ Instance usage (S3) 730 hours $292.00 - - azurerm_service_plan.example["Linux.I1v2.1"] - └─ Instance usage (I1v2) 730 hours $281.78 - - azurerm_service_plan.example["Linux.S2.2"] - └─ Instance usage (S2) 1,460 hours $277.40 - - azurerm_service_plan.example["Linux.S3.1"] - └─ Instance usage (S3) 730 hours $277.40 - - azurerm_service_plan.example["Linux.P1mv3.2"] - └─ Instance usage (P1mv3) 1,460 hours $271.56 - - azurerm_service_plan.example["Linux.P2mv3.1"] - └─ Instance usage (P2mv3) 730 hours $271.56 - - azurerm_service_plan.example["Windows.P1mv3.1"] - └─ Instance usage (P1mv3) 730 hours $252.58 - - azurerm_service_plan.example["WindowsContainer.P1mv3.1"] - └─ Instance usage (P1mv3) 730 hours $252.58 - - azurerm_service_plan.example["Windows.P1v3.1"] - └─ Instance usage (P1v3) 730 hours $229.95 - - azurerm_service_plan.example["WindowsContainer.P1v3.1"] - └─ Instance usage (P1v3) 730 hours $229.95 - - azurerm_service_plan.example["Linux.P1v3.2"] - └─ Instance usage (P1v3) 1,460 hours $226.30 - - azurerm_service_plan.example["Linux.P2v3.1"] - └─ Instance usage (P2v3) 730 hours $226.30 - - azurerm_service_plan.example["Linux.P0v3.3"] - └─ Instance usage (P0v3) 2,190 hours $221.19 - - azurerm_service_plan.example["Linux.P1v2.3"] - └─ Instance usage (P1v2) 2,190 hours $221.19 - - azurerm_service_plan.example["Linux.I1.1"] - └─ Instance usage (I1) 730 hours $219.00 - - azurerm_service_plan.example["Windows.B2.2"] - └─ Instance usage (B2) 1,460 hours $219.00 - - azurerm_service_plan.example["Windows.B3.1"] - └─ Instance usage (B3) 730 hours $219.00 - - azurerm_service_plan.example["Windows.I1.1"] - └─ Instance usage (I1) 730 hours $219.00 - - azurerm_service_plan.example["Windows.S1.3"] - └─ Instance usage (S1) 2,190 hours $219.00 - - azurerm_service_plan.example["WindowsContainer.B2.2"] - └─ Instance usage (B2) 1,460 hours $219.00 - - azurerm_service_plan.example["WindowsContainer.B3.1"] - └─ Instance usage (B3) 730 hours $219.00 - - azurerm_service_plan.example["WindowsContainer.I1.1"] - └─ Instance usage (I1) 730 hours $219.00 - - azurerm_service_plan.example["WindowsContainer.S1.3"] - └─ Instance usage (S1) 2,190 hours $219.00 - - azurerm_service_plan.example["Linux.S1.3"] - └─ Instance usage (S1) 2,190 hours $208.05 - - azurerm_service_plan.example["Windows.B1.3"] - └─ Instance usage (B1) 2,190 hours $164.25 - - azurerm_service_plan.example["WindowsContainer.B1.3"] - └─ Instance usage (B1) 2,190 hours $164.25 - - azurerm_service_plan.example["Linux.P0v3.2"] - └─ Instance usage (P0v3) 1,460 hours $147.46 - - azurerm_service_plan.example["Linux.P1v2.2"] - └─ Instance usage (P1v2) 1,460 hours $147.46 - - azurerm_service_plan.example["Linux.P2v2.1"] - └─ Instance usage (P2v2) 730 hours $147.46 - - azurerm_service_plan.example["Linux.B3.3"] - └─ Instance usage (B3) 2,190 hours $146.73 - - azurerm_service_plan.example["Windows.P0v3.1"] - └─ Instance usage (P0v3) 730 hours $146.00 - - azurerm_service_plan.example["Windows.P1v2.1"] - └─ Instance usage (P1v2) 730 hours $146.00 - - azurerm_service_plan.example["Windows.S1.2"] - └─ Instance usage (S1) 1,460 hours $146.00 - - azurerm_service_plan.example["Windows.S2.1"] - └─ Instance usage (S2) 730 hours $146.00 - - azurerm_service_plan.example["WindowsContainer.P0v3.1"] - └─ Instance usage (P0v3) 730 hours $146.00 - - azurerm_service_plan.example["WindowsContainer.P1v2.1"] - └─ Instance usage (P1v2) 730 hours $146.00 - - azurerm_service_plan.example["WindowsContainer.S1.2"] - └─ Instance usage (S1) 1,460 hours $146.00 - - azurerm_service_plan.example["WindowsContainer.S2.1"] - └─ Instance usage (S2) 730 hours $146.00 - - azurerm_service_plan.example["Linux.S1.2"] - └─ Instance usage (S1) 1,460 hours $138.70 - - azurerm_service_plan.example["Linux.S2.1"] - └─ Instance usage (S2) 730 hours $138.70 - - azurerm_service_plan.example["Linux.P1mv3.1"] - └─ Instance usage (P1mv3) 730 hours $135.78 - - azurerm_service_plan.example["Linux.P1v3.1"] - └─ Instance usage (P1v3) 730 hours $113.15 - - azurerm_service_plan.example["Windows.B1.2"] - └─ Instance usage (B1) 1,460 hours $109.50 - - azurerm_service_plan.example["Windows.B2.1"] - └─ Instance usage (B2) 730 hours $109.50 - - azurerm_service_plan.example["WindowsContainer.B1.2"] - └─ Instance usage (B1) 1,460 hours $109.50 - - azurerm_service_plan.example["WindowsContainer.B2.1"] - └─ Instance usage (B2) 730 hours $109.50 - - azurerm_service_plan.example["Linux.B3.2"] - └─ Instance usage (B3) 1,460 hours $97.82 - - azurerm_service_plan.example["Linux.B2.3"] - └─ Instance usage (B2) 2,190 hours $74.46 - - azurerm_service_plan.example["Linux.P0v3.1"] - └─ Instance usage (P0v3) 730 hours $73.73 - - azurerm_service_plan.example["Linux.P1v2.1"] - └─ Instance usage (P1v2) 730 hours $73.73 - - azurerm_service_plan.example["Windows.S1.1"] - └─ Instance usage (S1) 730 hours $73.00 - - azurerm_service_plan.example["WindowsContainer.S1.1"] - └─ Instance usage (S1) 730 hours $73.00 - - azurerm_service_plan.example["Linux.S1.1"] - └─ Instance usage (S1) 730 hours $69.35 - - azurerm_service_plan.example["Windows.B1.1"] - └─ Instance usage (B1) 730 hours $54.75 - - azurerm_service_plan.example["WindowsContainer.B1.1"] - └─ Instance usage (B1) 730 hours $54.75 - - azurerm_service_plan.example["Linux.B2.2"] - └─ Instance usage (B2) 1,460 hours $49.64 - - azurerm_service_plan.example["Linux.B3.1"] - └─ Instance usage (B3) 730 hours $48.91 - - azurerm_service_plan.example["Linux.B1.3"] - └─ Instance usage (B1) 2,190 hours $37.23 - - azurerm_service_plan.example["Linux.D1.3"] - └─ Instance usage (D1) 2,190 hours $28.47 - - azurerm_service_plan.example["Linux.SHARED.3"] - └─ Instance usage (SHARED) 2,190 hours $28.47 - - azurerm_service_plan.example["Windows.D1.3"] - └─ Instance usage (D1) 2,190 hours $28.47 - - azurerm_service_plan.example["Windows.SHARED.3"] - └─ Instance usage (SHARED) 2,190 hours $28.47 - - azurerm_service_plan.example["WindowsContainer.D1.3"] - └─ Instance usage (D1) 2,190 hours $28.47 - - azurerm_service_plan.example["WindowsContainer.SHARED.3"] - └─ Instance usage (SHARED) 2,190 hours $28.47 - - azurerm_service_plan.example["Linux.B1.2"] - └─ Instance usage (B1) 1,460 hours $24.82 - - azurerm_service_plan.example["Linux.B2.1"] - └─ Instance usage (B2) 730 hours $24.82 - - azurerm_service_plan.example["Linux.D1.2"] - └─ Instance usage (D1) 1,460 hours $18.98 - - azurerm_service_plan.example["Linux.SHARED.2"] - └─ Instance usage (SHARED) 1,460 hours $18.98 - - azurerm_service_plan.example["Windows.D1.2"] - └─ Instance usage (D1) 1,460 hours $18.98 - - azurerm_service_plan.example["Windows.SHARED.2"] - └─ Instance usage (SHARED) 1,460 hours $18.98 - - azurerm_service_plan.example["WindowsContainer.D1.2"] - └─ Instance usage (D1) 1,460 hours $18.98 - - azurerm_service_plan.example["WindowsContainer.SHARED.2"] - └─ Instance usage (SHARED) 1,460 hours $18.98 - - azurerm_service_plan.example["Linux.B1.1"] - └─ Instance usage (B1) 730 hours $12.41 - - azurerm_service_plan.example["Linux.D1.1"] - └─ Instance usage (D1) 730 hours $9.49 - - azurerm_service_plan.example["Linux.SHARED.1"] - └─ Instance usage (SHARED) 730 hours $9.49 - - azurerm_service_plan.example["Windows.D1.1"] - └─ Instance usage (D1) 730 hours $9.49 - - azurerm_service_plan.example["Windows.SHARED.1"] - └─ Instance usage (SHARED) 730 hours $9.49 - - azurerm_service_plan.example["WindowsContainer.D1.1"] - └─ Instance usage (D1) 730 hours $9.49 - - azurerm_service_plan.example["WindowsContainer.SHARED.1"] - └─ Instance usage (SHARED) 730 hours $9.49 - - azurerm_service_plan.example["Linux.F1.1"] - └─ Instance usage (F1) 730 hours $0.00 - - azurerm_service_plan.example["Linux.F1.2"] - └─ Instance usage (F1) 1,460 hours $0.00 - - azurerm_service_plan.example["Linux.F1.3"] - └─ Instance usage (F1) 2,190 hours $0.00 - - azurerm_service_plan.example["Windows.F1.1"] - └─ Instance usage (F1) 730 hours $0.00 - - azurerm_service_plan.example["Windows.F1.2"] - └─ Instance usage (F1) 1,460 hours $0.00 - - azurerm_service_plan.example["Windows.F1.3"] - └─ Instance usage (F1) 2,190 hours $0.00 - - azurerm_service_plan.example["WindowsContainer.F1.1"] - └─ Instance usage (F1) 730 hours $0.00 - - azurerm_service_plan.example["WindowsContainer.F1.2"] - └─ Instance usage (F1) 1,460 hours $0.00 - - azurerm_service_plan.example["WindowsContainer.F1.3"] - └─ Instance usage (F1) 2,190 hours $0.00 - - OVERALL TOTAL $611,320.98 + Name Monthly Qty Unit Monthly Cost + + azurerm_service_plan.example["Windows.I6v2.3"] + └─ Instance usage (I6v2) 2,190 hours $38,333.76 + + azurerm_service_plan.example["WindowsContainer.I6v2.3"] + └─ Instance usage (I6v2) 2,190 hours $38,333.76 + + azurerm_service_plan.example["Linux.I6v2.3"] + └─ Instance usage (I6v2) 2,190 hours $27,050.88 + + azurerm_service_plan.example["Windows.I6v2.2"] + └─ Instance usage (I6v2) 1,460 hours $25,555.84 + + azurerm_service_plan.example["WindowsContainer.I6v2.2"] + └─ Instance usage (I6v2) 1,460 hours $25,555.84 + + azurerm_service_plan.example["Windows.I5v2.3"] + └─ Instance usage (I5v2) 2,190 hours $19,166.88 + + azurerm_service_plan.example["WindowsContainer.I5v2.3"] + └─ Instance usage (I5v2) 2,190 hours $19,166.88 + + azurerm_service_plan.example["Linux.I6v2.2"] + └─ Instance usage (I6v2) 1,460 hours $18,033.92 + + azurerm_service_plan.example["Linux.I5v2.3"] + └─ Instance usage (I5v2) 2,190 hours $13,525.44 + + azurerm_service_plan.example["Windows.I5v2.2"] + └─ Instance usage (I5v2) 1,460 hours $12,777.92 + + azurerm_service_plan.example["Windows.I6v2.1"] + └─ Instance usage (I6v2) 730 hours $12,777.92 + + azurerm_service_plan.example["WindowsContainer.I5v2.2"] + └─ Instance usage (I5v2) 1,460 hours $12,777.92 + + azurerm_service_plan.example["WindowsContainer.I6v2.1"] + └─ Instance usage (I6v2) 730 hours $12,777.92 + + azurerm_service_plan.example["Windows.P5mv3.3"] + └─ Instance usage (P5mv3) 2,190 hours $12,123.84 + + azurerm_service_plan.example["WindowsContainer.P5mv3.3"] + └─ Instance usage (P5mv3) 2,190 hours $12,123.84 + + azurerm_service_plan.example["Windows.I4v2.3"] + └─ Instance usage (I4v2) 2,190 hours $9,583.44 + + azurerm_service_plan.example["WindowsContainer.I4v2.3"] + └─ Instance usage (I4v2) 2,190 hours $9,583.44 + + azurerm_service_plan.example["Linux.I5v2.2"] + └─ Instance usage (I5v2) 1,460 hours $9,016.96 + + azurerm_service_plan.example["Linux.I6v2.1"] + └─ Instance usage (I6v2) 730 hours $9,016.96 + + azurerm_service_plan.example["Windows.P5mv3.2"] + └─ Instance usage (P5mv3) 1,460 hours $8,082.56 + + azurerm_service_plan.example["WindowsContainer.P5mv3.2"] + └─ Instance usage (P5mv3) 1,460 hours $8,082.56 + + azurerm_service_plan.example["Linux.I4v2.3"] + └─ Instance usage (I4v2) 2,190 hours $6,762.72 + + azurerm_service_plan.example["Linux.P5mv3.3"] + └─ Instance usage (P5mv3) 2,190 hours $6,517.44 + + azurerm_service_plan.example["Windows.I4v2.2"] + └─ Instance usage (I4v2) 1,460 hours $6,388.96 + + azurerm_service_plan.example["Windows.I5v2.1"] + └─ Instance usage (I5v2) 730 hours $6,388.96 + + azurerm_service_plan.example["WindowsContainer.I4v2.2"] + └─ Instance usage (I4v2) 1,460 hours $6,388.96 + + azurerm_service_plan.example["WindowsContainer.I5v2.1"] + └─ Instance usage (I5v2) 730 hours $6,388.96 + + azurerm_service_plan.example["Windows.P4mv3.3"] + └─ Instance usage (P4mv3) 2,190 hours $6,061.92 + + azurerm_service_plan.example["WindowsContainer.P4mv3.3"] + └─ Instance usage (P4mv3) 2,190 hours $6,061.92 + + azurerm_service_plan.example["Windows.I3v2.3"] + └─ Instance usage (I3v2) 2,190 hours $4,791.72 + + azurerm_service_plan.example["WindowsContainer.I3v2.3"] + └─ Instance usage (I3v2) 2,190 hours $4,791.72 + + azurerm_service_plan.example["Linux.I4v2.2"] + └─ Instance usage (I4v2) 1,460 hours $4,508.48 + + azurerm_service_plan.example["Linux.I5v2.1"] + └─ Instance usage (I5v2) 730 hours $4,508.48 + + azurerm_service_plan.example["Linux.P5mv3.2"] + └─ Instance usage (P5mv3) 1,460 hours $4,344.96 + + azurerm_service_plan.example["Windows.P4mv3.2"] + └─ Instance usage (P4mv3) 1,460 hours $4,041.28 + + azurerm_service_plan.example["Windows.P5mv3.1"] + └─ Instance usage (P5mv3) 730 hours $4,041.28 + + azurerm_service_plan.example["WindowsContainer.P4mv3.2"] + └─ Instance usage (P4mv3) 1,460 hours $4,041.28 + + azurerm_service_plan.example["WindowsContainer.P5mv3.1"] + └─ Instance usage (P5mv3) 730 hours $4,041.28 + + azurerm_service_plan.example["Linux.I3v2.3"] + └─ Instance usage (I3v2) 2,190 hours $3,381.36 + + azurerm_service_plan.example["Linux.P4mv3.3"] + └─ Instance usage (P4mv3) 2,190 hours $3,258.72 + + azurerm_service_plan.example["Windows.I3v2.2"] + └─ Instance usage (I3v2) 1,460 hours $3,194.48 + + azurerm_service_plan.example["Windows.I4v2.1"] + └─ Instance usage (I4v2) 730 hours $3,194.48 + + azurerm_service_plan.example["WindowsContainer.I3v2.2"] + └─ Instance usage (I3v2) 1,460 hours $3,194.48 + + azurerm_service_plan.example["WindowsContainer.I4v2.1"] + └─ Instance usage (I4v2) 730 hours $3,194.48 + + azurerm_service_plan.example["Windows.P3mv3.3"] + └─ Instance usage (P3mv3) 2,190 hours $3,030.96 + + azurerm_service_plan.example["WindowsContainer.P3mv3.3"] + └─ Instance usage (P3mv3) 2,190 hours $3,030.96 + + azurerm_service_plan.example["Windows.P3v3.3"] + └─ Instance usage (P3v3) 2,190 hours $2,759.40 + + azurerm_service_plan.example["WindowsContainer.P3v3.3"] + └─ Instance usage (P3v3) 2,190 hours $2,759.40 + + azurerm_service_plan.example["Linux.I3.3"] + └─ Instance usage (I3) 2,190 hours $2,628.00 + + azurerm_service_plan.example["Windows.I3.3"] + └─ Instance usage (I3) 2,190 hours $2,628.00 + + azurerm_service_plan.example["WindowsContainer.I3.3"] + └─ Instance usage (I3) 2,190 hours $2,628.00 + + azurerm_service_plan.example["Windows.I2v2.3"] + └─ Instance usage (I2v2) 2,190 hours $2,395.86 + + azurerm_service_plan.example["WindowsContainer.I2v2.3"] + └─ Instance usage (I2v2) 2,190 hours $2,395.86 + + azurerm_service_plan.example["Linux.I3v2.2"] + └─ Instance usage (I3v2) 1,460 hours $2,254.24 + + azurerm_service_plan.example["Linux.I4v2.1"] + └─ Instance usage (I4v2) 730 hours $2,254.24 + + azurerm_service_plan.example["Linux.P4mv3.2"] + └─ Instance usage (P4mv3) 1,460 hours $2,172.48 + + azurerm_service_plan.example["Linux.P5mv3.1"] + └─ Instance usage (P5mv3) 730 hours $2,172.48 + + azurerm_service_plan.example["Windows.P3mv3.2"] + └─ Instance usage (P3mv3) 1,460 hours $2,020.64 + + azurerm_service_plan.example["Windows.P4mv3.1"] + └─ Instance usage (P4mv3) 730 hours $2,020.64 + + azurerm_service_plan.example["WindowsContainer.P3mv3.2"] + └─ Instance usage (P3mv3) 1,460 hours $2,020.64 + + azurerm_service_plan.example["WindowsContainer.P4mv3.1"] + └─ Instance usage (P4mv3) 730 hours $2,020.64 + + azurerm_service_plan.example["Windows.P3v3.2"] + └─ Instance usage (P3v3) 1,460 hours $1,839.60 + + azurerm_service_plan.example["WindowsContainer.P3v3.2"] + └─ Instance usage (P3v3) 1,460 hours $1,839.60 + + azurerm_service_plan.example["Linux.I3.2"] + └─ Instance usage (I3) 1,460 hours $1,752.00 + + azurerm_service_plan.example["Windows.I3.2"] + └─ Instance usage (I3) 1,460 hours $1,752.00 + + azurerm_service_plan.example["Windows.P3v2.3"] + └─ Instance usage (P3v2) 2,190 hours $1,752.00 + + azurerm_service_plan.example["WindowsContainer.I3.2"] + └─ Instance usage (I3) 1,460 hours $1,752.00 + + azurerm_service_plan.example["WindowsContainer.P3v2.3"] + └─ Instance usage (P3v2) 2,190 hours $1,752.00 + + azurerm_service_plan.example["Linux.I2v2.3"] + └─ Instance usage (I2v2) 2,190 hours $1,690.68 + + azurerm_service_plan.example["Linux.P3mv3.3"] + └─ Instance usage (P3mv3) 2,190 hours $1,629.36 + + azurerm_service_plan.example["Windows.I2v2.2"] + └─ Instance usage (I2v2) 1,460 hours $1,597.24 + + azurerm_service_plan.example["Windows.I3v2.1"] + └─ Instance usage (I3v2) 730 hours $1,597.24 + + azurerm_service_plan.example["WindowsContainer.I2v2.2"] + └─ Instance usage (I2v2) 1,460 hours $1,597.24 + + azurerm_service_plan.example["WindowsContainer.I3v2.1"] + └─ Instance usage (I3v2) 730 hours $1,597.24 + + azurerm_service_plan.example["Windows.P2mv3.3"] + └─ Instance usage (P2mv3) 2,190 hours $1,515.48 + + azurerm_service_plan.example["WindowsContainer.P2mv3.3"] + └─ Instance usage (P2mv3) 2,190 hours $1,515.48 + + azurerm_service_plan.example["Windows.P2v3.3"] + └─ Instance usage (P2v3) 2,190 hours $1,379.70 + + azurerm_service_plan.example["WindowsContainer.P2v3.3"] + └─ Instance usage (P2v3) 2,190 hours $1,379.70 + + azurerm_service_plan.example["Linux.P3v3.3"] + └─ Instance usage (P3v3) 2,190 hours $1,357.80 + + azurerm_service_plan.example["Linux.I2.3"] + └─ Instance usage (I2) 2,190 hours $1,314.00 + + azurerm_service_plan.example["Windows.I2.3"] + └─ Instance usage (I2) 2,190 hours $1,314.00 + + azurerm_service_plan.example["WindowsContainer.I2.3"] + └─ Instance usage (I2) 2,190 hours $1,314.00 + + azurerm_service_plan.example["Windows.I1v2.3"] + └─ Instance usage (I1v2) 2,190 hours $1,197.93 + + azurerm_service_plan.example["WindowsContainer.I1v2.3"] + └─ Instance usage (I1v2) 2,190 hours $1,197.93 + + azurerm_service_plan.example["Windows.P3v2.2"] + └─ Instance usage (P3v2) 1,460 hours $1,168.00 + + azurerm_service_plan.example["WindowsContainer.P3v2.2"] + └─ Instance usage (P3v2) 1,460 hours $1,168.00 + + azurerm_service_plan.example["Linux.I2v2.2"] + └─ Instance usage (I2v2) 1,460 hours $1,127.12 + + azurerm_service_plan.example["Linux.I3v2.1"] + └─ Instance usage (I3v2) 730 hours $1,127.12 + + azurerm_service_plan.example["Linux.P3mv3.2"] + └─ Instance usage (P3mv3) 1,460 hours $1,086.24 + + azurerm_service_plan.example["Linux.P4mv3.1"] + └─ Instance usage (P4mv3) 730 hours $1,086.24 + + azurerm_service_plan.example["Windows.P2mv3.2"] + └─ Instance usage (P2mv3) 1,460 hours $1,010.32 + + azurerm_service_plan.example["Windows.P3mv3.1"] + └─ Instance usage (P3mv3) 730 hours $1,010.32 + + azurerm_service_plan.example["WindowsContainer.P2mv3.2"] + └─ Instance usage (P2mv3) 1,460 hours $1,010.32 + + azurerm_service_plan.example["WindowsContainer.P3mv3.1"] + └─ Instance usage (P3mv3) 730 hours $1,010.32 + + azurerm_service_plan.example["Windows.P2v3.2"] + └─ Instance usage (P2v3) 1,460 hours $919.80 + + azurerm_service_plan.example["Windows.P3v3.1"] + └─ Instance usage (P3v3) 730 hours $919.80 + + azurerm_service_plan.example["WindowsContainer.P2v3.2"] + └─ Instance usage (P2v3) 1,460 hours $919.80 + + azurerm_service_plan.example["WindowsContainer.P3v3.1"] + └─ Instance usage (P3v3) 730 hours $919.80 + + azurerm_service_plan.example["Linux.P3v3.2"] + └─ Instance usage (P3v3) 1,460 hours $905.20 + + azurerm_service_plan.example["Linux.P3v2.3"] + └─ Instance usage (P3v2) 2,190 hours $882.57 + + azurerm_service_plan.example["Linux.I2.2"] + └─ Instance usage (I2) 1,460 hours $876.00 + + azurerm_service_plan.example["Linux.I3.1"] + └─ Instance usage (I3) 730 hours $876.00 + + azurerm_service_plan.example["Windows.I2.2"] + └─ Instance usage (I2) 1,460 hours $876.00 + + azurerm_service_plan.example["Windows.I3.1"] + └─ Instance usage (I3) 730 hours $876.00 + + azurerm_service_plan.example["Windows.P2v2.3"] + └─ Instance usage (P2v2) 2,190 hours $876.00 + + azurerm_service_plan.example["Windows.S3.3"] + └─ Instance usage (S3) 2,190 hours $876.00 + + azurerm_service_plan.example["WindowsContainer.I2.2"] + └─ Instance usage (I2) 1,460 hours $876.00 + + azurerm_service_plan.example["WindowsContainer.I3.1"] + └─ Instance usage (I3) 730 hours $876.00 + + azurerm_service_plan.example["WindowsContainer.P2v2.3"] + └─ Instance usage (P2v2) 2,190 hours $876.00 + + azurerm_service_plan.example["WindowsContainer.S3.3"] + └─ Instance usage (S3) 2,190 hours $876.00 + + azurerm_service_plan.example["Linux.I1v2.3"] + └─ Instance usage (I1v2) 2,190 hours $845.34 + + azurerm_service_plan.example["Linux.S3.3"] + └─ Instance usage (S3) 2,190 hours $832.20 + + azurerm_service_plan.example["Linux.P2mv3.3"] + └─ Instance usage (P2mv3) 2,190 hours $814.68 + + azurerm_service_plan.example["Windows.I1v2.2"] + └─ Instance usage (I1v2) 1,460 hours $798.62 + + azurerm_service_plan.example["Windows.I2v2.1"] + └─ Instance usage (I2v2) 730 hours $798.62 + + azurerm_service_plan.example["WindowsContainer.I1v2.2"] + └─ Instance usage (I1v2) 1,460 hours $798.62 + + azurerm_service_plan.example["WindowsContainer.I2v2.1"] + └─ Instance usage (I2v2) 730 hours $798.62 + + azurerm_service_plan.example["Windows.P1mv3.3"] + └─ Instance usage (P1mv3) 2,190 hours $757.74 + + azurerm_service_plan.example["WindowsContainer.P1mv3.3"] + └─ Instance usage (P1mv3) 2,190 hours $757.74 + + azurerm_service_plan.example["Windows.P1v3.3"] + └─ Instance usage (P1v3) 2,190 hours $689.85 + + azurerm_service_plan.example["WindowsContainer.P1v3.3"] + └─ Instance usage (P1v3) 2,190 hours $689.85 + + azurerm_service_plan.example["Linux.P2v3.3"] + └─ Instance usage (P2v3) 2,190 hours $678.90 + + azurerm_service_plan.example["Linux.I1.3"] + └─ Instance usage (I1) 2,190 hours $657.00 + + azurerm_service_plan.example["Windows.B3.3"] + └─ Instance usage (B3) 2,190 hours $657.00 + + azurerm_service_plan.example["Windows.I1.3"] + └─ Instance usage (I1) 2,190 hours $657.00 + + azurerm_service_plan.example["WindowsContainer.B3.3"] + └─ Instance usage (B3) 2,190 hours $657.00 + + azurerm_service_plan.example["WindowsContainer.I1.3"] + └─ Instance usage (I1) 2,190 hours $657.00 + + azurerm_service_plan.example["Linux.P3v2.2"] + └─ Instance usage (P3v2) 1,460 hours $588.38 + + azurerm_service_plan.example["Windows.P2v2.2"] + └─ Instance usage (P2v2) 1,460 hours $584.00 + + azurerm_service_plan.example["Windows.P3v2.1"] + └─ Instance usage (P3v2) 730 hours $584.00 + + azurerm_service_plan.example["Windows.S3.2"] + └─ Instance usage (S3) 1,460 hours $584.00 + + azurerm_service_plan.example["WindowsContainer.P2v2.2"] + └─ Instance usage (P2v2) 1,460 hours $584.00 + + azurerm_service_plan.example["WindowsContainer.P3v2.1"] + └─ Instance usage (P3v2) 730 hours $584.00 + + azurerm_service_plan.example["WindowsContainer.S3.2"] + └─ Instance usage (S3) 1,460 hours $584.00 + + azurerm_service_plan.example["Linux.I1v2.2"] + └─ Instance usage (I1v2) 1,460 hours $563.56 + + azurerm_service_plan.example["Linux.I2v2.1"] + └─ Instance usage (I2v2) 730 hours $563.56 + + azurerm_service_plan.example["Linux.S3.2"] + └─ Instance usage (S3) 1,460 hours $554.80 + + azurerm_service_plan.example["Linux.P2mv3.2"] + └─ Instance usage (P2mv3) 1,460 hours $543.12 + + azurerm_service_plan.example["Linux.P3mv3.1"] + └─ Instance usage (P3mv3) 730 hours $543.12 + + azurerm_service_plan.example["Windows.P1mv3.2"] + └─ Instance usage (P1mv3) 1,460 hours $505.16 + + azurerm_service_plan.example["Windows.P2mv3.1"] + └─ Instance usage (P2mv3) 730 hours $505.16 + + azurerm_service_plan.example["WindowsContainer.P1mv3.2"] + └─ Instance usage (P1mv3) 1,460 hours $505.16 + + azurerm_service_plan.example["WindowsContainer.P2mv3.1"] + └─ Instance usage (P2mv3) 730 hours $505.16 + + azurerm_service_plan.example["Windows.P1v3.2"] + └─ Instance usage (P1v3) 1,460 hours $459.90 + + azurerm_service_plan.example["Windows.P2v3.1"] + └─ Instance usage (P2v3) 730 hours $459.90 + + azurerm_service_plan.example["WindowsContainer.P1v3.2"] + └─ Instance usage (P1v3) 1,460 hours $459.90 + + azurerm_service_plan.example["WindowsContainer.P2v3.1"] + └─ Instance usage (P2v3) 730 hours $459.90 + + azurerm_service_plan.example["Linux.P2v3.2"] + └─ Instance usage (P2v3) 1,460 hours $452.60 + + azurerm_service_plan.example["Linux.P3v3.1"] + └─ Instance usage (P3v3) 730 hours $452.60 + + azurerm_service_plan.example["Linux.P2v2.3"] + └─ Instance usage (P2v2) 2,190 hours $442.38 + + azurerm_service_plan.example["Linux.I1.2"] + └─ Instance usage (I1) 1,460 hours $438.00 + + azurerm_service_plan.example["Linux.I2.1"] + └─ Instance usage (I2) 730 hours $438.00 + + azurerm_service_plan.example["Windows.B3.2"] + └─ Instance usage (B3) 1,460 hours $438.00 + + azurerm_service_plan.example["Windows.I1.2"] + └─ Instance usage (I1) 1,460 hours $438.00 + + azurerm_service_plan.example["Windows.I2.1"] + └─ Instance usage (I2) 730 hours $438.00 + + azurerm_service_plan.example["Windows.P0v3.3"] + └─ Instance usage (P0v3) 2,190 hours $438.00 + + azurerm_service_plan.example["Windows.P1v2.3"] + └─ Instance usage (P1v2) 2,190 hours $438.00 + + azurerm_service_plan.example["Windows.S2.3"] + └─ Instance usage (S2) 2,190 hours $438.00 + + azurerm_service_plan.example["WindowsContainer.B3.2"] + └─ Instance usage (B3) 1,460 hours $438.00 + + azurerm_service_plan.example["WindowsContainer.I1.2"] + └─ Instance usage (I1) 1,460 hours $438.00 + + azurerm_service_plan.example["WindowsContainer.I2.1"] + └─ Instance usage (I2) 730 hours $438.00 + + azurerm_service_plan.example["WindowsContainer.P0v3.3"] + └─ Instance usage (P0v3) 2,190 hours $438.00 + + azurerm_service_plan.example["WindowsContainer.P1v2.3"] + └─ Instance usage (P1v2) 2,190 hours $438.00 + + azurerm_service_plan.example["WindowsContainer.S2.3"] + └─ Instance usage (S2) 2,190 hours $438.00 + + azurerm_service_plan.example["Linux.S2.3"] + └─ Instance usage (S2) 2,190 hours $416.10 + + azurerm_service_plan.example["Linux.P1mv3.3"] + └─ Instance usage (P1mv3) 2,190 hours $407.34 + + azurerm_service_plan.example["Windows.I1v2.1"] + └─ Instance usage (I1v2) 730 hours $399.31 + + azurerm_service_plan.example["WindowsContainer.I1v2.1"] + └─ Instance usage (I1v2) 730 hours $399.31 + + azurerm_service_plan.example["Linux.P1v3.3"] + └─ Instance usage (P1v3) 2,190 hours $339.45 + + azurerm_service_plan.example["Windows.B2.3"] + └─ Instance usage (B2) 2,190 hours $328.50 + + azurerm_service_plan.example["WindowsContainer.B2.3"] + └─ Instance usage (B2) 2,190 hours $328.50 + + azurerm_service_plan.example["Linux.P2v2.2"] + └─ Instance usage (P2v2) 1,460 hours $294.92 + + azurerm_service_plan.example["Linux.P3v2.1"] + └─ Instance usage (P3v2) 730 hours $294.19 + + azurerm_service_plan.example["Windows.P0v3.2"] + └─ Instance usage (P0v3) 1,460 hours $292.00 + + azurerm_service_plan.example["Windows.P1v2.2"] + └─ Instance usage (P1v2) 1,460 hours $292.00 + + azurerm_service_plan.example["Windows.P2v2.1"] + └─ Instance usage (P2v2) 730 hours $292.00 + + azurerm_service_plan.example["Windows.S2.2"] + └─ Instance usage (S2) 1,460 hours $292.00 + + azurerm_service_plan.example["Windows.S3.1"] + └─ Instance usage (S3) 730 hours $292.00 + + azurerm_service_plan.example["WindowsContainer.P0v3.2"] + └─ Instance usage (P0v3) 1,460 hours $292.00 + + azurerm_service_plan.example["WindowsContainer.P1v2.2"] + └─ Instance usage (P1v2) 1,460 hours $292.00 + + azurerm_service_plan.example["WindowsContainer.P2v2.1"] + └─ Instance usage (P2v2) 730 hours $292.00 + + azurerm_service_plan.example["WindowsContainer.S2.2"] + └─ Instance usage (S2) 1,460 hours $292.00 + + azurerm_service_plan.example["WindowsContainer.S3.1"] + └─ Instance usage (S3) 730 hours $292.00 + + azurerm_service_plan.example["Linux.I1v2.1"] + └─ Instance usage (I1v2) 730 hours $281.78 + + azurerm_service_plan.example["Linux.S2.2"] + └─ Instance usage (S2) 1,460 hours $277.40 + + azurerm_service_plan.example["Linux.S3.1"] + └─ Instance usage (S3) 730 hours $277.40 + + azurerm_service_plan.example["Linux.P1mv3.2"] + └─ Instance usage (P1mv3) 1,460 hours $271.56 + + azurerm_service_plan.example["Linux.P2mv3.1"] + └─ Instance usage (P2mv3) 730 hours $271.56 + + azurerm_service_plan.example["Windows.P1mv3.1"] + └─ Instance usage (P1mv3) 730 hours $252.58 + + azurerm_service_plan.example["WindowsContainer.P1mv3.1"] + └─ Instance usage (P1mv3) 730 hours $252.58 + + azurerm_service_plan.example["Windows.P1v3.1"] + └─ Instance usage (P1v3) 730 hours $229.95 + + azurerm_service_plan.example["WindowsContainer.P1v3.1"] + └─ Instance usage (P1v3) 730 hours $229.95 + + azurerm_service_plan.example["Linux.P1v3.2"] + └─ Instance usage (P1v3) 1,460 hours $226.30 + + azurerm_service_plan.example["Linux.P2v3.1"] + └─ Instance usage (P2v3) 730 hours $226.30 + + azurerm_service_plan.example["Linux.P0v3.3"] + └─ Instance usage (P0v3) 2,190 hours $221.19 + + azurerm_service_plan.example["Linux.P1v2.3"] + └─ Instance usage (P1v2) 2,190 hours $221.19 + + azurerm_service_plan.example["Linux.I1.1"] + └─ Instance usage (I1) 730 hours $219.00 + + azurerm_service_plan.example["Windows.B2.2"] + └─ Instance usage (B2) 1,460 hours $219.00 + + azurerm_service_plan.example["Windows.B3.1"] + └─ Instance usage (B3) 730 hours $219.00 + + azurerm_service_plan.example["Windows.I1.1"] + └─ Instance usage (I1) 730 hours $219.00 + + azurerm_service_plan.example["Windows.S1.3"] + └─ Instance usage (S1) 2,190 hours $219.00 + + azurerm_service_plan.example["WindowsContainer.B2.2"] + └─ Instance usage (B2) 1,460 hours $219.00 + + azurerm_service_plan.example["WindowsContainer.B3.1"] + └─ Instance usage (B3) 730 hours $219.00 + + azurerm_service_plan.example["WindowsContainer.I1.1"] + └─ Instance usage (I1) 730 hours $219.00 + + azurerm_service_plan.example["WindowsContainer.S1.3"] + └─ Instance usage (S1) 2,190 hours $219.00 + + azurerm_service_plan.example["Linux.S1.3"] + └─ Instance usage (S1) 2,190 hours $208.05 + + azurerm_service_plan.example["Windows.B1.3"] + └─ Instance usage (B1) 2,190 hours $164.25 + + azurerm_service_plan.example["WindowsContainer.B1.3"] + └─ Instance usage (B1) 2,190 hours $164.25 + + azurerm_service_plan.example["Linux.P0v3.2"] + └─ Instance usage (P0v3) 1,460 hours $147.46 + + azurerm_service_plan.example["Linux.P1v2.2"] + └─ Instance usage (P1v2) 1,460 hours $147.46 + + azurerm_service_plan.example["Linux.P2v2.1"] + └─ Instance usage (P2v2) 730 hours $147.46 + + azurerm_service_plan.example["Linux.B3.3"] + └─ Instance usage (B3) 2,190 hours $146.73 + + azurerm_service_plan.example["Windows.P0v3.1"] + └─ Instance usage (P0v3) 730 hours $146.00 + + azurerm_service_plan.example["Windows.P1v2.1"] + └─ Instance usage (P1v2) 730 hours $146.00 + + azurerm_service_plan.example["Windows.S1.2"] + └─ Instance usage (S1) 1,460 hours $146.00 + + azurerm_service_plan.example["Windows.S2.1"] + └─ Instance usage (S2) 730 hours $146.00 + + azurerm_service_plan.example["WindowsContainer.P0v3.1"] + └─ Instance usage (P0v3) 730 hours $146.00 + + azurerm_service_plan.example["WindowsContainer.P1v2.1"] + └─ Instance usage (P1v2) 730 hours $146.00 + + azurerm_service_plan.example["WindowsContainer.S1.2"] + └─ Instance usage (S1) 1,460 hours $146.00 + + azurerm_service_plan.example["WindowsContainer.S2.1"] + └─ Instance usage (S2) 730 hours $146.00 + + azurerm_service_plan.example["Linux.S1.2"] + └─ Instance usage (S1) 1,460 hours $138.70 + + azurerm_service_plan.example["Linux.S2.1"] + └─ Instance usage (S2) 730 hours $138.70 + + azurerm_service_plan.example["Linux.P1mv3.1"] + └─ Instance usage (P1mv3) 730 hours $135.78 + + azurerm_service_plan.example["Linux.P1v3.1"] + └─ Instance usage (P1v3) 730 hours $113.15 + + azurerm_service_plan.example["Windows.B1.2"] + └─ Instance usage (B1) 1,460 hours $109.50 + + azurerm_service_plan.example["Windows.B2.1"] + └─ Instance usage (B2) 730 hours $109.50 + + azurerm_service_plan.example["WindowsContainer.B1.2"] + └─ Instance usage (B1) 1,460 hours $109.50 + + azurerm_service_plan.example["WindowsContainer.B2.1"] + └─ Instance usage (B2) 730 hours $109.50 + + azurerm_service_plan.example["Linux.B3.2"] + └─ Instance usage (B3) 1,460 hours $97.82 + + azurerm_service_plan.example["Linux.B2.3"] + └─ Instance usage (B2) 2,190 hours $74.46 + + azurerm_service_plan.example["Linux.P0v3.1"] + └─ Instance usage (P0v3) 730 hours $73.73 + + azurerm_service_plan.example["Linux.P1v2.1"] + └─ Instance usage (P1v2) 730 hours $73.73 + + azurerm_service_plan.example["Windows.S1.1"] + └─ Instance usage (S1) 730 hours $73.00 + + azurerm_service_plan.example["WindowsContainer.S1.1"] + └─ Instance usage (S1) 730 hours $73.00 + + azurerm_service_plan.example["Linux.S1.1"] + └─ Instance usage (S1) 730 hours $69.35 + + azurerm_service_plan.example["Windows.B1.1"] + └─ Instance usage (B1) 730 hours $54.75 + + azurerm_service_plan.example["WindowsContainer.B1.1"] + └─ Instance usage (B1) 730 hours $54.75 + + azurerm_service_plan.example["Linux.B2.2"] + └─ Instance usage (B2) 1,460 hours $49.64 + + azurerm_service_plan.example["Linux.B3.1"] + └─ Instance usage (B3) 730 hours $48.91 + + azurerm_service_plan.example["Linux.B1.3"] + └─ Instance usage (B1) 2,190 hours $37.23 + + azurerm_service_plan.example["Linux.D1.3"] + └─ Instance usage (D1) 2,190 hours $28.47 + + azurerm_service_plan.example["Linux.SHARED.3"] + └─ Instance usage (SHARED) 2,190 hours $28.47 + + azurerm_service_plan.example["Windows.D1.3"] + └─ Instance usage (D1) 2,190 hours $28.47 + + azurerm_service_plan.example["Windows.SHARED.3"] + └─ Instance usage (SHARED) 2,190 hours $28.47 + + azurerm_service_plan.example["WindowsContainer.D1.3"] + └─ Instance usage (D1) 2,190 hours $28.47 + + azurerm_service_plan.example["WindowsContainer.SHARED.3"] + └─ Instance usage (SHARED) 2,190 hours $28.47 + + azurerm_service_plan.example["Linux.B1.2"] + └─ Instance usage (B1) 1,460 hours $24.82 + + azurerm_service_plan.example["Linux.B2.1"] + └─ Instance usage (B2) 730 hours $24.82 + + azurerm_service_plan.example["Linux.D1.2"] + └─ Instance usage (D1) 1,460 hours $18.98 + + azurerm_service_plan.example["Linux.SHARED.2"] + └─ Instance usage (SHARED) 1,460 hours $18.98 + + azurerm_service_plan.example["Windows.D1.2"] + └─ Instance usage (D1) 1,460 hours $18.98 + + azurerm_service_plan.example["Windows.SHARED.2"] + └─ Instance usage (SHARED) 1,460 hours $18.98 + + azurerm_service_plan.example["WindowsContainer.D1.2"] + └─ Instance usage (D1) 1,460 hours $18.98 + + azurerm_service_plan.example["WindowsContainer.SHARED.2"] + └─ Instance usage (SHARED) 1,460 hours $18.98 + + azurerm_service_plan.example["Linux.B1.1"] + └─ Instance usage (B1) 730 hours $12.41 + + azurerm_service_plan.example["Linux.D1.1"] + └─ Instance usage (D1) 730 hours $9.49 + + azurerm_service_plan.example["Linux.SHARED.1"] + └─ Instance usage (SHARED) 730 hours $9.49 + + azurerm_service_plan.example["Windows.D1.1"] + └─ Instance usage (D1) 730 hours $9.49 + + azurerm_service_plan.example["Windows.SHARED.1"] + └─ Instance usage (SHARED) 730 hours $9.49 + + azurerm_service_plan.example["WindowsContainer.D1.1"] + └─ Instance usage (D1) 730 hours $9.49 + + azurerm_service_plan.example["WindowsContainer.SHARED.1"] + └─ Instance usage (SHARED) 730 hours $9.49 + + azurerm_service_plan.example["Linux.F1.1"] + └─ Instance usage (F1) 730 hours $0.00 + + azurerm_service_plan.example["Linux.F1.2"] + └─ Instance usage (F1) 1,460 hours $0.00 + + azurerm_service_plan.example["Linux.F1.3"] + └─ Instance usage (F1) 2,190 hours $0.00 + + azurerm_service_plan.example["Windows.F1.1"] + └─ Instance usage (F1) 730 hours $0.00 + + azurerm_service_plan.example["Windows.F1.2"] + └─ Instance usage (F1) 1,460 hours $0.00 + + azurerm_service_plan.example["Windows.F1.3"] + └─ Instance usage (F1) 2,190 hours $0.00 + + azurerm_service_plan.example["WindowsContainer.F1.1"] + └─ Instance usage (F1) 730 hours $0.00 + + azurerm_service_plan.example["WindowsContainer.F1.2"] + └─ Instance usage (F1) 1,460 hours $0.00 + + azurerm_service_plan.example["WindowsContainer.F1.3"] + └─ Instance usage (F1) 2,190 hours $0.00 + + OVERALL TOTAL $611,320.98 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 334 cloud resources were detected: ∙ 270 were estimated ∙ 64 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMServicePlan ┃ $611,321 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMServicePlan ┃ $611,321 ┃ $0.00 ┃ $611,321 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.1"] Instance usage (F1), using the first price diff --git a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden index 8d973975352..bd920f1a67c 100644 --- a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden @@ -1,64 +1,67 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_servicebus_namespace.servicebus_namespace_with_usage["Standard.0"] - ├─ Base charge 730 hours $9.81 - ├─ Messaging operations (13M-100M) 87 1M operations $69.60 - ├─ Messaging operations (100M-2,500M) 2,400 1M operations $1,200.00 - ├─ Messaging operations (over 2,500M) 500 1M operations $100.00 - ├─ Brokered connections (1K-100K) 99,000 connections $2,970.00 - ├─ Brokered connections (100K-500K) 400,000 connections $6,000.00 - └─ Brokered connections (over 500K) 500,000 connections $12,500.00 - - azurerm_servicebus_namespace.servicebus_namespace["Premium.16"] - └─ Messaging units 16 units $10,833.20 - - azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.16"] - └─ Messaging units 16 units $10,833.20 - - azurerm_servicebus_namespace.servicebus_namespace["Premium.8"] - └─ Messaging units 8 units $5,416.60 - - azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.8"] - └─ Messaging units 8 units $5,416.60 - - azurerm_servicebus_namespace.servicebus_namespace["Premium.4"] - └─ Messaging units 4 units $2,708.30 - - azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.4"] - └─ Messaging units 4 units $2,708.30 - - azurerm_servicebus_namespace.servicebus_namespace["Premium.2"] - └─ Messaging units 2 units $1,354.15 - - azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.2"] - └─ Messaging units 2 units $1,354.15 - - azurerm_servicebus_namespace.servicebus_namespace["Premium.1"] - └─ Messaging units 1 units $677.08 - - azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.1"] - └─ Messaging units 1 units $677.08 - - azurerm_servicebus_namespace.servicebus_namespace_with_usage["Basic.0"] - └─ Messaging operations 1,000 1M operations $50.00 - - azurerm_servicebus_namespace.servicebus_namespace["Standard.0"] - ├─ Base charge 730 hours $9.81 - ├─ Messaging operations (13M-100M) Monthly cost depends on usage: $0.80 per 1M operations - └─ Brokered connections (1K-100K) Monthly cost depends on usage: $0.03 per connections - - azurerm_servicebus_namespace.servicebus_namespace["Basic.0"] - └─ Messaging operations Monthly cost depends on usage: $0.05 per 1M operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_servicebus_namespace.servicebus_namespace_with_usage["Standard.0"] + ├─ Base charge 730 hours $9.81 + ├─ Messaging operations (13M-100M) 87 1M operations $69.60 * + ├─ Messaging operations (100M-2,500M) 2,400 1M operations $1,200.00 * + ├─ Messaging operations (over 2,500M) 500 1M operations $100.00 * + ├─ Brokered connections (1K-100K) 99,000 connections $2,970.00 * + ├─ Brokered connections (100K-500K) 400,000 connections $6,000.00 * + └─ Brokered connections (over 500K) 500,000 connections $12,500.00 * + + azurerm_servicebus_namespace.servicebus_namespace["Premium.16"] + └─ Messaging units 16 units $10,833.20 + + azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.16"] + └─ Messaging units 16 units $10,833.20 + + azurerm_servicebus_namespace.servicebus_namespace["Premium.8"] + └─ Messaging units 8 units $5,416.60 + + azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.8"] + └─ Messaging units 8 units $5,416.60 + + azurerm_servicebus_namespace.servicebus_namespace["Premium.4"] + └─ Messaging units 4 units $2,708.30 + + azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.4"] + └─ Messaging units 4 units $2,708.30 + + azurerm_servicebus_namespace.servicebus_namespace["Premium.2"] + └─ Messaging units 2 units $1,354.15 + + azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.2"] + └─ Messaging units 2 units $1,354.15 + + azurerm_servicebus_namespace.servicebus_namespace["Premium.1"] + └─ Messaging units 1 units $677.08 + + azurerm_servicebus_namespace.servicebus_namespace_with_usage["Premium.1"] + └─ Messaging units 1 units $677.08 + + azurerm_servicebus_namespace.servicebus_namespace_with_usage["Basic.0"] + └─ Messaging operations 1,000 1M operations $50.00 * + + azurerm_servicebus_namespace.servicebus_namespace["Standard.0"] + ├─ Base charge 730 hours $9.81 + ├─ Messaging operations (13M-100M) Monthly cost depends on usage: $0.80 per 1M operations + └─ Brokered connections (1K-100K) Monthly cost depends on usage: $0.03 per connections + + azurerm_servicebus_namespace.servicebus_namespace["Basic.0"] + └─ Messaging operations Monthly cost depends on usage: $0.05 per 1M operations + OVERALL TOTAL $64,887.87 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 15 cloud resources were detected: ∙ 14 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestServiceBusNamespace ┃ $64,888 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestServiceBusNamespace ┃ $41,998 ┃ $22,890 ┃ $64,888 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden index 11fff20bb5a..ae80dbbb86c 100644 --- a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden +++ b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden @@ -1,30 +1,33 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_signalr_service.example_with_usage["Premium_P1"] - ├─ Service usage (Premium) 5 units $304.17 - └─ Additional messages (Premium) 12.3456 1M messages $12.35 - - azurerm_signalr_service.example_with_usage["Standard_S1"] - ├─ Service usage (Standard) 5 units $244.85 - └─ Additional messages (Standard) 1.2345 1M messages $1.23 - - azurerm_signalr_service.example["Premium_P1"] - ├─ Service usage (Premium) 1 units $60.83 - └─ Additional messages (Premium) Monthly cost depends on usage: $1.00 per 1M messages - - azurerm_signalr_service.example["Standard_S1"] - ├─ Service usage (Standard) 1 units $48.97 - └─ Additional messages (Standard) Monthly cost depends on usage: $1.00 per 1M messages - + Name Monthly Qty Unit Monthly Cost + + azurerm_signalr_service.example_with_usage["Premium_P1"] + ├─ Service usage (Premium) 5 units $304.17 + └─ Additional messages (Premium) 12.3456 1M messages $12.35 * + + azurerm_signalr_service.example_with_usage["Standard_S1"] + ├─ Service usage (Standard) 5 units $244.85 + └─ Additional messages (Standard) 1.2345 1M messages $1.23 * + + azurerm_signalr_service.example["Premium_P1"] + ├─ Service usage (Premium) 1 units $60.83 + └─ Additional messages (Premium) Monthly cost depends on usage: $1.00 per 1M messages + + azurerm_signalr_service.example["Standard_S1"] + ├─ Service usage (Standard) 1 units $48.97 + └─ Additional messages (Standard) Monthly cost depends on usage: $1.00 per 1M messages + OVERALL TOTAL $672.41 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 4 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSignalRService ┃ $672 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSignalRService ┃ $659 ┃ $14 ┃ $672 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden index 2512f6b91d8..bf44b9d0bf6 100644 --- a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden +++ b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden @@ -1,30 +1,33 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_snapshot.example_usage["managed"] - └─ Storage 300 GB $15.00 - - azurerm_snapshot.example_usage["source"] - └─ Storage 300 GB $15.00 - - azurerm_managed_disk.example - ├─ Storage (S10, LRS) 1 months $5.89 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_snapshot.example["managed"] - └─ Storage 70 GB $3.50 - - azurerm_snapshot.example["source"] - └─ Storage 20 GB $1.00 - - OVERALL TOTAL $40.39 + Name Monthly Qty Unit Monthly Cost + + azurerm_snapshot.example_usage["managed"] + └─ Storage 300 GB $15.00 + + azurerm_snapshot.example_usage["source"] + └─ Storage 300 GB $15.00 + + azurerm_managed_disk.example + ├─ Storage (S10, LRS) 1 months $5.89 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_snapshot.example["managed"] + └─ Storage 70 GB $3.50 + + azurerm_snapshot.example["source"] + └─ Storage 20 GB $1.00 + + OVERALL TOTAL $40.39 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 5 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSnapshot ┃ $40 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSnapshot ┃ $40 ┃ $0.00 ┃ $40 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden index e34c31d5c54..bf238b41158 100644 --- a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden @@ -1,93 +1,96 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_sql_database.premium6 - ├─ Compute (P6) 730 hours $3,650.00 - ├─ Extra data storage 500 GB $170.00 - ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.backup - ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 - └─ PITR backup storage (RA-GRS) 500 GB $100.00 - - azurerm_sql_database.sql_database_with_edition_premium - ├─ Compute (P1) 730 hours $456.25 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.sql_database_with_edition_critical - ├─ Compute (provisioned, BC_Gen5_2) 730 hours $444.48 - ├─ Storage 5 GB $1.25 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.sql_database_with_edition_critical_zone_redundant - ├─ Compute (provisioned, BC_Gen5_2) 730 hours $444.48 - ├─ Storage 5 GB $1.25 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.sql_database_with_service_object_name - ├─ Compute (provisioned, BC_Gen5_2) 730 hours $444.48 - ├─ Storage 5 GB $1.25 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.sql_database_with_edition_gen_zone_redundant - ├─ Compute (provisioned, GP_Gen5_2) 730 hours $222.24 - ├─ Zone redundancy (provisioned, GP_Gen5_2) 730 hours $133.34 - ├─ Storage 5 GB $1.15 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.sql_database_with_edition_hyper - ├─ Compute (provisioned, HS_Gen5_2) 730 hours $266.68 - ├─ Read replicas Monthly cost depends on usage: $0.37 per hours - └─ Storage 5 GB $1.25 - - azurerm_sql_database.serverless - ├─ Compute (serverless, GP_S_Gen5_4) 500 vCore-hours $260.88 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.sql_database_with_max_size - ├─ Compute (provisioned, GP_Gen5_2) 730 hours $222.24 - ├─ Storage 10 GB $1.15 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.default_sql_database - ├─ Compute (provisioned, GP_Gen5_2) 730 hours $222.24 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.sql_database_with_edition_gen - ├─ Compute (provisioned, GP_Gen5_2) 730 hours $222.24 - ├─ Storage 5 GB $0.58 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - - azurerm_sql_database.sql_database_with_edition_standard - ├─ Compute (S0) 730 hours $14.72 - ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB - └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_sql_database.premium6 + ├─ Compute (P6) 730 hours $3,650.00 + ├─ Extra data storage 500 GB $170.00 * + ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 * + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.backup + ├─ Compute (provisioned, GP_Gen5_4) 730 hours $444.47 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) 1,000 GB $50.00 * + └─ PITR backup storage (RA-GRS) 500 GB $100.00 * + + azurerm_sql_database.sql_database_with_edition_premium + ├─ Compute (P1) 730 hours $456.25 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.sql_database_with_edition_critical + ├─ Compute (provisioned, BC_Gen5_2) 730 hours $444.48 + ├─ Storage 5 GB $1.25 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.sql_database_with_edition_critical_zone_redundant + ├─ Compute (provisioned, BC_Gen5_2) 730 hours $444.48 + ├─ Storage 5 GB $1.25 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.sql_database_with_service_object_name + ├─ Compute (provisioned, BC_Gen5_2) 730 hours $444.48 + ├─ Storage 5 GB $1.25 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.sql_database_with_edition_gen_zone_redundant + ├─ Compute (provisioned, GP_Gen5_2) 730 hours $222.24 + ├─ Zone redundancy (provisioned, GP_Gen5_2) 730 hours $133.34 + ├─ Storage 5 GB $1.15 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.sql_database_with_edition_hyper + ├─ Compute (provisioned, HS_Gen5_2) 730 hours $266.68 + ├─ Read replicas Monthly cost depends on usage: $0.37 per hours + └─ Storage 5 GB $1.25 + + azurerm_sql_database.serverless + ├─ Compute (serverless, GP_S_Gen5_4) 500 vCore-hours $260.88 * + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.sql_database_with_max_size + ├─ Compute (provisioned, GP_Gen5_2) 730 hours $222.24 + ├─ Storage 10 GB $1.15 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.default_sql_database + ├─ Compute (provisioned, GP_Gen5_2) 730 hours $222.24 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.sql_database_with_edition_gen + ├─ Compute (provisioned, GP_Gen5_2) 730 hours $222.24 + ├─ Storage 5 GB $0.58 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + + azurerm_sql_database.sql_database_with_edition_standard + ├─ Compute (S0) 730 hours $14.72 + ├─ Long-term retention (RA-GRS) Monthly cost depends on usage: $0.05 per GB + └─ PITR backup storage (RA-GRS) Monthly cost depends on usage: $0.20 per GB + OVERALL TOTAL $7,828.32 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 15 cloud resources were detected: ∙ 13 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSQLDatabase ┃ $7,828 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSQLDatabase ┃ $7,197 ┃ $631 ┃ $7,828 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. diff --git a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden index 3d7f202704f..395b8b4af8d 100644 --- a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_sql_elasticpool.premium_500 - ├─ Compute (Premium, 500 DTUs) 730 hours $2,737.50 - └─ Extra data storage 274 GB $121.11 - - azurerm_sql_elasticpool.standard_200 - ├─ Compute (Standard, 200 DTUs) 730 hours $441.04 - └─ Extra data storage 100 GB $22.10 - - azurerm_sql_elasticpool.basic_100 - └─ Compute (Basic, 100 DTUs) 730 hours $147.22 - + Name Monthly Qty Unit Monthly Cost + + azurerm_sql_elasticpool.premium_500 + ├─ Compute (Premium, 500 DTUs) 730 hours $2,737.50 + └─ Extra data storage 274 GB $121.11 * + + azurerm_sql_elasticpool.standard_200 + ├─ Compute (Standard, 200 DTUs) 730 hours $441.04 + └─ Extra data storage 100 GB $22.10 * + + azurerm_sql_elasticpool.basic_100 + └─ Compute (Basic, 100 DTUs) 730 hours $147.22 + OVERALL TOTAL $3,468.97 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 3 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSQLElasticPool ┃ $3,469 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSQLElasticPool ┃ $3,326 ┃ $143 ┃ $3,469 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden index 5712e694455..c3a07c7e943 100644 --- a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden @@ -1,33 +1,36 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_sql_managed_instance.example3 - ├─ Compute (BC_GEN5 40 Cores) 730 hours $9,778.47 - ├─ Storage 32 GB $4.38 - ├─ PITR backup storage (ZRS) 100 GB $14.90 - └─ LTR backup storage (ZRS) 100 GB $3.72 - - azurerm_sql_managed_instance.example2 - ├─ Compute (GP_GEN5 16 Cores) 730 hours $1,955.69 - ├─ Storage 32 GB $4.38 - ├─ PITR backup storage (LRS) Monthly cost depends on usage: $0.12 per GB - └─ LTR backup storage (LRS) Monthly cost depends on usage: $0.0298 per GB - - azurerm_sql_managed_instance.example - ├─ Compute (GP_GEN5 4 Cores) 730 hours $488.92 - ├─ Storage 32 GB $4.38 - ├─ PITR backup storage (LRS) 100 GB $11.90 - ├─ SQL license 2,920 vCore-hours $291.90 - └─ LTR backup storage (LRS) 5 GB $0.15 - + Name Monthly Qty Unit Monthly Cost + + azurerm_sql_managed_instance.example3 + ├─ Compute (BC_GEN5 40 Cores) 730 hours $9,778.47 + ├─ Storage 32 GB $4.38 + ├─ PITR backup storage (ZRS) 100 GB $14.90 * + └─ LTR backup storage (ZRS) 100 GB $3.72 * + + azurerm_sql_managed_instance.example2 + ├─ Compute (GP_GEN5 16 Cores) 730 hours $1,955.69 + ├─ Storage 32 GB $4.38 + ├─ PITR backup storage (LRS) Monthly cost depends on usage: $0.12 per GB + └─ LTR backup storage (LRS) Monthly cost depends on usage: $0.0298 per GB + + azurerm_sql_managed_instance.example + ├─ Compute (GP_GEN5 4 Cores) 730 hours $488.92 + ├─ Storage 32 GB $4.38 + ├─ PITR backup storage (LRS) 100 GB $11.90 * + ├─ SQL license 2,920 vCore-hours $291.90 + └─ LTR backup storage (LRS) 5 GB $0.15 * + OVERALL TOTAL $12,558.78 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 3 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSQLManagedInstance ┃ $12,559 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSQLManagedInstance ┃ $12,528 ┃ $31 ┃ $12,559 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden index d761a18ec39..21ba8cea49e 100644 --- a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden @@ -1,397 +1,400 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_storage_account.storagev2["StorageV2.Premium.ZRS.Cool"] - ├─ Capacity 4,000,000 GB $1,036,000.00 - ├─ Write operations 400 10k operations $12.12 - ├─ List and create container operations 400 10k operations $34.40 - ├─ Read operations 40 10k operations $0.10 - └─ All other operations 400 10k operations $0.97 - - azurerm_storage_account.storagev2["StorageV2.Premium.ZRS.Hot"] - ├─ Capacity 4,000,000 GB $1,036,000.00 - ├─ Write operations 400 10k operations $12.12 - ├─ List and create container operations 400 10k operations $34.40 - ├─ Read operations 40 10k operations $0.10 - └─ All other operations 400 10k operations $0.97 - - azurerm_storage_account.storagev2["StorageV2.Premium.LRS.Cool"] - ├─ Capacity 4,000,000 GB $780,000.00 - ├─ Write operations 400 10k operations $9.12 - ├─ List and create container operations 400 10k operations $26.00 - ├─ Read operations 40 10k operations $0.07 - └─ All other operations 400 10k operations $0.73 - - azurerm_storage_account.storagev2["StorageV2.Premium.LRS.Hot"] - ├─ Capacity 4,000,000 GB $780,000.00 - ├─ Write operations 400 10k operations $9.12 - ├─ List and create container operations 400 10k operations $26.00 - ├─ Read operations 40 10k operations $0.07 - └─ All other operations 400 10k operations $0.73 - - azurerm_storage_account.blob["BlobStorage.Premium.ZRS.Cool"] - ├─ Capacity 2,000,000 GB $518,000.00 - ├─ Write operations 200 10k operations $6.06 - ├─ List and create container operations 200 10k operations $17.20 - ├─ Read operations 20 10k operations $0.05 - └─ All other operations 200 10k operations $0.48 - - azurerm_storage_account.blob["BlobStorage.Premium.ZRS.Hot"] - ├─ Capacity 2,000,000 GB $518,000.00 - ├─ Write operations 200 10k operations $6.06 - ├─ List and create container operations 200 10k operations $17.20 - ├─ Read operations 20 10k operations $0.05 - └─ All other operations 200 10k operations $0.48 - - azurerm_storage_account.blob["BlobStorage.Premium.LRS.Cool"] - ├─ Capacity 2,000,000 GB $390,000.00 - ├─ Write operations 200 10k operations $4.56 - ├─ List and create container operations 200 10k operations $13.00 - ├─ Read operations 20 10k operations $0.04 - └─ All other operations 200 10k operations $0.36 - - azurerm_storage_account.blob["BlobStorage.Premium.LRS.Hot"] - ├─ Capacity 2,000,000 GB $390,000.00 - ├─ Write operations 200 10k operations $4.56 - ├─ List and create container operations 200 10k operations $13.00 - ├─ Read operations 20 10k operations $0.04 - └─ All other operations 200 10k operations $0.36 - - azurerm_storage_account.blockblob["BlockBlobStorage.Premium.ZRS"] - ├─ Capacity 1,000,000 GB $259,000.00 - ├─ Write operations 100 10k operations $3.03 - ├─ List and create container operations 100 10k operations $8.60 - ├─ Read operations 10 10k operations $0.02 - └─ All other operations 100 10k operations $0.24 - - azurerm_storage_account.blockblob["BlockBlobStorage.Premium.LRS"] - ├─ Capacity 1,000,000 GB $195,000.00 - ├─ Write operations 100 10k operations $2.28 - ├─ List and create container operations 100 10k operations $6.50 - ├─ Read operations 10 10k operations $0.02 - └─ All other operations 100 10k operations $0.18 - - azurerm_storage_account.storagev1["Storage.Standard.RAGRS"] - ├─ Capacity 3,000,000 GB $183,000.00 - ├─ Write operations 300 10k operations $0.11 - ├─ List and create container operations 300 10k operations $0.11 - ├─ Read operations 30 10k operations $0.01 - └─ All other operations 300 10k operations $0.11 - - azurerm_storage_account.storagev2["StorageV2.Standard.RAGRS.Hot"] - ├─ Capacity (first 50TB) 51,200 GB $2,447.36 - ├─ Capacity (next 450TB) 512,000 GB $23,494.66 - ├─ Capacity (over 500TB) 3,436,800 GB $151,136.72 - ├─ Write operations 400 10k operations $44.00 - ├─ List and create container operations 400 10k operations $44.00 - ├─ Read operations 40 10k operations $0.18 - ├─ All other operations 400 10k operations $1.76 - └─ Blob index 40 10k tags $2.76 - - azurerm_storage_account.storagev2["StorageV2.Standard.GRS.Hot"] - ├─ Capacity (first 50TB) 51,200 GB $2,344.96 - ├─ Capacity (next 450TB) 512,000 GB $22,511.62 - ├─ Capacity (over 500TB) 3,436,800 GB $144,813.00 - ├─ Write operations 400 10k operations $44.00 - ├─ List and create container operations 400 10k operations $44.00 - ├─ Read operations 40 10k operations $0.18 - ├─ All other operations 400 10k operations $1.76 - └─ Blob index 40 10k tags $2.76 - - azurerm_storage_account.storagev1["Storage.Standard.GRS"] - ├─ Capacity 3,000,000 GB $144,000.00 - ├─ Write operations 300 10k operations $0.11 - ├─ List and create container operations 300 10k operations $0.11 - ├─ Read operations 30 10k operations $0.01 - └─ All other operations 300 10k operations $0.11 - - azurerm_storage_account.storagev2["StorageV2.Standard.RAGRS.Cool"] - ├─ Capacity 4,000,000 GB $115,200.00 - ├─ Write operations 400 10k operations $80.00 - ├─ List and create container operations 400 10k operations $44.00 - ├─ Read operations 40 10k operations $0.40 - ├─ All other operations 400 10k operations $1.76 - ├─ Data retrieval 4,000 GB $40.00 - ├─ Blob index 40 10k tags $2.76 - └─ Early deletion 4,000 GB $140.00 - - azurerm_storage_account.storagev2["StorageV2.Standard.ZRS.Hot"] - ├─ Capacity (first 50TB) 51,200 GB $1,331.20 - ├─ Capacity (next 450TB) 512,000 GB $12,779.52 - ├─ Capacity (over 500TB) 3,436,800 GB $82,208.26 - ├─ List and create container operations 400 10k operations $27.50 - ├─ Read operations 40 10k operations $0.18 - ├─ All other operations 400 10k operations $1.76 - └─ Blob index 40 10k tags $1.56 - - azurerm_storage_account.storagev2["StorageV2.Standard.GRS.Cool"] - ├─ Capacity 4,000,000 GB $92,000.00 - ├─ Write operations 400 10k operations $80.00 - ├─ List and create container operations 400 10k operations $44.00 - ├─ Read operations 40 10k operations $0.40 - ├─ All other operations 400 10k operations $1.76 - ├─ Data retrieval 4,000 GB $40.00 - ├─ Blob index 40 10k tags $2.76 - └─ Early deletion 4,000 GB $133.60 - - azurerm_storage_account.storagev1["Storage.Standard.ZRS"] - ├─ Capacity 3,000,000 GB $90,000.00 - ├─ Write operations 300 10k operations $0.11 - ├─ List and create container operations 300 10k operations $0.11 - ├─ Read operations 30 10k operations $0.01 - └─ All other operations 300 10k operations $0.11 - - azurerm_storage_account.blob["BlobStorage.Standard.GRS.Hot"] - ├─ Capacity (first 50TB) 51,200 GB $2,344.96 - ├─ Capacity (next 450TB) 512,000 GB $22,511.62 - ├─ Capacity (over 500TB) 1,436,800 GB $60,541.00 - ├─ Write operations 200 10k operations $22.00 - ├─ List and create container operations 200 10k operations $22.00 - ├─ Read operations 20 10k operations $0.09 - ├─ All other operations 200 10k operations $0.88 - └─ Blob index 20 10k tags $1.38 - - azurerm_storage_account.storagev2["StorageV2.Standard.LRS.Hot"] - ├─ Capacity (first 50TB) 51,200 GB $1,064.96 - ├─ Capacity (next 450TB) 512,000 GB $10,223.62 - ├─ Capacity (over 500TB) 3,436,800 GB $65,766.60 - ├─ Write operations 400 10k operations $22.00 - ├─ List and create container operations 400 10k operations $22.00 - ├─ Read operations 40 10k operations $0.18 - ├─ All other operations 400 10k operations $1.76 - └─ Blob index 40 10k tags $1.56 - - azurerm_storage_account.storagev1["Storage.Standard.LRS"] - ├─ Capacity 3,000,000 GB $72,000.00 - ├─ Write operations 300 10k operations $0.11 - ├─ List and create container operations 300 10k operations $0.11 - ├─ Read operations 30 10k operations $0.01 - └─ All other operations 300 10k operations $0.11 - - azurerm_storage_account.storagev2["StorageV2.Standard.ZRS.Cool"] - ├─ Capacity 4,000,000 GB $57,600.00 - ├─ Write operations 400 10k operations $40.00 - ├─ List and create container operations 400 10k operations $27.50 - ├─ Read operations 40 10k operations $0.40 - ├─ All other operations 400 10k operations $1.76 - ├─ Data retrieval 4,000 GB $40.00 - ├─ Blob index 40 10k tags $1.56 - └─ Early deletion 4,000 GB $76.00 - - azurerm_storage_account.storagev2["StorageV2.Standard.LRS.Cool"] - ├─ Capacity 4,000,000 GB $46,000.00 - ├─ Write operations 400 10k operations $40.00 - ├─ List and create container operations 400 10k operations $22.00 - ├─ Read operations 40 10k operations $0.40 - ├─ All other operations 400 10k operations $1.76 - ├─ Data retrieval 4,000 GB $40.00 - ├─ Blob index 40 10k tags $1.56 - └─ Early deletion 4,000 GB $60.80 - - azurerm_storage_account.blob["BlobStorage.Standard.GRS.Cool"] - ├─ Capacity 2,000,000 GB $46,000.00 - ├─ Write operations 200 10k operations $40.00 - ├─ List and create container operations 200 10k operations $22.00 - ├─ Read operations 20 10k operations $0.20 - ├─ All other operations 200 10k operations $0.88 - ├─ Data retrieval 2,000 GB $20.00 - └─ Blob index 20 10k tags $1.38 - - azurerm_storage_account.blockblob["BlockBlobStorage.Standard.RAGRS"] - ├─ Capacity (first 50TB) 51,200 GB $2,447.36 - ├─ Capacity (next 450TB) 512,000 GB $23,494.66 - ├─ Capacity (over 500TB) 436,800 GB $19,208.72 - ├─ Write operations 100 10k operations $11.00 - ├─ List and create container operations 100 10k operations $11.00 - ├─ Read operations 10 10k operations $0.04 - ├─ All other operations 100 10k operations $0.44 - └─ Blob index 10 10k tags $0.69 - - azurerm_storage_account.blockblob["BlockBlobStorage.Standard.GRS"] - ├─ Capacity (first 50TB) 51,200 GB $2,344.96 - ├─ Capacity (next 450TB) 512,000 GB $22,511.62 - ├─ Capacity (over 500TB) 436,800 GB $18,405.00 - ├─ Write operations 100 10k operations $11.00 - ├─ List and create container operations 100 10k operations $11.00 - ├─ Read operations 10 10k operations $0.04 - ├─ All other operations 100 10k operations $0.44 - └─ Blob index 10 10k tags $0.69 - - azurerm_storage_account.blob["BlobStorage.Standard.LRS.Hot"] - ├─ Capacity (first 50TB) 51,200 GB $1,064.96 - ├─ Capacity (next 450TB) 512,000 GB $10,223.62 - ├─ Capacity (over 500TB) 1,436,800 GB $27,494.60 - ├─ Write operations 200 10k operations $11.00 - ├─ List and create container operations 200 10k operations $11.00 - ├─ Read operations 20 10k operations $0.09 - ├─ All other operations 200 10k operations $0.88 - └─ Blob index 20 10k tags $0.78 - - azurerm_storage_account.blob["BlobStorage.Standard.LRS.Cool"] - ├─ Capacity 2,000,000 GB $23,000.00 - ├─ Write operations 200 10k operations $20.00 - ├─ List and create container operations 200 10k operations $11.00 - ├─ Read operations 20 10k operations $0.20 - ├─ All other operations 200 10k operations $0.88 - ├─ Data retrieval 2,000 GB $20.00 - └─ Blob index 20 10k tags $0.78 - - azurerm_storage_account.file["FileStorage.Premium.ZRS.Cool"] - ├─ Data at rest 50,000 GB $11,000.00 - └─ Snapshots 50,000 GB $9,350.00 - - azurerm_storage_account.file["FileStorage.Premium.ZRS.Hot"] - ├─ Data at rest 50,000 GB $11,000.00 - └─ Snapshots 50,000 GB $9,350.00 - - azurerm_storage_account.blockblob["BlockBlobStorage.Standard.LRS"] - ├─ Capacity (first 50TB) 51,200 GB $1,064.96 - ├─ Capacity (next 450TB) 512,000 GB $10,223.62 - ├─ Capacity (over 500TB) 436,800 GB $8,358.60 - ├─ Write operations 100 10k operations $5.50 - ├─ List and create container operations 100 10k operations $5.50 - ├─ Read operations 10 10k operations $0.04 - ├─ All other operations 100 10k operations $0.44 - └─ Blob index 10 10k tags $0.39 - - azurerm_storage_account.file["FileStorage.Premium.LRS.Cool"] - ├─ Data at rest 50,000 GB $8,800.00 - └─ Snapshots 50,000 GB $7,500.00 - - azurerm_storage_account.file["FileStorage.Premium.LRS.Hot"] - ├─ Data at rest 50,000 GB $8,800.00 - └─ Snapshots 50,000 GB $7,500.00 - - azurerm_storage_account.file["FileStorage.Standard.GRS.Hot"] - ├─ Data at rest 50,000 GB $3,160.00 - ├─ Snapshots 50,000 GB $3,160.00 - ├─ Metadata at rest 50,000 GB $3,275.00 - ├─ Write operations 600 10k operations $85.80 - ├─ List operations 500 10k operations $71.50 - ├─ Read operations 50 10k operations $0.29 - └─ All other operations 500 10k operations $2.86 - - azurerm_storage_account.file["FileStorage.Standard.GRS.Cool"] - ├─ Data at rest 50,000 GB $2,505.00 - ├─ Snapshots 50,000 GB $2,505.00 - ├─ Metadata at rest 50,000 GB $3,275.00 - ├─ Write operations 600 10k operations $156.00 - ├─ List operations 500 10k operations $71.50 - ├─ Read operations 50 10k operations $0.65 - ├─ All other operations 500 10k operations $2.86 - ├─ Data retrieval 5,000 GB $50.00 - └─ Early deletion 5,000 GB $250.50 - - azurerm_storage_account.file["FileStorage.Standard.ZRS.Hot"] - ├─ Data at rest 50,000 GB $1,800.00 - ├─ Snapshots 50,000 GB $1,800.00 - ├─ Metadata at rest 50,000 GB $1,855.00 - ├─ Write operations 600 10k operations $53.64 - ├─ List operations 500 10k operations $44.70 - ├─ Read operations 50 10k operations $0.29 - └─ All other operations 500 10k operations $2.86 - - azurerm_storage_account.file["FileStorage.Standard.ZRS.Cool"] - ├─ Data at rest 50,000 GB $1,425.00 - ├─ Snapshots 50,000 GB $1,425.00 - ├─ Metadata at rest 50,000 GB $1,855.00 - ├─ Write operations 600 10k operations $78.00 - ├─ List operations 500 10k operations $44.70 - ├─ Read operations 50 10k operations $0.65 - ├─ All other operations 500 10k operations $2.86 - ├─ Data retrieval 5,000 GB $50.00 - └─ Early deletion 5,000 GB $142.50 - - azurerm_storage_account.file["FileStorage.Standard.LRS.Hot"] - ├─ Data at rest 50,000 GB $1,435.00 - ├─ Snapshots 50,000 GB $1,435.00 - ├─ Metadata at rest 50,000 GB $1,485.00 - ├─ Write operations 600 10k operations $42.90 - ├─ List operations 500 10k operations $35.75 - ├─ Read operations 50 10k operations $0.29 - └─ All other operations 500 10k operations $2.86 - - azurerm_storage_account.file["FileStorage.Standard.LRS.Cool"] - ├─ Data at rest 50,000 GB $1,140.00 - ├─ Snapshots 50,000 GB $1,140.00 - ├─ Metadata at rest 50,000 GB $1,485.00 - ├─ Write operations 600 10k operations $78.00 - ├─ List operations 500 10k operations $35.75 - ├─ Read operations 50 10k operations $0.65 - ├─ All other operations 500 10k operations $2.86 - ├─ Data retrieval 5,000 GB $50.00 - └─ Early deletion 5,000 GB $114.00 - - azurerm_storage_account.storagev2["StorageV2.Standard.GZRS.Cool"] - ├─ Read operations 40 10k operations $0.40 - ├─ All other operations 400 10k operations $1.76 - └─ Data retrieval 4,000 GB $40.00 - - azurerm_storage_account.storagev2["StorageV2.Standard.RAGZRS.Cool"] - ├─ Read operations 40 10k operations $0.40 - ├─ All other operations 400 10k operations $1.76 - └─ Data retrieval 4,000 GB $40.00 - - azurerm_storage_account.storagev2["StorageV2.Standard.RAGZRS.Hot"] - ├─ List and create container operations 400 10k operations $27.14 - ├─ Read operations 40 10k operations $0.18 - └─ All other operations 400 10k operations $1.76 - - azurerm_storage_account.storagev2["StorageV2.Standard.GZRS.Hot"] - ├─ Read operations 40 10k operations $0.18 - └─ All other operations 400 10k operations $1.76 - - azurerm_storage_account.nfsv3_blockblob["BlockBlobStorage.Premium.LRS"] - ├─ Capacity Monthly cost depends on usage: $0.20 per GB - ├─ Write operations Monthly cost depends on usage: $0.0228 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.065 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.00182 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.00182 per 10k operations - - azurerm_storage_account.nfsv3_blockblob["BlockBlobStorage.Premium.ZRS"] - ├─ Capacity Monthly cost depends on usage: $0.26 per GB - ├─ Write operations Monthly cost depends on usage: $0.0303 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.086 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.00242 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.00242 per 10k operations - - azurerm_storage_account.nfsv3_storagev2["StorageV2.Standard.GRS.Cool"] - ├─ Capacity Monthly cost depends on usage: $0.023 per GB - ├─ Iterative write operations Monthly cost depends on usage: $0.26 per 100 operations - ├─ Write operations Monthly cost depends on usage: $0.26 per 10k operations - ├─ Iterative read operations Monthly cost depends on usage: $0.14 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.013 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.006 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - └─ Early deletion Monthly cost depends on usage: $0.033 per GB - - azurerm_storage_account.nfsv3_storagev2["StorageV2.Standard.GRS.Hot"] - ├─ Capacity Monthly cost depends on usage: $0.046 per GB - ├─ Iterative write operations Monthly cost depends on usage: $0.14 per 100 operations - ├─ Write operations Monthly cost depends on usage: $0.14 per 10k operations - ├─ Iterative read operations Monthly cost depends on usage: $0.14 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.006 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.006 per 10k operations - - azurerm_storage_account.nfsv3_storagev2["StorageV2.Standard.LRS.Cool"] - ├─ Capacity Monthly cost depends on usage: $0.0115 per GB - ├─ Iterative write operations Monthly cost depends on usage: $0.13 per 100 operations - ├─ Write operations Monthly cost depends on usage: $0.13 per 10k operations - ├─ Iterative read operations Monthly cost depends on usage: $0.072 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.013 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.006 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - └─ Early deletion Monthly cost depends on usage: $0.015 per GB - - azurerm_storage_account.nfsv3_storagev2["StorageV2.Standard.LRS.Hot"] - ├─ Capacity Monthly cost depends on usage: $0.021 per GB - ├─ Iterative write operations Monthly cost depends on usage: $0.072 per 100 operations - ├─ Write operations Monthly cost depends on usage: $0.072 per 10k operations - ├─ Iterative read operations Monthly cost depends on usage: $0.072 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.006 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.006 per 10k operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_storage_account.storagev2["StorageV2.Premium.ZRS.Cool"] + ├─ Capacity 4,000,000 GB $1,036,000.00 * + ├─ Write operations 400 10k operations $12.12 * + ├─ List and create container operations 400 10k operations $34.40 * + ├─ Read operations 40 10k operations $0.10 * + └─ All other operations 400 10k operations $0.97 * + + azurerm_storage_account.storagev2["StorageV2.Premium.ZRS.Hot"] + ├─ Capacity 4,000,000 GB $1,036,000.00 * + ├─ Write operations 400 10k operations $12.12 * + ├─ List and create container operations 400 10k operations $34.40 * + ├─ Read operations 40 10k operations $0.10 * + └─ All other operations 400 10k operations $0.97 * + + azurerm_storage_account.storagev2["StorageV2.Premium.LRS.Cool"] + ├─ Capacity 4,000,000 GB $780,000.00 * + ├─ Write operations 400 10k operations $9.12 * + ├─ List and create container operations 400 10k operations $26.00 * + ├─ Read operations 40 10k operations $0.07 * + └─ All other operations 400 10k operations $0.73 * + + azurerm_storage_account.storagev2["StorageV2.Premium.LRS.Hot"] + ├─ Capacity 4,000,000 GB $780,000.00 * + ├─ Write operations 400 10k operations $9.12 * + ├─ List and create container operations 400 10k operations $26.00 * + ├─ Read operations 40 10k operations $0.07 * + └─ All other operations 400 10k operations $0.73 * + + azurerm_storage_account.blob["BlobStorage.Premium.ZRS.Cool"] + ├─ Capacity 2,000,000 GB $518,000.00 * + ├─ Write operations 200 10k operations $6.06 * + ├─ List and create container operations 200 10k operations $17.20 * + ├─ Read operations 20 10k operations $0.05 * + └─ All other operations 200 10k operations $0.48 * + + azurerm_storage_account.blob["BlobStorage.Premium.ZRS.Hot"] + ├─ Capacity 2,000,000 GB $518,000.00 * + ├─ Write operations 200 10k operations $6.06 * + ├─ List and create container operations 200 10k operations $17.20 * + ├─ Read operations 20 10k operations $0.05 * + └─ All other operations 200 10k operations $0.48 * + + azurerm_storage_account.blob["BlobStorage.Premium.LRS.Cool"] + ├─ Capacity 2,000,000 GB $390,000.00 * + ├─ Write operations 200 10k operations $4.56 * + ├─ List and create container operations 200 10k operations $13.00 * + ├─ Read operations 20 10k operations $0.04 * + └─ All other operations 200 10k operations $0.36 * + + azurerm_storage_account.blob["BlobStorage.Premium.LRS.Hot"] + ├─ Capacity 2,000,000 GB $390,000.00 * + ├─ Write operations 200 10k operations $4.56 * + ├─ List and create container operations 200 10k operations $13.00 * + ├─ Read operations 20 10k operations $0.04 * + └─ All other operations 200 10k operations $0.36 * + + azurerm_storage_account.blockblob["BlockBlobStorage.Premium.ZRS"] + ├─ Capacity 1,000,000 GB $259,000.00 * + ├─ Write operations 100 10k operations $3.03 * + ├─ List and create container operations 100 10k operations $8.60 * + ├─ Read operations 10 10k operations $0.02 * + └─ All other operations 100 10k operations $0.24 * + + azurerm_storage_account.blockblob["BlockBlobStorage.Premium.LRS"] + ├─ Capacity 1,000,000 GB $195,000.00 * + ├─ Write operations 100 10k operations $2.28 * + ├─ List and create container operations 100 10k operations $6.50 * + ├─ Read operations 10 10k operations $0.02 * + └─ All other operations 100 10k operations $0.18 * + + azurerm_storage_account.storagev1["Storage.Standard.RAGRS"] + ├─ Capacity 3,000,000 GB $183,000.00 * + ├─ Write operations 300 10k operations $0.11 * + ├─ List and create container operations 300 10k operations $0.11 * + ├─ Read operations 30 10k operations $0.01 * + └─ All other operations 300 10k operations $0.11 * + + azurerm_storage_account.storagev2["StorageV2.Standard.RAGRS.Hot"] + ├─ Capacity (first 50TB) 51,200 GB $2,447.36 * + ├─ Capacity (next 450TB) 512,000 GB $23,494.66 * + ├─ Capacity (over 500TB) 3,436,800 GB $151,136.72 * + ├─ Write operations 400 10k operations $44.00 * + ├─ List and create container operations 400 10k operations $44.00 * + ├─ Read operations 40 10k operations $0.18 * + ├─ All other operations 400 10k operations $1.76 * + └─ Blob index 40 10k tags $2.76 * + + azurerm_storage_account.storagev2["StorageV2.Standard.GRS.Hot"] + ├─ Capacity (first 50TB) 51,200 GB $2,344.96 * + ├─ Capacity (next 450TB) 512,000 GB $22,511.62 * + ├─ Capacity (over 500TB) 3,436,800 GB $144,813.00 * + ├─ Write operations 400 10k operations $44.00 * + ├─ List and create container operations 400 10k operations $44.00 * + ├─ Read operations 40 10k operations $0.18 * + ├─ All other operations 400 10k operations $1.76 * + └─ Blob index 40 10k tags $2.76 * + + azurerm_storage_account.storagev1["Storage.Standard.GRS"] + ├─ Capacity 3,000,000 GB $144,000.00 * + ├─ Write operations 300 10k operations $0.11 * + ├─ List and create container operations 300 10k operations $0.11 * + ├─ Read operations 30 10k operations $0.01 * + └─ All other operations 300 10k operations $0.11 * + + azurerm_storage_account.storagev2["StorageV2.Standard.RAGRS.Cool"] + ├─ Capacity 4,000,000 GB $115,200.00 * + ├─ Write operations 400 10k operations $80.00 * + ├─ List and create container operations 400 10k operations $44.00 * + ├─ Read operations 40 10k operations $0.40 * + ├─ All other operations 400 10k operations $1.76 * + ├─ Data retrieval 4,000 GB $40.00 * + ├─ Blob index 40 10k tags $2.76 * + └─ Early deletion 4,000 GB $140.00 * + + azurerm_storage_account.storagev2["StorageV2.Standard.ZRS.Hot"] + ├─ Capacity (first 50TB) 51,200 GB $1,331.20 * + ├─ Capacity (next 450TB) 512,000 GB $12,779.52 * + ├─ Capacity (over 500TB) 3,436,800 GB $82,208.26 * + ├─ List and create container operations 400 10k operations $27.50 * + ├─ Read operations 40 10k operations $0.18 * + ├─ All other operations 400 10k operations $1.76 * + └─ Blob index 40 10k tags $1.56 * + + azurerm_storage_account.storagev2["StorageV2.Standard.GRS.Cool"] + ├─ Capacity 4,000,000 GB $92,000.00 * + ├─ Write operations 400 10k operations $80.00 * + ├─ List and create container operations 400 10k operations $44.00 * + ├─ Read operations 40 10k operations $0.40 * + ├─ All other operations 400 10k operations $1.76 * + ├─ Data retrieval 4,000 GB $40.00 * + ├─ Blob index 40 10k tags $2.76 * + └─ Early deletion 4,000 GB $133.60 * + + azurerm_storage_account.storagev1["Storage.Standard.ZRS"] + ├─ Capacity 3,000,000 GB $90,000.00 * + ├─ Write operations 300 10k operations $0.11 * + ├─ List and create container operations 300 10k operations $0.11 * + ├─ Read operations 30 10k operations $0.01 * + └─ All other operations 300 10k operations $0.11 * + + azurerm_storage_account.blob["BlobStorage.Standard.GRS.Hot"] + ├─ Capacity (first 50TB) 51,200 GB $2,344.96 * + ├─ Capacity (next 450TB) 512,000 GB $22,511.62 * + ├─ Capacity (over 500TB) 1,436,800 GB $60,541.00 * + ├─ Write operations 200 10k operations $22.00 * + ├─ List and create container operations 200 10k operations $22.00 * + ├─ Read operations 20 10k operations $0.09 * + ├─ All other operations 200 10k operations $0.88 * + └─ Blob index 20 10k tags $1.38 * + + azurerm_storage_account.storagev2["StorageV2.Standard.LRS.Hot"] + ├─ Capacity (first 50TB) 51,200 GB $1,064.96 * + ├─ Capacity (next 450TB) 512,000 GB $10,223.62 * + ├─ Capacity (over 500TB) 3,436,800 GB $65,766.60 * + ├─ Write operations 400 10k operations $22.00 * + ├─ List and create container operations 400 10k operations $22.00 * + ├─ Read operations 40 10k operations $0.18 * + ├─ All other operations 400 10k operations $1.76 * + └─ Blob index 40 10k tags $1.56 * + + azurerm_storage_account.storagev1["Storage.Standard.LRS"] + ├─ Capacity 3,000,000 GB $72,000.00 * + ├─ Write operations 300 10k operations $0.11 * + ├─ List and create container operations 300 10k operations $0.11 * + ├─ Read operations 30 10k operations $0.01 * + └─ All other operations 300 10k operations $0.11 * + + azurerm_storage_account.storagev2["StorageV2.Standard.ZRS.Cool"] + ├─ Capacity 4,000,000 GB $57,600.00 * + ├─ Write operations 400 10k operations $40.00 * + ├─ List and create container operations 400 10k operations $27.50 * + ├─ Read operations 40 10k operations $0.40 * + ├─ All other operations 400 10k operations $1.76 * + ├─ Data retrieval 4,000 GB $40.00 * + ├─ Blob index 40 10k tags $1.56 * + └─ Early deletion 4,000 GB $76.00 * + + azurerm_storage_account.storagev2["StorageV2.Standard.LRS.Cool"] + ├─ Capacity 4,000,000 GB $46,000.00 * + ├─ Write operations 400 10k operations $40.00 * + ├─ List and create container operations 400 10k operations $22.00 * + ├─ Read operations 40 10k operations $0.40 * + ├─ All other operations 400 10k operations $1.76 * + ├─ Data retrieval 4,000 GB $40.00 * + ├─ Blob index 40 10k tags $1.56 * + └─ Early deletion 4,000 GB $60.80 * + + azurerm_storage_account.blob["BlobStorage.Standard.GRS.Cool"] + ├─ Capacity 2,000,000 GB $46,000.00 * + ├─ Write operations 200 10k operations $40.00 * + ├─ List and create container operations 200 10k operations $22.00 * + ├─ Read operations 20 10k operations $0.20 * + ├─ All other operations 200 10k operations $0.88 * + ├─ Data retrieval 2,000 GB $20.00 * + └─ Blob index 20 10k tags $1.38 * + + azurerm_storage_account.blockblob["BlockBlobStorage.Standard.RAGRS"] + ├─ Capacity (first 50TB) 51,200 GB $2,447.36 * + ├─ Capacity (next 450TB) 512,000 GB $23,494.66 * + ├─ Capacity (over 500TB) 436,800 GB $19,208.72 * + ├─ Write operations 100 10k operations $11.00 * + ├─ List and create container operations 100 10k operations $11.00 * + ├─ Read operations 10 10k operations $0.04 * + ├─ All other operations 100 10k operations $0.44 * + └─ Blob index 10 10k tags $0.69 * + + azurerm_storage_account.blockblob["BlockBlobStorage.Standard.GRS"] + ├─ Capacity (first 50TB) 51,200 GB $2,344.96 * + ├─ Capacity (next 450TB) 512,000 GB $22,511.62 * + ├─ Capacity (over 500TB) 436,800 GB $18,405.00 * + ├─ Write operations 100 10k operations $11.00 * + ├─ List and create container operations 100 10k operations $11.00 * + ├─ Read operations 10 10k operations $0.04 * + ├─ All other operations 100 10k operations $0.44 * + └─ Blob index 10 10k tags $0.69 * + + azurerm_storage_account.blob["BlobStorage.Standard.LRS.Hot"] + ├─ Capacity (first 50TB) 51,200 GB $1,064.96 * + ├─ Capacity (next 450TB) 512,000 GB $10,223.62 * + ├─ Capacity (over 500TB) 1,436,800 GB $27,494.60 * + ├─ Write operations 200 10k operations $11.00 * + ├─ List and create container operations 200 10k operations $11.00 * + ├─ Read operations 20 10k operations $0.09 * + ├─ All other operations 200 10k operations $0.88 * + └─ Blob index 20 10k tags $0.78 * + + azurerm_storage_account.blob["BlobStorage.Standard.LRS.Cool"] + ├─ Capacity 2,000,000 GB $23,000.00 * + ├─ Write operations 200 10k operations $20.00 * + ├─ List and create container operations 200 10k operations $11.00 * + ├─ Read operations 20 10k operations $0.20 * + ├─ All other operations 200 10k operations $0.88 * + ├─ Data retrieval 2,000 GB $20.00 * + └─ Blob index 20 10k tags $0.78 * + + azurerm_storage_account.file["FileStorage.Premium.ZRS.Cool"] + ├─ Data at rest 50,000 GB $11,000.00 * + └─ Snapshots 50,000 GB $9,350.00 * + + azurerm_storage_account.file["FileStorage.Premium.ZRS.Hot"] + ├─ Data at rest 50,000 GB $11,000.00 * + └─ Snapshots 50,000 GB $9,350.00 * + + azurerm_storage_account.blockblob["BlockBlobStorage.Standard.LRS"] + ├─ Capacity (first 50TB) 51,200 GB $1,064.96 * + ├─ Capacity (next 450TB) 512,000 GB $10,223.62 * + ├─ Capacity (over 500TB) 436,800 GB $8,358.60 * + ├─ Write operations 100 10k operations $5.50 * + ├─ List and create container operations 100 10k operations $5.50 * + ├─ Read operations 10 10k operations $0.04 * + ├─ All other operations 100 10k operations $0.44 * + └─ Blob index 10 10k tags $0.39 * + + azurerm_storage_account.file["FileStorage.Premium.LRS.Cool"] + ├─ Data at rest 50,000 GB $8,800.00 * + └─ Snapshots 50,000 GB $7,500.00 * + + azurerm_storage_account.file["FileStorage.Premium.LRS.Hot"] + ├─ Data at rest 50,000 GB $8,800.00 * + └─ Snapshots 50,000 GB $7,500.00 * + + azurerm_storage_account.file["FileStorage.Standard.GRS.Hot"] + ├─ Data at rest 50,000 GB $3,160.00 * + ├─ Snapshots 50,000 GB $3,160.00 * + ├─ Metadata at rest 50,000 GB $3,275.00 * + ├─ Write operations 600 10k operations $85.80 * + ├─ List operations 500 10k operations $71.50 * + ├─ Read operations 50 10k operations $0.29 * + └─ All other operations 500 10k operations $2.86 * + + azurerm_storage_account.file["FileStorage.Standard.GRS.Cool"] + ├─ Data at rest 50,000 GB $2,505.00 * + ├─ Snapshots 50,000 GB $2,505.00 * + ├─ Metadata at rest 50,000 GB $3,275.00 * + ├─ Write operations 600 10k operations $156.00 * + ├─ List operations 500 10k operations $71.50 * + ├─ Read operations 50 10k operations $0.65 * + ├─ All other operations 500 10k operations $2.86 * + ├─ Data retrieval 5,000 GB $50.00 * + └─ Early deletion 5,000 GB $250.50 * + + azurerm_storage_account.file["FileStorage.Standard.ZRS.Hot"] + ├─ Data at rest 50,000 GB $1,800.00 * + ├─ Snapshots 50,000 GB $1,800.00 * + ├─ Metadata at rest 50,000 GB $1,855.00 * + ├─ Write operations 600 10k operations $53.64 * + ├─ List operations 500 10k operations $44.70 * + ├─ Read operations 50 10k operations $0.29 * + └─ All other operations 500 10k operations $2.86 * + + azurerm_storage_account.file["FileStorage.Standard.ZRS.Cool"] + ├─ Data at rest 50,000 GB $1,425.00 * + ├─ Snapshots 50,000 GB $1,425.00 * + ├─ Metadata at rest 50,000 GB $1,855.00 * + ├─ Write operations 600 10k operations $78.00 * + ├─ List operations 500 10k operations $44.70 * + ├─ Read operations 50 10k operations $0.65 * + ├─ All other operations 500 10k operations $2.86 * + ├─ Data retrieval 5,000 GB $50.00 * + └─ Early deletion 5,000 GB $142.50 * + + azurerm_storage_account.file["FileStorage.Standard.LRS.Hot"] + ├─ Data at rest 50,000 GB $1,435.00 * + ├─ Snapshots 50,000 GB $1,435.00 * + ├─ Metadata at rest 50,000 GB $1,485.00 * + ├─ Write operations 600 10k operations $42.90 * + ├─ List operations 500 10k operations $35.75 * + ├─ Read operations 50 10k operations $0.29 * + └─ All other operations 500 10k operations $2.86 * + + azurerm_storage_account.file["FileStorage.Standard.LRS.Cool"] + ├─ Data at rest 50,000 GB $1,140.00 * + ├─ Snapshots 50,000 GB $1,140.00 * + ├─ Metadata at rest 50,000 GB $1,485.00 * + ├─ Write operations 600 10k operations $78.00 * + ├─ List operations 500 10k operations $35.75 * + ├─ Read operations 50 10k operations $0.65 * + ├─ All other operations 500 10k operations $2.86 * + ├─ Data retrieval 5,000 GB $50.00 * + └─ Early deletion 5,000 GB $114.00 * + + azurerm_storage_account.storagev2["StorageV2.Standard.GZRS.Cool"] + ├─ Read operations 40 10k operations $0.40 * + ├─ All other operations 400 10k operations $1.76 * + └─ Data retrieval 4,000 GB $40.00 * + + azurerm_storage_account.storagev2["StorageV2.Standard.RAGZRS.Cool"] + ├─ Read operations 40 10k operations $0.40 * + ├─ All other operations 400 10k operations $1.76 * + └─ Data retrieval 4,000 GB $40.00 * + + azurerm_storage_account.storagev2["StorageV2.Standard.RAGZRS.Hot"] + ├─ List and create container operations 400 10k operations $27.14 * + ├─ Read operations 40 10k operations $0.18 * + └─ All other operations 400 10k operations $1.76 * + + azurerm_storage_account.storagev2["StorageV2.Standard.GZRS.Hot"] + ├─ Read operations 40 10k operations $0.18 * + └─ All other operations 400 10k operations $1.76 * + + azurerm_storage_account.nfsv3_blockblob["BlockBlobStorage.Premium.LRS"] + ├─ Capacity Monthly cost depends on usage: $0.20 per GB + ├─ Write operations Monthly cost depends on usage: $0.0228 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.065 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.00182 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.00182 per 10k operations + + azurerm_storage_account.nfsv3_blockblob["BlockBlobStorage.Premium.ZRS"] + ├─ Capacity Monthly cost depends on usage: $0.26 per GB + ├─ Write operations Monthly cost depends on usage: $0.0303 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.086 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.00242 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.00242 per 10k operations + + azurerm_storage_account.nfsv3_storagev2["StorageV2.Standard.GRS.Cool"] + ├─ Capacity Monthly cost depends on usage: $0.023 per GB + ├─ Iterative write operations Monthly cost depends on usage: $0.26 per 100 operations + ├─ Write operations Monthly cost depends on usage: $0.26 per 10k operations + ├─ Iterative read operations Monthly cost depends on usage: $0.14 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.013 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.006 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + └─ Early deletion Monthly cost depends on usage: $0.033 per GB + + azurerm_storage_account.nfsv3_storagev2["StorageV2.Standard.GRS.Hot"] + ├─ Capacity Monthly cost depends on usage: $0.046 per GB + ├─ Iterative write operations Monthly cost depends on usage: $0.14 per 100 operations + ├─ Write operations Monthly cost depends on usage: $0.14 per 10k operations + ├─ Iterative read operations Monthly cost depends on usage: $0.14 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.006 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.006 per 10k operations + + azurerm_storage_account.nfsv3_storagev2["StorageV2.Standard.LRS.Cool"] + ├─ Capacity Monthly cost depends on usage: $0.0115 per GB + ├─ Iterative write operations Monthly cost depends on usage: $0.13 per 100 operations + ├─ Write operations Monthly cost depends on usage: $0.13 per 10k operations + ├─ Iterative read operations Monthly cost depends on usage: $0.072 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.013 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.006 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + └─ Early deletion Monthly cost depends on usage: $0.015 per GB + + azurerm_storage_account.nfsv3_storagev2["StorageV2.Standard.LRS.Hot"] + ├─ Capacity Monthly cost depends on usage: $0.021 per GB + ├─ Iterative write operations Monthly cost depends on usage: $0.072 per 100 operations + ├─ Write operations Monthly cost depends on usage: $0.072 per 10k operations + ├─ Iterative read operations Monthly cost depends on usage: $0.072 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.006 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.006 per 10k operations + OVERALL TOTAL $7,635,980.70 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 51 cloud resources were detected: ∙ 49 were estimated @@ -399,11 +402,11 @@ ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x azurerm_storage_account -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureStorageAccountGoldenFile ┃ $7,635,981 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureStorageAccountGoldenFile ┃ $0.00 ┃ $7,635,981 ┃ $7,635,981 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource azurerm_storage_account.unsupported. BlockBlobStorage Premium doesn't support GRS redundancy \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden index 56e143813fb..0eae44a0c01 100644 --- a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden @@ -1,117 +1,120 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_storage_queue.storagev2-queue["StorageV2.Standard.RAGZRS"] - ├─ Capacity 2,000 GB $254.00 - ├─ Class 2 operations 400 10k operations $1.60 - └─ Geo-replication data transfer 6,000 GB $120.00 - - azurerm_storage_queue.storagev2-queue["StorageV2.Standard.GZRS"] - ├─ Capacity 2,000 GB $202.00 - ├─ Class 2 operations 400 10k operations $1.60 - └─ Geo-replication data transfer 6,000 GB $120.00 - - azurerm_storage_queue.storagev2-queue["StorageV2.Standard.RAGRS"] - ├─ Capacity 2,000 GB $149.60 - ├─ Class 1 operations 200 10k operations $1.60 - ├─ Class 2 operations 400 10k operations $1.60 - └─ Geo-replication data transfer 6,000 GB $120.00 - - azurerm_storage_queue.storagev2-queue["StorageV2.Standard.GRS"] - ├─ Capacity 2,000 GB $119.60 - ├─ Class 1 operations 200 10k operations $1.60 - ├─ Class 2 operations 400 10k operations $1.60 - └─ Geo-replication data transfer 6,000 GB $120.00 - - azurerm_storage_queue.storagev1-queue["Storage.Standard.RAGRS"] - ├─ Capacity 1,000 GB $75.00 - ├─ Class 1 operations 100 10k operations $0.04 - ├─ Class 2 operations 300 10k operations $0.11 - └─ Geo-replication data transfer 5,000 GB $100.00 - - azurerm_storage_queue.storagev1-queue["Storage.Standard.GRS"] - ├─ Capacity 1,000 GB $60.00 - ├─ Class 1 operations 100 10k operations $0.04 - ├─ Class 2 operations 300 10k operations $0.11 - └─ Geo-replication data transfer 5,000 GB $100.00 - - azurerm_storage_queue.storagev2-queue["StorageV2.Standard.ZRS"] - ├─ Capacity 2,000 GB $112.50 - ├─ Class 1 operations 200 10k operations $0.80 - └─ Class 2 operations 400 10k operations $1.60 - - azurerm_storage_queue.storagev2-queue["StorageV2.Standard.LRS"] - ├─ Capacity 2,000 GB $90.00 - ├─ Class 1 operations 200 10k operations $0.80 - └─ Class 2 operations 400 10k operations $1.60 - - azurerm_storage_queue.storagev1-queue["Storage.Standard.LRS"] - ├─ Capacity 1,000 GB $45.00 - ├─ Class 1 operations 100 10k operations $0.04 - └─ Class 2 operations 300 10k operations $0.11 - - azurerm_storage_account.storagev1["Storage.Standard.GRS"] - ├─ Capacity Monthly cost depends on usage: $0.048 per GB - ├─ Write operations Monthly cost depends on usage: $0.00036 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.00036 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.00036 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.00036 per 10k operations - - azurerm_storage_account.storagev1["Storage.Standard.LRS"] - ├─ Capacity Monthly cost depends on usage: $0.024 per GB - ├─ Write operations Monthly cost depends on usage: $0.00036 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.00036 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.00036 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.00036 per 10k operations - - azurerm_storage_account.storagev1["Storage.Standard.RAGRS"] - ├─ Capacity Monthly cost depends on usage: $0.061 per GB - ├─ Write operations Monthly cost depends on usage: $0.00036 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.00036 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.00036 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.00036 per 10k operations - - azurerm_storage_account.storagev2["StorageV2.Standard.GRS"] - ├─ Capacity Monthly cost depends on usage: $0.0458 per GB - ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.069 per 10k tags - - azurerm_storage_account.storagev2["StorageV2.Standard.GZRS"] - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - - azurerm_storage_account.storagev2["StorageV2.Standard.LRS"] - ├─ Capacity Monthly cost depends on usage: $0.0208 per GB - ├─ Write operations Monthly cost depends on usage: $0.055 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.055 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - - azurerm_storage_account.storagev2["StorageV2.Standard.RAGRS"] - ├─ Capacity Monthly cost depends on usage: $0.0478 per GB - ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.069 per 10k tags - - azurerm_storage_account.storagev2["StorageV2.Standard.RAGZRS"] - ├─ List and create container operations Monthly cost depends on usage: $0.06786 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - - azurerm_storage_account.storagev2["StorageV2.Standard.ZRS"] - ├─ Capacity Monthly cost depends on usage: $0.026 per GB - ├─ List and create container operations Monthly cost depends on usage: $0.06875 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - + Name Monthly Qty Unit Monthly Cost + + azurerm_storage_queue.storagev2-queue["StorageV2.Standard.RAGZRS"] + ├─ Capacity 2,000 GB $254.00 * + ├─ Class 2 operations 400 10k operations $1.60 * + └─ Geo-replication data transfer 6,000 GB $120.00 * + + azurerm_storage_queue.storagev2-queue["StorageV2.Standard.GZRS"] + ├─ Capacity 2,000 GB $202.00 * + ├─ Class 2 operations 400 10k operations $1.60 * + └─ Geo-replication data transfer 6,000 GB $120.00 * + + azurerm_storage_queue.storagev2-queue["StorageV2.Standard.RAGRS"] + ├─ Capacity 2,000 GB $149.60 * + ├─ Class 1 operations 200 10k operations $1.60 * + ├─ Class 2 operations 400 10k operations $1.60 * + └─ Geo-replication data transfer 6,000 GB $120.00 * + + azurerm_storage_queue.storagev2-queue["StorageV2.Standard.GRS"] + ├─ Capacity 2,000 GB $119.60 * + ├─ Class 1 operations 200 10k operations $1.60 * + ├─ Class 2 operations 400 10k operations $1.60 * + └─ Geo-replication data transfer 6,000 GB $120.00 * + + azurerm_storage_queue.storagev1-queue["Storage.Standard.RAGRS"] + ├─ Capacity 1,000 GB $75.00 * + ├─ Class 1 operations 100 10k operations $0.04 * + ├─ Class 2 operations 300 10k operations $0.11 * + └─ Geo-replication data transfer 5,000 GB $100.00 * + + azurerm_storage_queue.storagev1-queue["Storage.Standard.GRS"] + ├─ Capacity 1,000 GB $60.00 * + ├─ Class 1 operations 100 10k operations $0.04 * + ├─ Class 2 operations 300 10k operations $0.11 * + └─ Geo-replication data transfer 5,000 GB $100.00 * + + azurerm_storage_queue.storagev2-queue["StorageV2.Standard.ZRS"] + ├─ Capacity 2,000 GB $112.50 * + ├─ Class 1 operations 200 10k operations $0.80 * + └─ Class 2 operations 400 10k operations $1.60 * + + azurerm_storage_queue.storagev2-queue["StorageV2.Standard.LRS"] + ├─ Capacity 2,000 GB $90.00 * + ├─ Class 1 operations 200 10k operations $0.80 * + └─ Class 2 operations 400 10k operations $1.60 * + + azurerm_storage_queue.storagev1-queue["Storage.Standard.LRS"] + ├─ Capacity 1,000 GB $45.00 * + ├─ Class 1 operations 100 10k operations $0.04 * + └─ Class 2 operations 300 10k operations $0.11 * + + azurerm_storage_account.storagev1["Storage.Standard.GRS"] + ├─ Capacity Monthly cost depends on usage: $0.048 per GB + ├─ Write operations Monthly cost depends on usage: $0.00036 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.00036 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.00036 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.00036 per 10k operations + + azurerm_storage_account.storagev1["Storage.Standard.LRS"] + ├─ Capacity Monthly cost depends on usage: $0.024 per GB + ├─ Write operations Monthly cost depends on usage: $0.00036 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.00036 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.00036 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.00036 per 10k operations + + azurerm_storage_account.storagev1["Storage.Standard.RAGRS"] + ├─ Capacity Monthly cost depends on usage: $0.061 per GB + ├─ Write operations Monthly cost depends on usage: $0.00036 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.00036 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.00036 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.00036 per 10k operations + + azurerm_storage_account.storagev2["StorageV2.Standard.GRS"] + ├─ Capacity Monthly cost depends on usage: $0.0458 per GB + ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.069 per 10k tags + + azurerm_storage_account.storagev2["StorageV2.Standard.GZRS"] + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + + azurerm_storage_account.storagev2["StorageV2.Standard.LRS"] + ├─ Capacity Monthly cost depends on usage: $0.0208 per GB + ├─ Write operations Monthly cost depends on usage: $0.055 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.055 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + + azurerm_storage_account.storagev2["StorageV2.Standard.RAGRS"] + ├─ Capacity Monthly cost depends on usage: $0.0478 per GB + ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.069 per 10k tags + + azurerm_storage_account.storagev2["StorageV2.Standard.RAGZRS"] + ├─ List and create container operations Monthly cost depends on usage: $0.06786 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + + azurerm_storage_account.storagev2["StorageV2.Standard.ZRS"] + ├─ Capacity Monthly cost depends on usage: $0.026 per GB + ├─ List and create container operations Monthly cost depends on usage: $0.06875 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + OVERALL TOTAL $1,802.53 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 21 cloud resources were detected: ∙ 18 were estimated @@ -120,11 +123,11 @@ ∙ 1 x azurerm_storage_account ∙ 1 x azurerm_storage_queue -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestStorageQueue ┃ $1,803 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestStorageQueue ┃ $0.00 ┃ $1,803 ┃ $1,803 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource azurerm_storage_account.unsupported. Storage Standard doesn't support GZRS redundancy diff --git a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden index b2a581e0197..80d96d72dbe 100644 --- a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden @@ -1,134 +1,137 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_storage_share.standard["TransactionOptimized.GRS"] - ├─ Data at rest 2,000,000 GB $200,000.00 - ├─ Snapshots 20,000 GB $2,000.00 - ├─ Read operations 20 10k operations $0.03 - ├─ Write operations 200 10k operations $6.00 - ├─ List operations 200 10k operations $3.00 - └─ Other operations 200 10k operations $0.30 - - azurerm_storage_share.standard["TransactionOptimized.ZRS"] - ├─ Data at rest 2,000,000 GB $150,000.00 - ├─ Snapshots 20,000 GB $1,500.00 - ├─ Read operations 20 10k operations $0.03 - ├─ Write operations 200 10k operations $3.75 - ├─ List operations 200 10k operations $3.00 - └─ Other operations 200 10k operations $0.30 - - azurerm_storage_share.standard["Hot.GRS"] - ├─ Data at rest 2,000,000 GB $126,400.00 - ├─ Snapshots 20,000 GB $1,264.00 - ├─ Metadata at rest 20,000 GB $1,310.00 - ├─ Read operations 20 10k operations $0.11 - ├─ Write operations 200 10k operations $28.60 - ├─ List operations 200 10k operations $28.60 - └─ Other operations 200 10k operations $1.14 - - azurerm_storage_share.standard["TransactionOptimized.LRS"] - ├─ Data at rest 2,000,000 GB $120,000.00 - ├─ Snapshots 20,000 GB $1,200.00 - ├─ Read operations 20 10k operations $0.03 - ├─ Write operations 200 10k operations $3.00 - ├─ List operations 200 10k operations $3.00 - └─ Other operations 200 10k operations $0.30 - - azurerm_storage_share.standard["Cool.GRS"] - ├─ Data at rest 2,000,000 GB $100,200.00 - ├─ Snapshots 20,000 GB $1,002.00 - ├─ Metadata at rest 20,000 GB $1,310.00 - ├─ Read operations 20 10k operations $0.26 - ├─ Write operations 200 10k operations $52.00 - ├─ List operations 200 10k operations $28.60 - ├─ Other operations 200 10k operations $1.14 - └─ Data retrieval 2,000 GB $20.00 - - azurerm_storage_share.standard["Hot.ZRS"] - ├─ Data at rest 2,000,000 GB $72,000.00 - ├─ Snapshots 20,000 GB $720.00 - ├─ Metadata at rest 20,000 GB $742.00 - ├─ Read operations 20 10k operations $0.11 - ├─ Write operations 200 10k operations $17.88 - ├─ List operations 200 10k operations $17.88 - └─ Other operations 200 10k operations $1.14 - - azurerm_storage_share.standard["Hot.LRS"] - ├─ Data at rest 2,000,000 GB $57,400.00 - ├─ Snapshots 20,000 GB $574.00 - ├─ Metadata at rest 20,000 GB $594.00 - ├─ Read operations 20 10k operations $0.11 - ├─ Write operations 200 10k operations $14.30 - ├─ List operations 200 10k operations $14.30 - └─ Other operations 200 10k operations $1.14 - - azurerm_storage_share.standard["Cool.ZRS"] - ├─ Data at rest 2,000,000 GB $57,000.00 - ├─ Snapshots 20,000 GB $570.00 - ├─ Metadata at rest 20,000 GB $742.00 - ├─ Read operations 20 10k operations $0.26 - ├─ Write operations 200 10k operations $26.00 - ├─ List operations 200 10k operations $17.88 - ├─ Other operations 200 10k operations $1.14 - └─ Data retrieval 2,000 GB $20.00 - - azurerm_storage_share.standard["Cool.LRS"] - ├─ Data at rest 2,000,000 GB $45,600.00 - ├─ Snapshots 20,000 GB $456.00 - ├─ Metadata at rest 20,000 GB $594.00 - ├─ Read operations 20 10k operations $0.26 - ├─ Write operations 200 10k operations $26.00 - ├─ List operations 200 10k operations $14.30 - ├─ Other operations 200 10k operations $1.14 - └─ Data retrieval 2,000 GB $20.00 - - azurerm_storage_share.premium-filestorage["Premium.ZRS"] - ├─ Data at rest 50 GB $11.00 - └─ Snapshots 10,000 GB $1,870.00 - - azurerm_storage_share.premium-filestorage["Premium.LRS"] - ├─ Data at rest 50 GB $8.80 - └─ Snapshots 10,000 GB $1,500.00 - - azurerm_storage_account.filestorage["LRS"] - ├─ Data at rest Monthly cost depends on usage: $0.18 per GB - └─ Snapshots Monthly cost depends on usage: $0.15 per GB - - azurerm_storage_account.filestorage["ZRS"] - ├─ Data at rest Monthly cost depends on usage: $0.22 per GB - └─ Snapshots Monthly cost depends on usage: $0.19 per GB - - azurerm_storage_account.premium - ├─ Capacity Monthly cost depends on usage: $0.20 per GB - ├─ Write operations Monthly cost depends on usage: $0.0228 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.065 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.00182 per 10k operations - └─ All other operations Monthly cost depends on usage: $0.00182 per 10k operations - - azurerm_storage_account.standard["GRS"] - ├─ Capacity Monthly cost depends on usage: $0.0458 per GB - ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.069 per 10k tags - - azurerm_storage_account.standard["LRS"] - ├─ Capacity Monthly cost depends on usage: $0.0208 per GB - ├─ Write operations Monthly cost depends on usage: $0.055 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.055 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - - azurerm_storage_account.standard["ZRS"] - ├─ Capacity Monthly cost depends on usage: $0.026 per GB - ├─ List and create container operations Monthly cost depends on usage: $0.06875 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations - └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - + Name Monthly Qty Unit Monthly Cost + + azurerm_storage_share.standard["TransactionOptimized.GRS"] + ├─ Data at rest 2,000,000 GB $200,000.00 * + ├─ Snapshots 20,000 GB $2,000.00 * + ├─ Read operations 20 10k operations $0.03 * + ├─ Write operations 200 10k operations $6.00 * + ├─ List operations 200 10k operations $3.00 * + └─ Other operations 200 10k operations $0.30 * + + azurerm_storage_share.standard["TransactionOptimized.ZRS"] + ├─ Data at rest 2,000,000 GB $150,000.00 * + ├─ Snapshots 20,000 GB $1,500.00 * + ├─ Read operations 20 10k operations $0.03 * + ├─ Write operations 200 10k operations $3.75 * + ├─ List operations 200 10k operations $3.00 * + └─ Other operations 200 10k operations $0.30 * + + azurerm_storage_share.standard["Hot.GRS"] + ├─ Data at rest 2,000,000 GB $126,400.00 * + ├─ Snapshots 20,000 GB $1,264.00 * + ├─ Metadata at rest 20,000 GB $1,310.00 * + ├─ Read operations 20 10k operations $0.11 * + ├─ Write operations 200 10k operations $28.60 * + ├─ List operations 200 10k operations $28.60 * + └─ Other operations 200 10k operations $1.14 * + + azurerm_storage_share.standard["TransactionOptimized.LRS"] + ├─ Data at rest 2,000,000 GB $120,000.00 * + ├─ Snapshots 20,000 GB $1,200.00 * + ├─ Read operations 20 10k operations $0.03 * + ├─ Write operations 200 10k operations $3.00 * + ├─ List operations 200 10k operations $3.00 * + └─ Other operations 200 10k operations $0.30 * + + azurerm_storage_share.standard["Cool.GRS"] + ├─ Data at rest 2,000,000 GB $100,200.00 * + ├─ Snapshots 20,000 GB $1,002.00 * + ├─ Metadata at rest 20,000 GB $1,310.00 * + ├─ Read operations 20 10k operations $0.26 * + ├─ Write operations 200 10k operations $52.00 * + ├─ List operations 200 10k operations $28.60 * + ├─ Other operations 200 10k operations $1.14 * + └─ Data retrieval 2,000 GB $20.00 * + + azurerm_storage_share.standard["Hot.ZRS"] + ├─ Data at rest 2,000,000 GB $72,000.00 * + ├─ Snapshots 20,000 GB $720.00 * + ├─ Metadata at rest 20,000 GB $742.00 * + ├─ Read operations 20 10k operations $0.11 * + ├─ Write operations 200 10k operations $17.88 * + ├─ List operations 200 10k operations $17.88 * + └─ Other operations 200 10k operations $1.14 * + + azurerm_storage_share.standard["Hot.LRS"] + ├─ Data at rest 2,000,000 GB $57,400.00 * + ├─ Snapshots 20,000 GB $574.00 * + ├─ Metadata at rest 20,000 GB $594.00 * + ├─ Read operations 20 10k operations $0.11 * + ├─ Write operations 200 10k operations $14.30 * + ├─ List operations 200 10k operations $14.30 * + └─ Other operations 200 10k operations $1.14 * + + azurerm_storage_share.standard["Cool.ZRS"] + ├─ Data at rest 2,000,000 GB $57,000.00 * + ├─ Snapshots 20,000 GB $570.00 * + ├─ Metadata at rest 20,000 GB $742.00 * + ├─ Read operations 20 10k operations $0.26 * + ├─ Write operations 200 10k operations $26.00 * + ├─ List operations 200 10k operations $17.88 * + ├─ Other operations 200 10k operations $1.14 * + └─ Data retrieval 2,000 GB $20.00 * + + azurerm_storage_share.standard["Cool.LRS"] + ├─ Data at rest 2,000,000 GB $45,600.00 * + ├─ Snapshots 20,000 GB $456.00 * + ├─ Metadata at rest 20,000 GB $594.00 * + ├─ Read operations 20 10k operations $0.26 * + ├─ Write operations 200 10k operations $26.00 * + ├─ List operations 200 10k operations $14.30 * + ├─ Other operations 200 10k operations $1.14 * + └─ Data retrieval 2,000 GB $20.00 * + + azurerm_storage_share.premium-filestorage["Premium.ZRS"] + ├─ Data at rest 50 GB $11.00 * + └─ Snapshots 10,000 GB $1,870.00 * + + azurerm_storage_share.premium-filestorage["Premium.LRS"] + ├─ Data at rest 50 GB $8.80 * + └─ Snapshots 10,000 GB $1,500.00 * + + azurerm_storage_account.filestorage["LRS"] + ├─ Data at rest Monthly cost depends on usage: $0.18 per GB + └─ Snapshots Monthly cost depends on usage: $0.15 per GB + + azurerm_storage_account.filestorage["ZRS"] + ├─ Data at rest Monthly cost depends on usage: $0.22 per GB + └─ Snapshots Monthly cost depends on usage: $0.19 per GB + + azurerm_storage_account.premium + ├─ Capacity Monthly cost depends on usage: $0.20 per GB + ├─ Write operations Monthly cost depends on usage: $0.0228 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.065 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.00182 per 10k operations + └─ All other operations Monthly cost depends on usage: $0.00182 per 10k operations + + azurerm_storage_account.standard["GRS"] + ├─ Capacity Monthly cost depends on usage: $0.0458 per GB + ├─ Write operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.11 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.069 per 10k tags + + azurerm_storage_account.standard["LRS"] + ├─ Capacity Monthly cost depends on usage: $0.0208 per GB + ├─ Write operations Monthly cost depends on usage: $0.055 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.055 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + + azurerm_storage_account.standard["ZRS"] + ├─ Capacity Monthly cost depends on usage: $0.026 per GB + ├─ List and create container operations Monthly cost depends on usage: $0.06875 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.0044 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0044 per 10k operations + └─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + OVERALL TOTAL $946,944.87 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 19 cloud resources were detected: ∙ 17 were estimated @@ -136,11 +139,11 @@ ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x azurerm_storage_share -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestStorageShare ┃ $946,945 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestStorageShare ┃ $0.00 ┃ $946,945 ┃ $946,945 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource azurerm_storage_share.unsupported. Premium access tier is only supported for FileStorage accounts \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden index e8078b3566b..121bf1e3d28 100644 --- a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden @@ -1,43 +1,46 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_synapse_workspace.example - ├─ Serverless SQL pool size 11 TB $55.00 - ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours - ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours - ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs - ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours - ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $0.005 per hours - ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $0.00025 per hours - ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs - ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours - ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours - └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours - - azurerm_synapse_spark_pool.autoscale - └─ small (4 nodes) 144 vCore-hours $22.26 - - azurerm_synapse_spark_pool.default - └─ small (3 nodes) 132 vCore-hours $20.40 - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.01 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.01 per GB - - OVERALL TOTAL $97.66 + Name Monthly Qty Unit Monthly Cost + + azurerm_synapse_workspace.example + ├─ Serverless SQL pool size 11 TB $55.00 + ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours + ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours + ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs + ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours + ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $0.005 per hours + ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $0.00025 per hours + ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs + ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours + ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours + └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours + + azurerm_synapse_spark_pool.autoscale + └─ small (4 nodes) 144 vCore-hours $22.26 + + azurerm_synapse_spark_pool.default + └─ small (3 nodes) 132 vCore-hours $20.40 + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.01 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.01 per GB + + OVERALL TOTAL $97.66 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 4 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseSparkPool ┃ $98 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNewAzureRMSynapseSparkPool ┃ $98 ┃ $0.00 ┃ $98 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden index 62deacdba09..4d3ec4fc85f 100644 --- a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden @@ -1,51 +1,54 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_synapse_sql_pool.storage - ├─ DWU blocks (DW200c) 730 hours $2,204.60 - ├─ Storage 1 TB $23.00 - └─ Geo-redundant disaster recovery 1 TB $56.20 - - azurerm_synapse_sql_pool.no_backup - ├─ DWU blocks (DW200c) 730 hours $2,204.60 - └─ Storage 1 TB $23.00 - - azurerm_synapse_sql_pool.default - ├─ DWU blocks (DW200c) 730 hours $2,204.60 - ├─ Storage Monthly cost depends on usage: $23.00 per TB - └─ Geo-redundant disaster recovery Monthly cost depends on usage: $56.20 per TB - - azurerm_synapse_workspace.example - ├─ Serverless SQL pool size 11 TB $55.00 - ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours - ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours - ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs - ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours - ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $0.005 per hours - ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $0.00025 per hours - ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs - ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours - ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours - └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.01 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.01 per GB - - OVERALL TOTAL $6,771.00 + Name Monthly Qty Unit Monthly Cost + + azurerm_synapse_sql_pool.storage + ├─ DWU blocks (DW200c) 730 hours $2,204.60 + ├─ Storage 1 TB $23.00 + └─ Geo-redundant disaster recovery 1 TB $56.20 + + azurerm_synapse_sql_pool.no_backup + ├─ DWU blocks (DW200c) 730 hours $2,204.60 + └─ Storage 1 TB $23.00 + + azurerm_synapse_sql_pool.default + ├─ DWU blocks (DW200c) 730 hours $2,204.60 + ├─ Storage Monthly cost depends on usage: $23.00 per TB + └─ Geo-redundant disaster recovery Monthly cost depends on usage: $56.20 per TB + + azurerm_synapse_workspace.example + ├─ Serverless SQL pool size 11 TB $55.00 + ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours + ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours + ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs + ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours + ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $0.005 per hours + ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $0.00025 per hours + ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs + ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours + ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours + └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.01 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.01 per GB + + OVERALL TOTAL $6,771.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 5 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseSQLPool ┃ $6,771 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNewAzureRMSynapseSQLPool ┃ $6,771 ┃ $0.00 ┃ $6,771 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden index 2a057d8616f..cf741668938 100644 --- a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden @@ -1,76 +1,79 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_synapse_workspace.general - ├─ Serverless SQL pool size 11 TB $55.00 - ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours - ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours - ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs - ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours - ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $0.005 per hours - ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $0.00025 per hours - ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs - ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours - ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours - └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours - - azurerm_synapse_workspace.vnet - ├─ Serverless SQL pool size 10 TB $50.00 - ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours - ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours - ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs - ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours - ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $1.00 per hours - ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $1.00 per hours - ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs - ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours - ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours - └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours - - azurerm_synapse_workspace.datapipelines - ├─ Serverless SQL pool size Monthly cost depends on usage: $5.00 per TB - ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours - ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours - ├─ Data pipeline azure hosted activity runs 3 1k activity runs $3.00 - ├─ Data pipeline azure hosted data integration units 31 DIU-hours $7.75 - ├─ Data pipeline azure hosted integration runtime 200 hours $1.00 - ├─ Data pipeline azure hosted external integration runtime 4,000 hours $1.00 - ├─ Data pipeline self hosted activity runs 1 1k activity runs $1.50 - ├─ Data pipeline self hosted data movement 10 hours $1.00 - ├─ Data pipeline self hosted integration runtime 200 hours $0.40 - └─ Data pipeline self hosted external integration runtime 4,000 hours $0.40 - - azurerm_synapse_workspace.dataflows - ├─ Serverless SQL pool size Monthly cost depends on usage: $5.00 per TB - ├─ Data flow (basic) 8 vCore-hours $2.14 - ├─ Data flow (standard) 12 vCore-hours $4.14 - ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs - ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours - ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $0.005 per hours - ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $0.00025 per hours - ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs - ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours - ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours - └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours - - azurerm_storage_account.example - ├─ Capacity Monthly cost depends on usage: $0.01 per GB - ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations - ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations - ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations - ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations - ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB - ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags - └─ Early deletion Monthly cost depends on usage: $0.01 per GB - - OVERALL TOTAL $127.33 + Name Monthly Qty Unit Monthly Cost + + azurerm_synapse_workspace.general + ├─ Serverless SQL pool size 11 TB $55.00 + ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours + ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours + ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs + ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours + ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $0.005 per hours + ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $0.00025 per hours + ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs + ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours + ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours + └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours + + azurerm_synapse_workspace.vnet + ├─ Serverless SQL pool size 10 TB $50.00 + ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours + ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours + ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs + ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours + ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $1.00 per hours + ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $1.00 per hours + ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs + ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours + ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours + └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours + + azurerm_synapse_workspace.datapipelines + ├─ Serverless SQL pool size Monthly cost depends on usage: $5.00 per TB + ├─ Data flow (basic) Monthly cost depends on usage: $0.27 per vCore-hours + ├─ Data flow (standard) Monthly cost depends on usage: $0.35 per vCore-hours + ├─ Data pipeline azure hosted activity runs 3 1k activity runs $3.00 + ├─ Data pipeline azure hosted data integration units 31 DIU-hours $7.75 + ├─ Data pipeline azure hosted integration runtime 200 hours $1.00 + ├─ Data pipeline azure hosted external integration runtime 4,000 hours $1.00 + ├─ Data pipeline self hosted activity runs 1 1k activity runs $1.50 + ├─ Data pipeline self hosted data movement 10 hours $1.00 + ├─ Data pipeline self hosted integration runtime 200 hours $0.40 + └─ Data pipeline self hosted external integration runtime 4,000 hours $0.40 + + azurerm_synapse_workspace.dataflows + ├─ Serverless SQL pool size Monthly cost depends on usage: $5.00 per TB + ├─ Data flow (basic) 8 vCore-hours $2.14 + ├─ Data flow (standard) 12 vCore-hours $4.14 + ├─ Data pipeline azure hosted activity runs Monthly cost depends on usage: $1.00 per 1k activity runs + ├─ Data pipeline azure hosted data integration units Monthly cost depends on usage: $0.25 per DIU-hours + ├─ Data pipeline azure hosted integration runtime Monthly cost depends on usage: $0.005 per hours + ├─ Data pipeline azure hosted external integration runtime Monthly cost depends on usage: $0.00025 per hours + ├─ Data pipeline self hosted activity runs Monthly cost depends on usage: $1.50 per 1k activity runs + ├─ Data pipeline self hosted data movement Monthly cost depends on usage: $0.10 per hours + ├─ Data pipeline self hosted integration runtime Monthly cost depends on usage: $0.002 per hours + └─ Data pipeline self hosted external integration runtime Monthly cost depends on usage: $0.0001 per hours + + azurerm_storage_account.example + ├─ Capacity Monthly cost depends on usage: $0.01 per GB + ├─ Write operations Monthly cost depends on usage: $0.10 per 10k operations + ├─ List and create container operations Monthly cost depends on usage: $0.054 per 10k operations + ├─ Read operations Monthly cost depends on usage: $0.01 per 10k operations + ├─ All other operations Monthly cost depends on usage: $0.0043 per 10k operations + ├─ Data retrieval Monthly cost depends on usage: $0.01 per GB + ├─ Blob index Monthly cost depends on usage: $0.039 per 10k tags + └─ Early deletion Monthly cost depends on usage: $0.01 per GB + + OVERALL TOTAL $127.33 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 5 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseWorkspace ┃ $127 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNewAzureRMSynapseWorkspace ┃ $127 ┃ $0.00 ┃ $127 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden index 43a2d9fb790..197782a8c45 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_traffic_manager_azure_endpoint.germany_example - ├─ Basic health check (Germany) 730 hours $0.36 - └─ Fast interval health checks add-on (Germany) 730 hours $1.36 - - azurerm_traffic_manager_azure_endpoint.fast_healthcheck_example - ├─ Basic health check (Global) 730 hours $0.36 - └─ Fast interval health checks add-on (Global) 730 hours $1.00 - - azurerm_traffic_manager_azure_endpoint.basic_healthcheck_example - └─ Basic health check (Global) 730 hours $0.36 - - azurerm_traffic_manager_azure_endpoint.default_healthcheck_example - └─ Basic health check (Global) 730 hours $0.36 - - OVERALL TOTAL $3.80 + Name Monthly Qty Unit Monthly Cost + + azurerm_traffic_manager_azure_endpoint.germany_example + ├─ Basic health check (Germany) 730 hours $0.36 + └─ Fast interval health checks add-on (Germany) 730 hours $1.36 + + azurerm_traffic_manager_azure_endpoint.fast_healthcheck_example + ├─ Basic health check (Global) 730 hours $0.36 + └─ Fast interval health checks add-on (Global) 730 hours $1.00 + + azurerm_traffic_manager_azure_endpoint.basic_healthcheck_example + └─ Basic health check (Global) 730 hours $0.36 + + azurerm_traffic_manager_azure_endpoint.default_healthcheck_example + └─ Basic health check (Global) 730 hours $0.36 + + OVERALL TOTAL $3.80 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 10 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestTrafficManagerAzureEndpoint ┃ $4 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestTrafficManagerAzureEndpoint ┃ $4 ┃ $0.00 ┃ $4 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden index a4018a1d351..e23c4ef2624 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_traffic_manager_external_endpoint.germany_example - ├─ Basic health check (Germany) 730 hours $0.54 - └─ Fast interval health checks add-on (Germany) 730 hours $2.54 - - azurerm_traffic_manager_external_endpoint.fast_healthcheck_example - ├─ Basic health check (Global) 730 hours $0.54 - └─ Fast interval health checks add-on (Global) 730 hours $2.00 - - azurerm_traffic_manager_external_endpoint.basic_healthcheck_example - └─ Basic health check (Global) 730 hours $0.54 - - azurerm_traffic_manager_external_endpoint.default_healthcheck_example - └─ Basic health check (Global) 730 hours $0.54 - - OVERALL TOTAL $6.70 + Name Monthly Qty Unit Monthly Cost + + azurerm_traffic_manager_external_endpoint.germany_example + ├─ Basic health check (Germany) 730 hours $0.54 + └─ Fast interval health checks add-on (Germany) 730 hours $2.54 + + azurerm_traffic_manager_external_endpoint.fast_healthcheck_example + ├─ Basic health check (Global) 730 hours $0.54 + └─ Fast interval health checks add-on (Global) 730 hours $2.00 + + azurerm_traffic_manager_external_endpoint.basic_healthcheck_example + └─ Basic health check (Global) 730 hours $0.54 + + azurerm_traffic_manager_external_endpoint.default_healthcheck_example + └─ Basic health check (Global) 730 hours $0.54 + + OVERALL TOTAL $6.70 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 10 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestTrafficManagerExternalEndpoint ┃ $7 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestTrafficManagerExternalEndpoint ┃ $7 ┃ $0.00 ┃ $7 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden index 2fa47fe292d..93594b512b9 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_traffic_manager_nested_endpoint.germany_example - ├─ Basic health check (Germany) 730 hours $0.36 - └─ Fast interval health checks add-on (Germany) 730 hours $1.36 - - azurerm_traffic_manager_nested_endpoint.fast_healthcheck_example - ├─ Basic health check (Global) 730 hours $0.36 - └─ Fast interval health checks add-on (Global) 730 hours $1.00 - - azurerm_traffic_manager_nested_endpoint.basic_healthcheck_example - └─ Basic health check (Global) 730 hours $0.36 - - azurerm_traffic_manager_nested_endpoint.default_healthcheck_example - └─ Basic health check (Global) 730 hours $0.36 - - OVERALL TOTAL $3.80 + Name Monthly Qty Unit Monthly Cost + + azurerm_traffic_manager_nested_endpoint.germany_example + ├─ Basic health check (Germany) 730 hours $0.36 + └─ Fast interval health checks add-on (Germany) 730 hours $1.36 + + azurerm_traffic_manager_nested_endpoint.fast_healthcheck_example + ├─ Basic health check (Global) 730 hours $0.36 + └─ Fast interval health checks add-on (Global) 730 hours $1.00 + + azurerm_traffic_manager_nested_endpoint.basic_healthcheck_example + └─ Basic health check (Global) 730 hours $0.36 + + azurerm_traffic_manager_nested_endpoint.default_healthcheck_example + └─ Basic health check (Global) 730 hours $0.36 + + OVERALL TOTAL $3.80 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 10 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestTrafficManagerNestedEndpoint ┃ $4 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestTrafficManagerNestedEndpoint ┃ $4 ┃ $0.00 ┃ $4 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden index 73527805770..f3a3e526d09 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden @@ -1,26 +1,29 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_traffic_manager_profile.example_with_usage - ├─ DNS queries (first 1B) 1,000 1M queries $540.00 - ├─ DNS queries (over 1B) 234.5678 1M queries $87.96 - └─ Traffic view 12.3456 1M data points $24.69 - - azurerm_traffic_manager_profile.example - └─ DNS queries (first 1B) Monthly cost depends on usage: $0.54 per 1M queries - - azurerm_traffic_manager_profile.example_with_traffic_view - ├─ DNS queries (first 1B) Monthly cost depends on usage: $0.54 per 1M queries - └─ Traffic view Monthly cost depends on usage: $2.00 per 1M data points - + Name Monthly Qty Unit Monthly Cost + + azurerm_traffic_manager_profile.example_with_usage + ├─ DNS queries (first 1B) 1,000 1M queries $540.00 * + ├─ DNS queries (over 1B) 234.5678 1M queries $87.96 * + └─ Traffic view 12.3456 1M data points $24.69 * + + azurerm_traffic_manager_profile.example + └─ DNS queries (first 1B) Monthly cost depends on usage: $0.54 per 1M queries + + azurerm_traffic_manager_profile.example_with_traffic_view + ├─ DNS queries (first 1B) Monthly cost depends on usage: $0.54 per 1M queries + └─ Traffic view Monthly cost depends on usage: $2.00 per 1M data points + OVERALL TOTAL $652.65 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestTrafficManagerProfile ┃ $653 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestTrafficManagerProfile ┃ $0.00 ┃ $653 ┃ $653 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden index 6eed5c0eed9..3f3ff44a3be 100644 --- a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden @@ -1,21 +1,24 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_virtual_hub.virtual_hub_with_usage - ├─ Deployment 730 hours $182.50 - └─ Data processed 90 GB $1.80 - - azurerm_virtual_hub.virtual_hub - └─ Deployment 730 hours $182.50 - + Name Monthly Qty Unit Monthly Cost + + azurerm_virtual_hub.virtual_hub_with_usage + ├─ Deployment 730 hours $182.50 + └─ Data processed 90 GB $1.80 * + + azurerm_virtual_hub.virtual_hub + └─ Deployment 730 hours $182.50 + OVERALL TOTAL $366.80 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestVirtualHubGoldenFile ┃ $367 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestVirtualHubGoldenFile ┃ $365 ┃ $2 ┃ $367 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden index da5416b906a..37296d1079a 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden @@ -1,38 +1,41 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_virtual_machine_scale_set.windows - ├─ Instance usage (Windows, hybrid benefit, Standard_F2) 2,190 hours $249.66 - ├─ storage_os_disk - │ ├─ Storage (S4, LRS) 1 months $1.54 - │ └─ Disk operations 100 10k operations $0.05 - ├─ storage_data_disk - │ ├─ Storage (E4, LRS) 1 months $2.40 - │ └─ Disk operations 200 10k operations $0.40 - └─ storage_data_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations 200 10k operations $0.10 - - azurerm_virtual_machine_scale_set.linux - ├─ Instance usage (Linux, pay as you go, Standard_F2) 1,460 hours $166.44 - ├─ storage_os_disk - │ ├─ Storage (S4, LRS) 1 months $1.54 - │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - ├─ storage_data_disk - │ ├─ Storage (E4, LRS) 1 months $2.40 - │ └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations - └─ storage_data_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_virtual_machine_scale_set.windows + ├─ Instance usage (Windows, hybrid benefit, Standard_F2) 2,190 hours $249.66 + ├─ storage_os_disk + │ ├─ Storage (S4, LRS) 1 months $1.54 + │ └─ Disk operations 100 10k operations $0.05 * + ├─ storage_data_disk + │ ├─ Storage (E4, LRS) 1 months $2.40 + │ └─ Disk operations 200 10k operations $0.40 * + └─ storage_data_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations 200 10k operations $0.10 * + + azurerm_virtual_machine_scale_set.linux + ├─ Instance usage (Linux, pay as you go, Standard_F2) 1,460 hours $166.44 + ├─ storage_os_disk + │ ├─ Storage (S4, LRS) 1 months $1.54 + │ └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + ├─ storage_data_disk + │ ├─ Storage (E4, LRS) 1 months $2.40 + │ └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations + └─ storage_data_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + OVERALL TOTAL $427.59 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 2 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureVirtualMachineScaleSetGoldenFile ┃ $428 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureVirtualMachineScaleSetGoldenFile ┃ $427 ┃ $0.55 ┃ $428 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden index ce8d4773d6e..04790dec660 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden @@ -1,54 +1,57 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_virtual_machine.windows - ├─ Instance usage (Windows, pay as you go, Standard_DS1_v2) 730 hours $91.98 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU - ├─ storage_os_disk - │ ├─ Storage (S4, LRS) 1 months $1.54 - │ └─ Disk operations 100 10k operations $0.05 - ├─ storage_data_disk - │ ├─ Storage (S4, LRS) 1 months $1.54 - │ └─ Disk operations 200 10k operations $0.10 - ├─ storage_data_disk - │ ├─ Storage (E4, LRS) 1 months $2.40 - │ └─ Disk operations 200 10k operations $0.40 - ├─ storage_data_disk - │ └─ Storage (P4, LRS) 1 months $5.28 - └─ storage_data_disk - ├─ Storage (ultra, 1024 GiB) 1,024 GiB $122.59 - ├─ Provisioned IOPS 2,048 IOPS $101.66 - └─ Throughput 8 MB/s $2.80 - - azurerm_virtual_machine.linux - ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 730 hours $53.29 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU - └─ storage_os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_virtual_machine.windows_withMonthlyHours - ├─ Instance usage (Windows, pay as you go, Standard_DS1_v2) 100 hours $12.60 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU - └─ storage_os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_virtual_machine.linux_withMonthlyHours - ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 100 hours $7.30 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU - └─ storage_os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_virtual_machine.windows + ├─ Instance usage (Windows, pay as you go, Standard_DS1_v2) 730 hours $91.98 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU + ├─ storage_os_disk + │ ├─ Storage (S4, LRS) 1 months $1.54 + │ └─ Disk operations 100 10k operations $0.05 * + ├─ storage_data_disk + │ ├─ Storage (S4, LRS) 1 months $1.54 + │ └─ Disk operations 200 10k operations $0.10 * + ├─ storage_data_disk + │ ├─ Storage (E4, LRS) 1 months $2.40 + │ └─ Disk operations 200 10k operations $0.40 * + ├─ storage_data_disk + │ └─ Storage (P4, LRS) 1 months $5.28 + └─ storage_data_disk + ├─ Storage (ultra, 1024 GiB) 1,024 GiB $122.59 + ├─ Provisioned IOPS 2,048 IOPS $101.66 + └─ Throughput 8 MB/s $2.80 + + azurerm_virtual_machine.linux + ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 730 hours $53.29 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU + └─ storage_os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_virtual_machine.windows_withMonthlyHours + ├─ Instance usage (Windows, pay as you go, Standard_DS1_v2) 100 hours $12.60 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU + └─ storage_os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_virtual_machine.linux_withMonthlyHours + ├─ Instance usage (Linux, pay as you go, Standard_DS1_v2) 100 hours $7.30 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU + └─ storage_os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + OVERALL TOTAL $408.13 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 4 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureVirtualMachineGoldenFile ┃ $408 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureVirtualMachineGoldenFile ┃ $408 ┃ $0.55 ┃ $408 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden index 1943470e4bc..98d27fb17b6 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden @@ -1,70 +1,73 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_virtual_network_gateway.VpnGw5 - ├─ VPN gateway (VpnGw5) 730 hours $2,664.50 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.VpnGw4 - ├─ VPN gateway (VpnGw4) 730 hours $1,533.00 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.VpnGw3 - ├─ VPN gateway (VpnGw3) 730 hours $912.50 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.VpnGw2 - ├─ VPN gateway (VpnGw2) 730 hours $357.70 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.VpnGw1AZ - ├─ VPN gateway (VpnGw1AZ) 730 hours $263.53 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.VpnGw1 - ├─ VPN gateway (VpnGw1) 730 hours $138.70 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.Basic - ├─ VPN gateway (Basic) 730 hours $26.28 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway_connection.VpnGw1 - └─ VPN gateway (VpnGw1) 730 hours $10.95 - - azurerm_virtual_network_gateway_connection.VpnGw1AZ - └─ VPN gateway (VpnGw1AZ) 730 hours $10.95 - - azurerm_virtual_network_gateway_connection.VpnGw2 - └─ VPN gateway (VpnGw2) 730 hours $10.95 - - azurerm_virtual_network_gateway_connection.VpnGw3 - └─ VPN gateway (VpnGw3) 730 hours $10.95 - - azurerm_virtual_network_gateway_connection.VpnGw4 - └─ VPN gateway (VpnGw4) 730 hours $10.95 - - azurerm_virtual_network_gateway_connection.VpnGw5 - └─ VPN gateway (VpnGw5) 730 hours $10.95 - - azurerm_public_ip.example - └─ IP address (dynamic, regional) 730 hours $2.92 - - OVERALL TOTAL $5,964.83 + Name Monthly Qty Unit Monthly Cost + + azurerm_virtual_network_gateway.VpnGw5 + ├─ VPN gateway (VpnGw5) 730 hours $2,664.50 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.VpnGw4 + ├─ VPN gateway (VpnGw4) 730 hours $1,533.00 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.VpnGw3 + ├─ VPN gateway (VpnGw3) 730 hours $912.50 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.VpnGw2 + ├─ VPN gateway (VpnGw2) 730 hours $357.70 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.VpnGw1AZ + ├─ VPN gateway (VpnGw1AZ) 730 hours $263.53 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.VpnGw1 + ├─ VPN gateway (VpnGw1) 730 hours $138.70 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.Basic + ├─ VPN gateway (Basic) 730 hours $26.28 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway_connection.VpnGw1 + └─ VPN gateway (VpnGw1) 730 hours $10.95 + + azurerm_virtual_network_gateway_connection.VpnGw1AZ + └─ VPN gateway (VpnGw1AZ) 730 hours $10.95 + + azurerm_virtual_network_gateway_connection.VpnGw2 + └─ VPN gateway (VpnGw2) 730 hours $10.95 + + azurerm_virtual_network_gateway_connection.VpnGw3 + └─ VPN gateway (VpnGw3) 730 hours $10.95 + + azurerm_virtual_network_gateway_connection.VpnGw4 + └─ VPN gateway (VpnGw4) 730 hours $10.95 + + azurerm_virtual_network_gateway_connection.VpnGw5 + └─ VPN gateway (VpnGw5) 730 hours $10.95 + + azurerm_public_ip.example + └─ IP address (dynamic, regional) 730 hours $2.92 + + OVERALL TOTAL $5,964.83 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 25 cloud resources were detected: ∙ 14 were estimated ∙ 11 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMVirtualNetworkGatewayConnection ┃ $5,965 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMVirtualNetworkGatewayConnection ┃ $5,965 ┃ $0.00 ┃ $5,965 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden index 8e79473c4c5..c7c7567ad8b 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden @@ -1,52 +1,55 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_virtual_network_gateway.VpnGw5 - ├─ VPN gateway (VpnGw5) 730 hours $2,664.50 - ├─ VPN gateway P2S tunnels (over 128) 5,872 tunnel $42,865.60 - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.VpnGw4 - ├─ VPN gateway (VpnGw4) 730 hours $1,533.00 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.VpnGw3 - ├─ VPN gateway (VpnGw3) 730 hours $912.50 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.VpnGw2 - ├─ VPN gateway (VpnGw2) 730 hours $357.70 - ├─ VPN gateway P2S tunnels (over 128) 22 tunnel $160.60 - └─ VPN gateway data tranfer 20 GB $0.70 - - azurerm_virtual_network_gateway.VpnGw1AZ - ├─ VPN gateway (VpnGw1AZ) 730 hours $263.53 - ├─ VPN gateway P2S tunnels (over 128) 22 tunnel $160.60 - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_gateway.Basic - ├─ VPN gateway (Basic) 730 hours $26.28 - ├─ VPN gateway P2S tunnels (over 128) 22 tunnel $160.60 - └─ VPN gateway data tranfer 1 GB $0.04 - - azurerm_virtual_network_gateway.VpnGw1 - ├─ VPN gateway (VpnGw1) 730 hours $138.70 - ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel - └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB - - azurerm_public_ip.example - └─ IP address (dynamic, regional) 730 hours $2.92 - - OVERALL TOTAL $49,247.27 + Name Monthly Qty Unit Monthly Cost + + azurerm_virtual_network_gateway.VpnGw5 + ├─ VPN gateway (VpnGw5) 730 hours $2,664.50 + ├─ VPN gateway P2S tunnels (over 128) 5,872 tunnel $42,865.60 + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.VpnGw4 + ├─ VPN gateway (VpnGw4) 730 hours $1,533.00 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.VpnGw3 + ├─ VPN gateway (VpnGw3) 730 hours $912.50 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.VpnGw2 + ├─ VPN gateway (VpnGw2) 730 hours $357.70 + ├─ VPN gateway P2S tunnels (over 128) 22 tunnel $160.60 + └─ VPN gateway data tranfer 20 GB $0.70 + + azurerm_virtual_network_gateway.VpnGw1AZ + ├─ VPN gateway (VpnGw1AZ) 730 hours $263.53 + ├─ VPN gateway P2S tunnels (over 128) 22 tunnel $160.60 + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_gateway.Basic + ├─ VPN gateway (Basic) 730 hours $26.28 + ├─ VPN gateway P2S tunnels (over 128) 22 tunnel $160.60 + └─ VPN gateway data tranfer 1 GB $0.04 + + azurerm_virtual_network_gateway.VpnGw1 + ├─ VPN gateway (VpnGw1) 730 hours $138.70 + ├─ VPN gateway P2S tunnels (over 128) Monthly cost depends on usage: $7.30 per tunnel + └─ VPN gateway data tranfer Monthly cost depends on usage: $0.035 per GB + + azurerm_public_ip.example + └─ IP address (dynamic, regional) 730 hours $2.92 + + OVERALL TOTAL $49,247.27 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 11 cloud resources were detected: ∙ 8 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMVirtualNetworkGateway ┃ $49,247 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMVirtualNetworkGateway ┃ $49,247 ┃ $0.00 ┃ $49,247 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden index 26946d654a4..1a3385aeb1b 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden @@ -1,38 +1,41 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_virtual_network_peering.inter_zonal_with_usage - ├─ Inbound data transfer 1,000 GB $90.00 - └─ Outbound data transfer 1,000 GB $35.00 - - azurerm_virtual_network_peering.intra_zonal_with_usage - ├─ Inbound data transfer 1,000 GB $35.00 - └─ Outbound data transfer 1,000 GB $35.00 - - azurerm_virtual_network_peering.intra_region_with_usage - ├─ Inbound data transfer 1,000 GB $10.00 - └─ Outbound data transfer 1,000 GB $10.00 - - azurerm_virtual_network_peering.inter_zonal - ├─ Inbound data transfer Monthly cost depends on usage: $0.09 per GB - └─ Outbound data transfer Monthly cost depends on usage: $0.035 per GB - - azurerm_virtual_network_peering.intra_region - ├─ Inbound data transfer Monthly cost depends on usage: $0.01 per GB - └─ Outbound data transfer Monthly cost depends on usage: $0.01 per GB - - azurerm_virtual_network_peering.intra_zonal - ├─ Inbound data transfer Monthly cost depends on usage: $0.035 per GB - └─ Outbound data transfer Monthly cost depends on usage: $0.035 per GB - + Name Monthly Qty Unit Monthly Cost + + azurerm_virtual_network_peering.inter_zonal_with_usage + ├─ Inbound data transfer 1,000 GB $90.00 * + └─ Outbound data transfer 1,000 GB $35.00 * + + azurerm_virtual_network_peering.intra_zonal_with_usage + ├─ Inbound data transfer 1,000 GB $35.00 * + └─ Outbound data transfer 1,000 GB $35.00 * + + azurerm_virtual_network_peering.intra_region_with_usage + ├─ Inbound data transfer 1,000 GB $10.00 * + └─ Outbound data transfer 1,000 GB $10.00 * + + azurerm_virtual_network_peering.inter_zonal + ├─ Inbound data transfer Monthly cost depends on usage: $0.09 per GB + └─ Outbound data transfer Monthly cost depends on usage: $0.035 per GB + + azurerm_virtual_network_peering.intra_region + ├─ Inbound data transfer Monthly cost depends on usage: $0.01 per GB + └─ Outbound data transfer Monthly cost depends on usage: $0.01 per GB + + azurerm_virtual_network_peering.intra_zonal + ├─ Inbound data transfer Monthly cost depends on usage: $0.035 per GB + └─ Outbound data transfer Monthly cost depends on usage: $0.035 per GB + OVERALL TOTAL $215.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 13 cloud resources were detected: ∙ 6 were estimated ∙ 7 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestVirtualNetworkPeering ┃ $215 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestVirtualNetworkPeering ┃ $0.00 ┃ $215 ┃ $215 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden index ac4f14172cd..6e6631f7f7c 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden @@ -1,13 +1,16 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_vpn_gateway.vpn_gateway - └─ S2S scale units (500 Mbps) 1 scale units $263.53 - - azurerm_vpn_gateway_connection.vpn_gateway_connection - └─ S2S Connections 730 hours $36.50 - - OVERALL TOTAL $300.03 + Name Monthly Qty Unit Monthly Cost + + azurerm_vpn_gateway.vpn_gateway + └─ S2S scale units (500 Mbps) 1 scale units $263.53 + + azurerm_vpn_gateway_connection.vpn_gateway_connection + └─ S2S Connections 730 hours $36.50 + + OVERALL TOTAL $300.03 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 2 were estimated @@ -15,8 +18,8 @@ ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x azurerm_vpn_site -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestVpnGatewayConnectionGoldenFile ┃ $300 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestVpnGatewayConnectionGoldenFile ┃ $300 ┃ $0.00 ┃ $300 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden index b8b79e07180..784a83a5ab2 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_vpn_gateway.vpn_with_scale_units - └─ S2S scale units (500 Mbps) 3 scale units $790.59 - - azurerm_vpn_gateway.default_vpn - └─ S2S scale units (500 Mbps) 1 scale units $263.53 - - OVERALL TOTAL $1,054.12 + Name Monthly Qty Unit Monthly Cost + + azurerm_vpn_gateway.vpn_with_scale_units + └─ S2S scale units (500 Mbps) 3 scale units $790.59 + + azurerm_vpn_gateway.default_vpn + └─ S2S scale units (500 Mbps) 1 scale units $263.53 + + OVERALL TOTAL $1,054.12 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 2 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestVpnGatewayGoldenFile ┃ $1,054 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestVpnGatewayGoldenFile ┃ $1,054 ┃ $0.00 ┃ $1,054 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden index f1ffced8120..ca0a2fa9c8d 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_windows_virtual_machine_scale_set.basic_a2_usage - ├─ Instance usage (Windows, pay as you go, Basic_A2) 2,920 hours $388.36 - └─ os_disk - ├─ Storage (S4, LRS) 4 months $6.14 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_windows_virtual_machine_scale_set.basic_a2 - ├─ Instance usage (Windows, pay as you go, Basic_A2) 2,190 hours $291.27 - └─ os_disk - ├─ Storage (S4, LRS) 3 months $4.61 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - OVERALL TOTAL $690.38 + Name Monthly Qty Unit Monthly Cost + + azurerm_windows_virtual_machine_scale_set.basic_a2_usage + ├─ Instance usage (Windows, pay as you go, Basic_A2) 2,920 hours $388.36 + └─ os_disk + ├─ Storage (S4, LRS) 4 months $6.14 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_windows_virtual_machine_scale_set.basic_a2 + ├─ Instance usage (Windows, pay as you go, Basic_A2) 2,190 hours $291.27 + └─ os_disk + ├─ Storage (S4, LRS) 3 months $4.61 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + OVERALL TOTAL $690.38 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsVirtualMachineScaleSetGoldenFile ┃ $690 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMWindowsVirtualMachineScaleSetGoldenFile ┃ $690 ┃ $0.00 ┃ $690 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden index df37b1958f1..9807d707666 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden @@ -1,55 +1,58 @@ - Name Monthly Qty Unit Monthly Cost - - azurerm_windows_virtual_machine.Standard_E16-8as_v4 - ├─ Instance usage (Windows, pay as you go, Standard_E16-8as_v4) 730 hours $1,273.12 - └─ os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_windows_virtual_machine.standard_a2_v2_custom_disk - ├─ Instance usage (Windows, pay as you go, Standard_A2_v2) 730 hours $99.28 - └─ os_disk - ├─ Storage (E30, LRS) 1 months $76.80 - └─ Disk operations 2 10k operations $0.00 - - azurerm_windows_virtual_machine.standard_d2_v4_hybrid_benefit - ├─ Instance usage (Windows, hybrid benefit, Standard_D2_v4) 730 hours $70.08 - └─ os_disk - ├─ Storage (E30, LRS) 1 months $76.80 - └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations - - azurerm_windows_virtual_machine.standard_f2_premium_disk - ├─ Instance usage (Windows, pay as you go, Standard_F2) 730 hours $140.16 - └─ os_disk - └─ Storage (P4, LRS) 1 months $5.28 - - azurerm_windows_virtual_machine.standard_a2_ultra_enabled - ├─ Instance usage (Windows, pay as you go, Standard_A2_v2) 730 hours $99.28 - ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU - └─ os_disk - ├─ Storage (E4, LRS) 1 months $2.40 - └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations - - azurerm_windows_virtual_machine.basic_a2 - ├─ Instance usage (Windows, pay as you go, Basic_A2) 730 hours $97.09 - └─ os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - - azurerm_windows_virtual_machine.basic_a2_withMonthlyHours - ├─ Instance usage (Windows, pay as you go, Basic_A2) 100 hours $13.30 - └─ os_disk - ├─ Storage (S4, LRS) 1 months $1.54 - └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations - + Name Monthly Qty Unit Monthly Cost + + azurerm_windows_virtual_machine.Standard_E16-8as_v4 + ├─ Instance usage (Windows, pay as you go, Standard_E16-8as_v4) 730 hours $1,273.12 + └─ os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_windows_virtual_machine.standard_a2_v2_custom_disk + ├─ Instance usage (Windows, pay as you go, Standard_A2_v2) 730 hours $99.28 + └─ os_disk + ├─ Storage (E30, LRS) 1 months $76.80 + └─ Disk operations 2 10k operations $0.00 * + + azurerm_windows_virtual_machine.standard_d2_v4_hybrid_benefit + ├─ Instance usage (Windows, hybrid benefit, Standard_D2_v4) 730 hours $70.08 + └─ os_disk + ├─ Storage (E30, LRS) 1 months $76.80 + └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations + + azurerm_windows_virtual_machine.standard_f2_premium_disk + ├─ Instance usage (Windows, pay as you go, Standard_F2) 730 hours $140.16 + └─ os_disk + └─ Storage (P4, LRS) 1 months $5.28 + + azurerm_windows_virtual_machine.standard_a2_ultra_enabled + ├─ Instance usage (Windows, pay as you go, Standard_A2_v2) 730 hours $99.28 + ├─ Ultra disk reservation (if unattached) Monthly cost depends on usage: $4.38 per vCPU + └─ os_disk + ├─ Storage (E4, LRS) 1 months $2.40 + └─ Disk operations Monthly cost depends on usage: $0.002 per 10k operations + + azurerm_windows_virtual_machine.basic_a2 + ├─ Instance usage (Windows, pay as you go, Basic_A2) 730 hours $97.09 + └─ os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + + azurerm_windows_virtual_machine.basic_a2_withMonthlyHours + ├─ Instance usage (Windows, pay as you go, Basic_A2) 100 hours $13.30 + └─ os_disk + ├─ Storage (S4, LRS) 1 months $1.54 + └─ Disk operations Monthly cost depends on usage: $0.0005 per 10k operations + OVERALL TOTAL $1,958.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 7 cloud resources were detected: ∙ 7 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsVirtualMachineGoldenFile ┃ $1,958 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMWindowsVirtualMachineGoldenFile ┃ $1,958 ┃ $0.00 ┃ $1,958 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden index 2dd6c61e643..63d45b3991a 100644 --- a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden +++ b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden @@ -1,39 +1,42 @@ - Name Monthly Qty Unit Monthly Cost - - google_artifact_registry_repository.us_east1_usage - ├─ Storage 150 GB $15.00 - ├─ Data egress from/to Oceania 100 GB $15.00 - ├─ Intercontinental (Excl Oceania) 200 GB $16.00 - └─ Data egress North America to North America 100 GB $1.00 - - google_artifact_registry_repository.europe_north1_usage - ├─ Storage 150 GB $15.00 - ├─ Data egress from/to Oceania 100 GB $15.00 - ├─ Data egress Europe to Europe 200 GB $4.00 - └─ Intercontinental (Excl Oceania) 100 GB $8.00 - - google_artifact_registry_repository.australia_southeast1_usage - ├─ Storage 150 GB $15.00 - └─ Data egress from/to Oceania 100 GB $8.00 - - google_artifact_registry_repository.asia_east1_usage - ├─ Storage 150 GB $15.00 - └─ Data egress AsiaPacific to AsiaPacific 100 GB $5.00 - - google_artifact_registry_repository.multiregion_europe_usage - └─ Storage 150 GB $15.00 - - google_artifact_registry_repository.us_east1 - └─ Storage Monthly cost depends on usage: $0.10 per GB - + Name Monthly Qty Unit Monthly Cost + + google_artifact_registry_repository.us_east1_usage + ├─ Storage 150 GB $15.00 * + ├─ Data egress from/to Oceania 100 GB $15.00 * + ├─ Intercontinental (Excl Oceania) 200 GB $16.00 * + └─ Data egress North America to North America 100 GB $1.00 * + + google_artifact_registry_repository.europe_north1_usage + ├─ Storage 150 GB $15.00 * + ├─ Data egress from/to Oceania 100 GB $15.00 * + ├─ Data egress Europe to Europe 200 GB $4.00 * + └─ Intercontinental (Excl Oceania) 100 GB $8.00 * + + google_artifact_registry_repository.australia_southeast1_usage + ├─ Storage 150 GB $15.00 * + └─ Data egress from/to Oceania 100 GB $8.00 * + + google_artifact_registry_repository.asia_east1_usage + ├─ Storage 150 GB $15.00 * + └─ Data egress AsiaPacific to AsiaPacific 100 GB $5.00 * + + google_artifact_registry_repository.multiregion_europe_usage + └─ Storage 150 GB $15.00 * + + google_artifact_registry_repository.us_east1 + └─ Storage Monthly cost depends on usage: $0.10 per GB + OVERALL TOTAL $147.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestArtifactRegistryRepositoryGoldenFile ┃ $147 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestArtifactRegistryRepositoryGoldenFile ┃ $0.00 ┃ $147 ┃ $147 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden index 0b4785643a8..60c904dce82 100644 --- a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_bigquery_dataset.usage - └─ Queries (on-demand) 100.3 TB $626.88 - - google_bigquery_dataset.non_usage - └─ Queries (on-demand) Monthly cost depends on usage: $6.25 per TB - + Name Monthly Qty Unit Monthly Cost + + google_bigquery_dataset.usage + └─ Queries (on-demand) 100.3 TB $626.88 * + + google_bigquery_dataset.non_usage + └─ Queries (on-demand) Monthly cost depends on usage: $6.25 per TB + OVERALL TOTAL $626.88 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestBigqueryDataset ┃ $627 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestBigqueryDataset ┃ $0.00 ┃ $627 ┃ $627 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden index 76581c865bb..531fd610de9 100644 --- a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden @@ -1,30 +1,33 @@ - Name Monthly Qty Unit Monthly Cost - - google_bigquery_table.usage - ├─ Active storage 1,000 GB $23.00 - ├─ Long-term storage 1,000 GB $16.00 - ├─ Streaming inserts 1,000 MB $0.05 - ├─ Storage write API 1,000 GB $25.00 - └─ Storage read API 1,000 TB $1,100.00 - - google_bigquery_dataset.default - └─ Queries (on-demand) Monthly cost depends on usage: $6.25 per TB - - google_bigquery_table.non_usage - ├─ Active storage Monthly cost depends on usage: $0.023 per GB - ├─ Long-term storage Monthly cost depends on usage: $0.016 per GB - ├─ Streaming inserts Monthly cost depends on usage: $0.00005 per MB - ├─ Storage write API Monthly cost depends on usage: $0.025 per GB - └─ Storage read API Monthly cost depends on usage: $1.10 per TB - + Name Monthly Qty Unit Monthly Cost + + google_bigquery_table.usage + ├─ Active storage 1,000 GB $23.00 * + ├─ Long-term storage 1,000 GB $16.00 * + ├─ Streaming inserts 1,000 MB $0.05 * + ├─ Storage write API 1,000 GB $25.00 * + └─ Storage read API 1,000 TB $1,100.00 * + + google_bigquery_dataset.default + └─ Queries (on-demand) Monthly cost depends on usage: $6.25 per TB + + google_bigquery_table.non_usage + ├─ Active storage Monthly cost depends on usage: $0.023 per GB + ├─ Long-term storage Monthly cost depends on usage: $0.016 per GB + ├─ Streaming inserts Monthly cost depends on usage: $0.00005 per MB + ├─ Storage write API Monthly cost depends on usage: $0.025 per GB + └─ Storage read API Monthly cost depends on usage: $1.10 per TB + OVERALL TOTAL $1,164.05 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestBigqueryTable ┃ $1,164 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestBigqueryTable ┃ $0.00 ┃ $1,164 ┃ $1,164 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden index 1025be9b3b9..119c09ce792 100644 --- a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden +++ b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - google_cloudfunctions_function.my_function - ├─ CPU 1,200,000 GHz-seconds $12.00 - ├─ Memory 750,000 GB-seconds $1.88 - ├─ Invocations 10,000,000 invocations $4.00 - └─ Outbound data transfer 100 GB $12.00 - - google_cloudfunctions_function.function - ├─ CPU Monthly cost depends on usage: $0.00001 per GHz-seconds - ├─ Memory Monthly cost depends on usage: $0.0000025 per GB-seconds - ├─ Invocations Monthly cost depends on usage: $0.0000004 per invocations - └─ Outbound data transfer Monthly cost depends on usage: $0.12 per GB - + Name Monthly Qty Unit Monthly Cost + + google_cloudfunctions_function.my_function + ├─ CPU 1,200,000 GHz-seconds $12.00 * + ├─ Memory 750,000 GB-seconds $1.88 * + ├─ Invocations 10,000,000 invocations $4.00 * + └─ Outbound data transfer 100 GB $12.00 * + + google_cloudfunctions_function.function + ├─ CPU Monthly cost depends on usage: $0.00001 per GHz-seconds + ├─ Memory Monthly cost depends on usage: $0.0000025 per GB-seconds + ├─ Invocations Monthly cost depends on usage: $0.0000004 per invocations + └─ Outbound data transfer Monthly cost depends on usage: $0.12 per GB + OVERALL TOTAL $29.88 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestCloudFunctions ┃ $30 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestCloudFunctions ┃ $0.00 ┃ $30 ┃ $30 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden index b88addc1cf0..946d6e4d45f 100644 --- a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden +++ b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden @@ -1,44 +1,47 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_address.default_diff_region - └─ IP address (unused) 730 hours $8.76 - - google_compute_address.static - └─ IP address (unused) 730 hours $7.30 - - google_compute_address.static_without_purpose - └─ IP address (unused) 730 hours $7.30 - - google_compute_global_address.default - └─ IP address (unused) 730 hours $7.30 - - google_compute_instance.standard_instance_with_ip - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.standard_instance_with_ip_purpose - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_address.standard_static - └─ IP address (standard VM) 730 hours $3.65 - - google_compute_instance.preemptible_instance_with_ip - ├─ Instance usage (Linux/UNIX, preemptible, f1-micro) 730 hours $2.56 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_address.preemptible_static - └─ IP address (preemptible VM) 730 hours $1.83 - - OVERALL TOTAL $47.66 + Name Monthly Qty Unit Monthly Cost + + google_compute_address.default_diff_region + └─ IP address (unused) 730 hours $8.76 + + google_compute_address.static + └─ IP address (unused) 730 hours $7.30 + + google_compute_address.static_without_purpose + └─ IP address (unused) 730 hours $7.30 + + google_compute_global_address.default + └─ IP address (unused) 730 hours $7.30 + + google_compute_instance.standard_instance_with_ip + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.standard_instance_with_ip_purpose + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_address.standard_static + └─ IP address (standard VM) 730 hours $3.65 + + google_compute_instance.preemptible_instance_with_ip + ├─ Instance usage (Linux/UNIX, preemptible, f1-micro) 730 hours $2.56 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_address.preemptible_static + └─ IP address (preemptible VM) 730 hours $1.83 + + OVERALL TOTAL $47.66 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 12 cloud resources were detected: ∙ 9 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeAddress ┃ $48 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeAddress ┃ $48 ┃ $0.00 ┃ $48 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden index 34abfa826d8..96cf19a6082 100644 --- a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden +++ b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden @@ -1,62 +1,65 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_disk.hyperdisk_default - ├─ Hyperdisk provisioned storage (hyperdisk-extreme) 1,000 GB $125.00 - └─ Provisioned IOPS 350,000 IOPS $11,200.00 - - google_compute_disk.extreme_default - ├─ Extreme provisioned storage (pd-extreme) 1,000 GB $125.00 - └─ Provisioned IOPS 100,000 IOPS $6,500.00 - - google_compute_disk.hyperdisk_size_iops - ├─ Hyperdisk provisioned storage (hyperdisk-extreme) 128 GB $16.00 - └─ Provisioned IOPS 20,000 IOPS $640.00 - - google_compute_disk.extreme_size_iops - ├─ Extreme provisioned storage (pd-extreme) 40 GB $5.00 - └─ Provisioned IOPS 5,000 IOPS $325.00 - - google_compute_disk.standard_default - └─ Standard provisioned storage (pd-standard) 500 GB $20.00 - - google_compute_disk.ssd_default - └─ SSD provisioned storage (pd-ssd) 100 GB $17.00 - - google_compute_image.image_disk_size - └─ Storage 30 GB $1.50 - - google_compute_image.image_source_image - └─ Storage 30 GB $1.50 - - google_compute_disk.image_disk_size - └─ Standard provisioned storage (pd-standard) 30 GB $1.20 - - google_compute_disk.image_source_image - └─ Standard provisioned storage (pd-standard) 30 GB $1.20 - - google_compute_image.image_source_snapshot - └─ Storage 20 GB $1.00 - - google_compute_disk.image_source_snapshot - └─ Standard provisioned storage (pd-standard) 20 GB $0.80 - - google_compute_disk.size - └─ Standard provisioned storage (pd-standard) 20 GB $0.80 - - google_compute_disk.snapshot_source_disk - └─ Standard provisioned storage (pd-standard) 20 GB $0.80 - - google_compute_snapshot.snapshot_source_disk - └─ Storage 20 GB $0.52 - + Name Monthly Qty Unit Monthly Cost + + google_compute_disk.hyperdisk_default + ├─ Hyperdisk provisioned storage (hyperdisk-extreme) 1,000 GB $125.00 + └─ Provisioned IOPS 350,000 IOPS $11,200.00 + + google_compute_disk.extreme_default + ├─ Extreme provisioned storage (pd-extreme) 1,000 GB $125.00 + └─ Provisioned IOPS 100,000 IOPS $6,500.00 + + google_compute_disk.hyperdisk_size_iops + ├─ Hyperdisk provisioned storage (hyperdisk-extreme) 128 GB $16.00 + └─ Provisioned IOPS 20,000 IOPS $640.00 + + google_compute_disk.extreme_size_iops + ├─ Extreme provisioned storage (pd-extreme) 40 GB $5.00 + └─ Provisioned IOPS 5,000 IOPS $325.00 + + google_compute_disk.standard_default + └─ Standard provisioned storage (pd-standard) 500 GB $20.00 + + google_compute_disk.ssd_default + └─ SSD provisioned storage (pd-ssd) 100 GB $17.00 + + google_compute_image.image_disk_size + └─ Storage 30 GB $1.50 * + + google_compute_image.image_source_image + └─ Storage 30 GB $1.50 * + + google_compute_disk.image_disk_size + └─ Standard provisioned storage (pd-standard) 30 GB $1.20 + + google_compute_disk.image_source_image + └─ Standard provisioned storage (pd-standard) 30 GB $1.20 + + google_compute_image.image_source_snapshot + └─ Storage 20 GB $1.00 * + + google_compute_disk.image_source_snapshot + └─ Standard provisioned storage (pd-standard) 20 GB $0.80 + + google_compute_disk.size + └─ Standard provisioned storage (pd-standard) 20 GB $0.80 + + google_compute_disk.snapshot_source_disk + └─ Standard provisioned storage (pd-standard) 20 GB $0.80 + + google_compute_snapshot.snapshot_source_disk + └─ Storage 20 GB $0.52 * + OVERALL TOTAL $18,982.32 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 15 cloud resources were detected: ∙ 15 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeDiskGoldenFile ┃ $18,982 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeDiskGoldenFile ┃ $18,978 ┃ $5 ┃ $18,982 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden index fe14fec645c..b0d5c798d11 100644 --- a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden @@ -1,22 +1,25 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_external_vpn_gateway.my_compute_external_vpn_gateway - └─ Network egress - ├─ IPSec traffic to worldwide excluding China, Australia but including Hong Kong (first 1TB) 1,024 GB $122.88 - ├─ IPSec traffic to worldwide excluding China, Australia but including Hong Kong (next 9TB) 9,216 GB $1,013.76 - ├─ IPSec traffic to worldwide excluding China, Australia but including Hong Kong (over 10TB) 2,260 GB $180.80 - ├─ IPSec traffic to China excluding Hong Kong (first 1TB) 1,024 GB $235.52 - ├─ IPSec traffic to China excluding Hong Kong (next 9TB) 7,476 GB $1,644.72 - └─ IPSec traffic to Australia (first 1TB) 250 GB $47.50 - + Name Monthly Qty Unit Monthly Cost + + google_compute_external_vpn_gateway.my_compute_external_vpn_gateway + └─ Network egress + ├─ IPSec traffic to worldwide excluding China, Australia but including Hong Kong (first 1TB) 1,024 GB $122.88 * + ├─ IPSec traffic to worldwide excluding China, Australia but including Hong Kong (next 9TB) 9,216 GB $1,013.76 * + ├─ IPSec traffic to worldwide excluding China, Australia but including Hong Kong (over 10TB) 2,260 GB $180.80 * + ├─ IPSec traffic to China excluding Hong Kong (first 1TB) 1,024 GB $235.52 * + ├─ IPSec traffic to China excluding Hong Kong (next 9TB) 7,476 GB $1,644.72 * + └─ IPSec traffic to Australia (first 1TB) 250 GB $47.50 * + OVERALL TOTAL $3,245.18 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeExternalVPNGateway ┃ $3,245 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeExternalVPNGateway ┃ $0.00 ┃ $3,245 ┃ $3,245 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden index e69939a09c3..789860354b8 100644 --- a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden +++ b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden @@ -1,25 +1,28 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_forwarding_rule.default - ├─ Forwarding rules 730 hours $7.30 - └─ Ingress data 100 GB $0.80 - - google_compute_global_forwarding_rule.default - ├─ Forwarding rules 730 hours $7.30 - └─ Ingress data 100 GB $0.80 - - google_compute_forwarding_rule.withoutUsage - ├─ Forwarding rules 730 hours $7.30 - └─ Ingress data Monthly cost depends on usage: $0.008 per GB - + Name Monthly Qty Unit Monthly Cost + + google_compute_forwarding_rule.default + ├─ Forwarding rules 730 hours $7.30 + └─ Ingress data 100 GB $0.80 * + + google_compute_global_forwarding_rule.default + ├─ Forwarding rules 730 hours $7.30 + └─ Ingress data 100 GB $0.80 * + + google_compute_forwarding_rule.withoutUsage + ├─ Forwarding rules 730 hours $7.30 + └─ Ingress data Monthly cost depends on usage: $0.008 per GB + OVERALL TOTAL $23.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeForwardingRule ┃ $24 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeForwardingRule ┃ $22 ┃ $2 ┃ $24 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden index 0125545d970..00de0aa184a 100644 --- a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden @@ -1,24 +1,27 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_ha_vpn_gateway.my_compute_ha_vpn_gateway - └─ Network egress - ├─ IPSec traffic within the same region 250 GB $5.00 - ├─ IPSec traffic within the US or Canada 100 GB $2.00 - ├─ IPSec traffic within Europe 70 GB $1.40 - ├─ IPSec traffic within Asia 50 GB $4.00 - ├─ IPSec traffic within South America 100 GB $14.00 - ├─ IPSec traffic to/from Indonesia and Oceania 50 GB $5.00 - └─ IPSec traffic between continents (excludes Oceania) 200 GB $16.00 - + Name Monthly Qty Unit Monthly Cost + + google_compute_ha_vpn_gateway.my_compute_ha_vpn_gateway + └─ Network egress + ├─ IPSec traffic within the same region 250 GB $5.00 * + ├─ IPSec traffic within the US or Canada 100 GB $2.00 * + ├─ IPSec traffic within Europe 70 GB $1.40 * + ├─ IPSec traffic within Asia 50 GB $4.00 * + ├─ IPSec traffic within South America 100 GB $14.00 * + ├─ IPSec traffic to/from Indonesia and Oceania 50 GB $5.00 * + └─ IPSec traffic between continents (excludes Oceania) 200 GB $16.00 * + OVERALL TOTAL $47.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 1 was estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeHAVPNGateway ┃ $47 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeHAVPNGateway ┃ $0.00 ┃ $47 ┃ $47 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden index 195faf3f1e3..ad8667bf561 100644 --- a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden @@ -1,40 +1,43 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_image.usage - └─ Storage 1,000 GB $50.00 - - google_compute_image.with_source_disk - └─ Storage 1,000 GB $50.00 - - google_compute_image.with_source_snapshot - └─ Storage 1,000 GB $50.00 - - google_compute_disk.disk - └─ Standard provisioned storage (pd-standard) 1,000 GB $40.00 - - google_compute_snapshot.snapshot - └─ Storage 1,000 GB $26.00 - - google_compute_image.with_disk_size - └─ Storage 500 GB $25.00 - - google_compute_image.image - └─ Storage 100 GB $5.00 - - google_compute_image.with_source_image - └─ Storage 100 GB $5.00 - - google_compute_image.empty - └─ Storage Monthly cost depends on usage: $0.05 per GB - + Name Monthly Qty Unit Monthly Cost + + google_compute_image.usage + └─ Storage 1,000 GB $50.00 * + + google_compute_image.with_source_disk + └─ Storage 1,000 GB $50.00 * + + google_compute_image.with_source_snapshot + └─ Storage 1,000 GB $50.00 * + + google_compute_disk.disk + └─ Standard provisioned storage (pd-standard) 1,000 GB $40.00 + + google_compute_snapshot.snapshot + └─ Storage 1,000 GB $26.00 * + + google_compute_image.with_disk_size + └─ Storage 500 GB $25.00 * + + google_compute_image.image + └─ Storage 100 GB $5.00 * + + google_compute_image.with_source_image + └─ Storage 100 GB $5.00 * + + google_compute_image.empty + └─ Storage Monthly cost depends on usage: $0.05 per GB + OVERALL TOTAL $251.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 9 cloud resources were detected: ∙ 9 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeImageGoldenFile ┃ $251 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeImageGoldenFile ┃ $40 ┃ $211 ┃ $251 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden index 8f5f6ffc23d..86caa9f82f0 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden @@ -1,20 +1,23 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_instance_group_manager.default - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 2,920 hours $15.53 - ├─ SSD provisioned storage (pd-ssd) 1,500 GB $255.00 - ├─ Local SSD provisioned storage 1,500 GB $120.00 - └─ NVIDIA Tesla K80 (on-demand) 5,840 hours $1,839.60 - - OVERALL TOTAL $2,230.13 + Name Monthly Qty Unit Monthly Cost + + google_compute_instance_group_manager.default + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 2,920 hours $15.53 + ├─ SSD provisioned storage (pd-ssd) 1,500 GB $255.00 + ├─ Local SSD provisioned storage 1,500 GB $120.00 + └─ NVIDIA Tesla K80 (on-demand) 5,840 hours $1,839.60 + + OVERALL TOTAL $2,230.13 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 1 was estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeInstanceGroupManagerGoldenFile ┃ $2,230 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeInstanceGroupManagerGoldenFile ┃ $2,230 ┃ $0.00 ┃ $2,230 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden index 4c03710acf1..b4935deee55 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden @@ -1,103 +1,106 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_instance.sud_30_perc_with_hours - ├─ Instance usage (Linux/UNIX, on-demand, m1-ultramem-80) 730 hours $6,431.55 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.gpu - ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 730 hours $388.36 - ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 - └─ NVIDIA Tesla K80 (on-demand) 2,920 hours $919.80 - - google_compute_instance.gpu_l4 - ├─ Instance usage (Linux/UNIX, on-demand, g2-standard-4) 730 hours $515.99 - ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 - └─ NVIDIA L4 (on-demand) 730 hours $286.18 - - google_compute_instance.preemptible_gpu - ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 730 hours $110.92 - ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 - └─ NVIDIA Tesla K80 (preemptible) 2,920 hours $446.76 - - google_compute_instance.sud_20_perc_with_hours - ├─ Instance usage (Linux/UNIX, on-demand, n2-standard-8) 730 hours $226.87 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.gpu_with_hours - ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 100 hours $76.00 - ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 - └─ NVIDIA Tesla K80 (on-demand) 400 hours $126.00 - - google_compute_instance.custom_n2 - ├─ Custom instance CPU (Linux/UNIX, on-demand, N2 6 vCPUs) 730 hours $116.30 - ├─ Custom Instance RAM (Linux/UNIX, on-demand, N2 20 GB) 730 hours $51.96 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.custom - ├─ Custom instance CPU (Linux/UNIX, on-demand, N1 6 vCPUs) 730 hours $101.77 - ├─ Custom Instance RAM (Linux/UNIX, on-demand, N1 20 GB) 730 hours $45.44 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.custom_n1 - ├─ Custom instance CPU (Linux/UNIX, on-demand, N1 6 vCPUs) 730 hours $101.77 - ├─ Custom Instance RAM (Linux/UNIX, on-demand, N1 20 GB) 730 hours $45.44 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.custom_ext - ├─ Custom instance CPU (Linux/UNIX, on-demand, N1 2 vCPUs) 730 hours $33.92 - ├─ Custom Instance RAM (Linux/UNIX, on-demand, N1 13 GB) 730 hours $29.53 - ├─ Custom Instance Extended RAM (Linux/UNIX, on-demand, N1 2 GB) 730 hours $9.76 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.local_ssd - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 - ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 - └─ Local SSD provisioned storage 750 GB $60.00 - - google_compute_instance.custom_preemptible - ├─ Custom instance CPU (Linux/UNIX, preemptible, N1 6 vCPUs) 730 hours $29.04 - ├─ Custom Instance RAM (Linux/UNIX, preemptible, N1 20 GB) 730 hours $13.04 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.preemptible_local_ssd - ├─ Instance usage (Linux/UNIX, preemptible, f1-micro) 730 hours $2.56 - ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 - └─ Local SSD provisioned storage 375 GB $27.34 - - google_compute_instance.custom_n2d - ├─ Custom instance CPU (Linux/UNIX, preemptible, N2D 4 vCPUs) 730 hours $15.27 - ├─ Custom Instance RAM (Linux/UNIX, preemptible, N2D 20 GB) 730 hours $10.21 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.ssd - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 - └─ SSD provisioned storage (pd-ssd) 40 GB $6.80 - - google_compute_instance.standard - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.preemptible - ├─ Instance usage (Linux/UNIX, preemptible, f1-micro) 730 hours $2.56 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_instance.with_hours - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 100 hours $0.76 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - OVERALL TOTAL $10,250.32 + Name Monthly Qty Unit Monthly Cost + + google_compute_instance.sud_30_perc_with_hours + ├─ Instance usage (Linux/UNIX, on-demand, m1-ultramem-80) 730 hours $6,431.55 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.gpu + ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 730 hours $388.36 + ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 + └─ NVIDIA Tesla K80 (on-demand) 2,920 hours $919.80 + + google_compute_instance.gpu_l4 + ├─ Instance usage (Linux/UNIX, on-demand, g2-standard-4) 730 hours $515.99 + ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 + └─ NVIDIA L4 (on-demand) 730 hours $286.18 + + google_compute_instance.preemptible_gpu + ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 730 hours $110.92 + ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 + └─ NVIDIA Tesla K80 (preemptible) 2,920 hours $446.76 + + google_compute_instance.sud_20_perc_with_hours + ├─ Instance usage (Linux/UNIX, on-demand, n2-standard-8) 730 hours $226.87 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.gpu_with_hours + ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 100 hours $76.00 + ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 + └─ NVIDIA Tesla K80 (on-demand) 400 hours $126.00 + + google_compute_instance.custom_n2 + ├─ Custom instance CPU (Linux/UNIX, on-demand, N2 6 vCPUs) 730 hours $116.30 + ├─ Custom Instance RAM (Linux/UNIX, on-demand, N2 20 GB) 730 hours $51.96 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.custom + ├─ Custom instance CPU (Linux/UNIX, on-demand, N1 6 vCPUs) 730 hours $101.77 + ├─ Custom Instance RAM (Linux/UNIX, on-demand, N1 20 GB) 730 hours $45.44 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.custom_n1 + ├─ Custom instance CPU (Linux/UNIX, on-demand, N1 6 vCPUs) 730 hours $101.77 + ├─ Custom Instance RAM (Linux/UNIX, on-demand, N1 20 GB) 730 hours $45.44 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.custom_ext + ├─ Custom instance CPU (Linux/UNIX, on-demand, N1 2 vCPUs) 730 hours $33.92 + ├─ Custom Instance RAM (Linux/UNIX, on-demand, N1 13 GB) 730 hours $29.53 + ├─ Custom Instance Extended RAM (Linux/UNIX, on-demand, N1 2 GB) 730 hours $9.76 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.local_ssd + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 + ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 + └─ Local SSD provisioned storage 750 GB $60.00 + + google_compute_instance.custom_preemptible + ├─ Custom instance CPU (Linux/UNIX, preemptible, N1 6 vCPUs) 730 hours $29.04 + ├─ Custom Instance RAM (Linux/UNIX, preemptible, N1 20 GB) 730 hours $13.04 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.preemptible_local_ssd + ├─ Instance usage (Linux/UNIX, preemptible, f1-micro) 730 hours $2.56 + ├─ Standard provisioned storage (pd-standard) 10 GB $0.40 + └─ Local SSD provisioned storage 375 GB $27.34 + + google_compute_instance.custom_n2d + ├─ Custom instance CPU (Linux/UNIX, preemptible, N2D 4 vCPUs) 730 hours $15.27 + ├─ Custom Instance RAM (Linux/UNIX, preemptible, N2D 20 GB) 730 hours $10.21 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.ssd + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 + └─ SSD provisioned storage (pd-ssd) 40 GB $6.80 + + google_compute_instance.standard + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.preemptible + ├─ Instance usage (Linux/UNIX, preemptible, f1-micro) 730 hours $2.56 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_instance.with_hours + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 100 hours $0.76 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + OVERALL TOTAL $10,250.32 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 19 cloud resources were detected: ∙ 18 were estimated ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x google_compute_instance -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeInstanceGoldenFile ┃ $10,250 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeInstanceGoldenFile ┃ $10,250 ┃ $0.00 ┃ $10,250 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource google_compute_instance.e2_custom. Infracost currently does not support E2 custom instances \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden index cb01fbc08cc..1de50f9da73 100644 --- a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden @@ -1,23 +1,26 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_machine_image.usage - └─ Storage 5,000 GB $250.00 - - google_compute_instance.vm - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 730 hours $24.46 - └─ Standard provisioned storage (pd-standard) 10 GB $0.40 - - google_compute_machine_image.image - └─ Storage Monthly cost depends on usage: $0.05 per GB - + Name Monthly Qty Unit Monthly Cost + + google_compute_machine_image.usage + └─ Storage 5,000 GB $250.00 * + + google_compute_instance.vm + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 730 hours $24.46 + └─ Standard provisioned storage (pd-standard) 10 GB $0.40 + + google_compute_machine_image.image + └─ Storage Monthly cost depends on usage: $0.05 per GB + OVERALL TOTAL $274.86 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeMachineImageGoldenFile ┃ $275 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeMachineImageGoldenFile ┃ $25 ┃ $250 ┃ $275 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden index fece1f3966f..1a9cf9f47f5 100644 --- a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden @@ -1,18 +1,21 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_instance_group_manager.default - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 - └─ SSD provisioned storage (pd-ssd) 375 GB $63.75 - - OVERALL TOTAL $67.63 + Name Monthly Qty Unit Monthly Cost + + google_compute_instance_group_manager.default + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 + └─ SSD provisioned storage (pd-ssd) 375 GB $63.75 + + OVERALL TOTAL $67.63 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 1 was estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputePerInstanceConfig ┃ $68 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputePerInstanceConfig ┃ $68 ┃ $0.00 ┃ $68 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden index 8d7575669ca..df5870e68be 100644 --- a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_region_instance_group_manager.appserver - ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,190 hours $1,165.07 - ├─ Balanced provisioned storage (pd-balanced) 1,200 GB $120.00 - └─ Local SSD provisioned storage 1,125 GB $90.00 - - OVERALL TOTAL $1,375.07 + Name Monthly Qty Unit Monthly Cost + + google_compute_region_instance_group_manager.appserver + ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,190 hours $1,165.07 + ├─ Balanced provisioned storage (pd-balanced) 1,200 GB $120.00 + └─ Local SSD provisioned storage 1,125 GB $90.00 + + OVERALL TOTAL $1,375.07 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 1 was estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeRegionInstanceGroupManagerGoldenFile ┃ $1,375 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeRegionInstanceGroupManagerGoldenFile ┃ $1,375 ┃ $0.00 ┃ $1,375 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden index 1838dcac4c7..2c25cb7904d 100644 --- a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden @@ -1,18 +1,21 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_region_instance_group_manager.appserver - ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 - └─ SSD provisioned storage (pd-ssd) 375 GB $63.75 - - OVERALL TOTAL $67.63 + Name Monthly Qty Unit Monthly Cost + + google_compute_region_instance_group_manager.appserver + ├─ Instance usage (Linux/UNIX, on-demand, f1-micro) 730 hours $3.88 + └─ SSD provisioned storage (pd-ssd) 375 GB $63.75 + + OVERALL TOTAL $67.63 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 1 was estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeRegionPerInstanceConfig ┃ $68 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeRegionPerInstanceConfig ┃ $68 ┃ $0.00 ┃ $68 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden index 5ff8c105ae8..1144ce635e2 100644 --- a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden +++ b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden @@ -1,24 +1,27 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_router_nat.over_32_vms - ├─ Assigned VMs (first 32) 23,360 VM-hours $32.70 - └─ Data processed 1,000 GB $45.00 - - google_compute_router_nat.nat - ├─ Assigned VMs (first 32) 2,920 VM-hours $4.09 - └─ Data processed 1,000 GB $45.00 - - google_compute_router_nat.no_usage - └─ Data processed Monthly cost depends on usage: $0.045 per GB - + Name Monthly Qty Unit Monthly Cost + + google_compute_router_nat.over_32_vms + ├─ Assigned VMs (first 32) 23,360 VM-hours $32.70 * + └─ Data processed 1,000 GB $45.00 * + + google_compute_router_nat.nat + ├─ Assigned VMs (first 32) 2,920 VM-hours $4.09 * + └─ Data processed 1,000 GB $45.00 * + + google_compute_router_nat.no_usage + └─ Data processed Monthly cost depends on usage: $0.045 per GB + OVERALL TOTAL $126.79 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeRouterNAT ┃ $127 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeRouterNAT ┃ $0.00 ┃ $127 ┃ $127 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden index e18e31fbb1d..ac1b010cea0 100644 --- a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden +++ b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden @@ -1,22 +1,25 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_snapshot.usage - └─ Storage 1,000 GB $26.00 - - google_compute_disk.default - └─ Standard provisioned storage (pd-standard) 100 GB $4.00 - - google_compute_snapshot.snapshot - └─ Storage 100 GB $2.60 - + Name Monthly Qty Unit Monthly Cost + + google_compute_snapshot.usage + └─ Storage 1,000 GB $26.00 * + + google_compute_disk.default + └─ Standard provisioned storage (pd-standard) 100 GB $4.00 + + google_compute_snapshot.snapshot + └─ Storage 100 GB $2.60 * + OVERALL TOTAL $32.60 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeSnapshotGoldenFile ┃ $33 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeSnapshotGoldenFile ┃ $4 ┃ $29 ┃ $33 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden index bd5250b18dc..53b21bf7f09 100644 --- a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden +++ b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden @@ -1,45 +1,48 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_region_target_http_proxy.default - ├─ Proxy instance 7,446 hours $186.15 - └─ Data processed 100 GB $0.80 - - google_compute_region_target_https_proxy.default - ├─ Proxy instance 7,446 hours $186.15 - └─ Data processed 100 GB $0.80 - - google_compute_target_grpc_proxy.default - ├─ Proxy instance 7,446 hours $186.15 - └─ Data processed 100 GB $0.80 - - google_compute_target_http_proxy.default - ├─ Proxy instance 7,446 hours $186.15 - └─ Data processed 100 GB $0.80 - - google_compute_target_https_proxy.default - ├─ Proxy instance 7,446 hours $186.15 - └─ Data processed 100 GB $0.80 - - google_compute_target_ssl_proxy.default - ├─ Proxy instance 7,446 hours $186.15 - └─ Data processed 100 GB $0.80 - - google_compute_target_tcp_proxy.default - ├─ Proxy instance 7,446 hours $186.15 - └─ Data processed 100 GB $0.80 - - google_compute_target_grpc_proxy.withoutUsage - ├─ Proxy instance Monthly cost depends on usage: $0.025 per hours - └─ Data processed Monthly cost depends on usage: $0.008 per GB - + Name Monthly Qty Unit Monthly Cost + + google_compute_region_target_http_proxy.default + ├─ Proxy instance 7,446 hours $186.15 * + └─ Data processed 100 GB $0.80 * + + google_compute_region_target_https_proxy.default + ├─ Proxy instance 7,446 hours $186.15 * + └─ Data processed 100 GB $0.80 * + + google_compute_target_grpc_proxy.default + ├─ Proxy instance 7,446 hours $186.15 * + └─ Data processed 100 GB $0.80 * + + google_compute_target_http_proxy.default + ├─ Proxy instance 7,446 hours $186.15 * + └─ Data processed 100 GB $0.80 * + + google_compute_target_https_proxy.default + ├─ Proxy instance 7,446 hours $186.15 * + └─ Data processed 100 GB $0.80 * + + google_compute_target_ssl_proxy.default + ├─ Proxy instance 7,446 hours $186.15 * + └─ Data processed 100 GB $0.80 * + + google_compute_target_tcp_proxy.default + ├─ Proxy instance 7,446 hours $186.15 * + └─ Data processed 100 GB $0.80 * + + google_compute_target_grpc_proxy.withoutUsage + ├─ Proxy instance Monthly cost depends on usage: $0.025 per hours + └─ Data processed Monthly cost depends on usage: $0.008 per GB + OVERALL TOTAL $1,308.65 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestСomputeTargetGrpcProxy ┃ $1,309 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestСomputeTargetGrpcProxy ┃ $0.00 ┃ $1,309 ┃ $1,309 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden index 50a6c9021f1..ea0be888d84 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden @@ -1,24 +1,27 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_vpn_gateway.my_compute_vpn_gateway - └─ Network egress - ├─ IPSec traffic within the same region 250 GB $5.00 - ├─ IPSec traffic within the US or Canada 100 GB $2.00 - ├─ IPSec traffic within Europe 70 GB $1.40 - ├─ IPSec traffic within Asia 50 GB $4.00 - ├─ IPSec traffic within South America 100 GB $14.00 - ├─ IPSec traffic to/from Indonesia and Oceania 50 GB $5.00 - └─ IPSec traffic between continents (excludes Oceania) 200 GB $16.00 - + Name Monthly Qty Unit Monthly Cost + + google_compute_vpn_gateway.my_compute_vpn_gateway + └─ Network egress + ├─ IPSec traffic within the same region 250 GB $5.00 * + ├─ IPSec traffic within the US or Canada 100 GB $2.00 * + ├─ IPSec traffic within Europe 70 GB $1.40 * + ├─ IPSec traffic within Asia 50 GB $4.00 * + ├─ IPSec traffic within South America 100 GB $14.00 * + ├─ IPSec traffic to/from Indonesia and Oceania 50 GB $5.00 * + └─ IPSec traffic between continents (excludes Oceania) 200 GB $16.00 * + OVERALL TOTAL $47.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 1 was estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeVPNGateway ┃ $47 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeVPNGateway ┃ $0.00 ┃ $47 ┃ $47 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden index 95e437a90f2..762b8d2bfd7 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - google_compute_vpn_tunnel.tunnel1 - └─ VPN Tunnel 730 hours $36.50 - - OVERALL TOTAL $36.50 + Name Monthly Qty Unit Monthly Cost + + google_compute_vpn_tunnel.tunnel1 + └─ VPN Tunnel 730 hours $36.50 + + OVERALL TOTAL $36.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestComputeVPNTunnel ┃ $37 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestComputeVPNTunnel ┃ $37 ┃ $0.00 ┃ $37 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden index edd2b6530d2..ad7e29e8ef2 100644 --- a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden +++ b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden @@ -1,153 +1,156 @@ - Name Monthly Qty Unit Monthly Cost - - google_container_cluster.with_node_pools_regional_withUsage - ├─ Cluster management fee 730 hours $73.00 - ├─ default_pool - │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 - │ └─ Standard provisioned storage (pd-standard) 900 GB $36.00 - ├─ node_pool[0] - │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 8,760 hours $4,660.30 - │ └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 - └─ node_pool[1] - ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 8,760 hours $1,330.99 - └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 - - google_container_cluster.with_node_config - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,190 hours $1,165.07 - ├─ SSD provisioned storage (pd-ssd) 360 GB $61.20 - ├─ Local SSD provisioned storage 1,125 GB $90.00 - └─ NVIDIA Tesla K80 (on-demand) 8,760 hours $2,759.40 - - google_container_cluster.with_node_pools_regional - ├─ Cluster management fee 730 hours $73.00 - ├─ default_pool - │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 - │ └─ Standard provisioned storage (pd-standard) 900 GB $36.00 - ├─ node_pool[0] - │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 4,380 hours $2,330.15 - │ └─ Standard provisioned storage (pd-standard) 600 GB $24.00 - └─ node_pool[1] - ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 8,760 hours $1,330.99 - └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 - - google_container_cluster.with_node_pools_node_locations_withUsage - ├─ Cluster management fee 730 hours $73.00 - ├─ default_pool - │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 - │ └─ Standard provisioned storage (pd-standard) 600 GB $24.00 - ├─ node_pool[0] - │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 5,840 hours $3,106.86 - │ └─ Standard provisioned storage (pd-standard) 800 GB $32.00 - └─ node_pool[1] - ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 2,920 hours $443.66 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_cluster.with_node_pools_zonal_withUsage - ├─ Cluster management fee 730 hours $73.00 - ├─ default_pool - │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 - │ └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - ├─ node_pool[0] - │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,920 hours $1,553.43 - │ └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - └─ node_pool[1] - ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 2,920 hours $443.66 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_cluster.with_node_pools_node_locations - ├─ Cluster management fee 730 hours $73.00 - ├─ default_pool - │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 - │ └─ Standard provisioned storage (pd-standard) 600 GB $24.00 - ├─ node_pool[0] - │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,920 hours $1,553.43 - │ └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - └─ node_pool[1] - ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 1,460 hours $221.83 - └─ Standard provisioned storage (pd-standard) 200 GB $8.00 - - google_container_cluster.with_unsupported_node_pool - ├─ Cluster management fee 730 hours $73.00 - ├─ default_pool - │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 - │ └─ Standard provisioned storage (pd-standard) 900 GB $36.00 - └─ node_pool[1] - ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 8,760 hours $1,330.99 - └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 - - google_container_cluster.with_node_pools_zonal - ├─ Cluster management fee 730 hours $73.00 - ├─ default_pool - │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 - │ └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - ├─ node_pool[0] - │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 1,460 hours $776.72 - │ └─ Standard provisioned storage (pd-standard) 200 GB $8.00 - └─ node_pool[1] - ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 2,920 hours $443.66 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_cluster.autopilot_with_usage - ├─ Autopilot 730 hours $73.00 - ├─ Autopilot vCPU 10 vCPU $324.85 - ├─ Autopilot memory 50 GB $179.67 - └─ Autopilot ephemeral storage 100 GB $4.00 - - google_container_cluster.regional_withUsage - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 8,760 hours $293.51 - └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 - - google_container_cluster.regional - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 - └─ Standard provisioned storage (pd-standard) 900 GB $36.00 - - google_container_cluster.node_locations_withUsage - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 5,840 hours $195.67 - └─ Standard provisioned storage (pd-standard) 800 GB $32.00 - - google_container_cluster.node_locations - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 - └─ Standard provisioned storage (pd-standard) 600 GB $24.00 - - google_container_cluster.zonal_withUsage - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_cluster.zonal - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 - └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - - google_container_cluster.autopilot - ├─ Autopilot 730 hours $73.00 - ├─ Autopilot vCPU Monthly cost depends on usage: $32.49 per vCPU - ├─ Autopilot memory Monthly cost depends on usage: $3.59 per GB - └─ Autopilot ephemeral storage Monthly cost depends on usage: $0.040004 per GB - + Name Monthly Qty Unit Monthly Cost + + google_container_cluster.with_node_pools_regional_withUsage + ├─ Cluster management fee 730 hours $73.00 + ├─ default_pool + │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 + │ └─ Standard provisioned storage (pd-standard) 900 GB $36.00 + ├─ node_pool[0] + │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 8,760 hours $4,660.30 + │ └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 + └─ node_pool[1] + ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 8,760 hours $1,330.99 + └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 + + google_container_cluster.with_node_config + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,190 hours $1,165.07 + ├─ SSD provisioned storage (pd-ssd) 360 GB $61.20 + ├─ Local SSD provisioned storage 1,125 GB $90.00 + └─ NVIDIA Tesla K80 (on-demand) 8,760 hours $2,759.40 + + google_container_cluster.with_node_pools_regional + ├─ Cluster management fee 730 hours $73.00 + ├─ default_pool + │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 + │ └─ Standard provisioned storage (pd-standard) 900 GB $36.00 + ├─ node_pool[0] + │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 4,380 hours $2,330.15 + │ └─ Standard provisioned storage (pd-standard) 600 GB $24.00 + └─ node_pool[1] + ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 8,760 hours $1,330.99 + └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 + + google_container_cluster.with_node_pools_node_locations_withUsage + ├─ Cluster management fee 730 hours $73.00 + ├─ default_pool + │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 + │ └─ Standard provisioned storage (pd-standard) 600 GB $24.00 + ├─ node_pool[0] + │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 5,840 hours $3,106.86 + │ └─ Standard provisioned storage (pd-standard) 800 GB $32.00 + └─ node_pool[1] + ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 2,920 hours $443.66 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_cluster.with_node_pools_zonal_withUsage + ├─ Cluster management fee 730 hours $73.00 + ├─ default_pool + │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 + │ └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + ├─ node_pool[0] + │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,920 hours $1,553.43 + │ └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + └─ node_pool[1] + ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 2,920 hours $443.66 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_cluster.with_node_pools_node_locations + ├─ Cluster management fee 730 hours $73.00 + ├─ default_pool + │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 + │ └─ Standard provisioned storage (pd-standard) 600 GB $24.00 + ├─ node_pool[0] + │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,920 hours $1,553.43 + │ └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + └─ node_pool[1] + ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 1,460 hours $221.83 + └─ Standard provisioned storage (pd-standard) 200 GB $8.00 + + google_container_cluster.with_unsupported_node_pool + ├─ Cluster management fee 730 hours $73.00 + ├─ default_pool + │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 + │ └─ Standard provisioned storage (pd-standard) 900 GB $36.00 + └─ node_pool[1] + ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 8,760 hours $1,330.99 + └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 + + google_container_cluster.with_node_pools_zonal + ├─ Cluster management fee 730 hours $73.00 + ├─ default_pool + │ ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 + │ └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + ├─ node_pool[0] + │ ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 1,460 hours $776.72 + │ └─ Standard provisioned storage (pd-standard) 200 GB $8.00 + └─ node_pool[1] + ├─ Instance usage (Linux/UNIX, preemptible, n1-standard-16) 2,920 hours $443.66 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_cluster.autopilot_with_usage + ├─ Autopilot 730 hours $73.00 + ├─ Autopilot vCPU 10 vCPU $324.85 * + ├─ Autopilot memory 50 GB $179.67 * + └─ Autopilot ephemeral storage 100 GB $4.00 * + + google_container_cluster.regional_withUsage + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 8,760 hours $293.51 + └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 + + google_container_cluster.regional + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 + └─ Standard provisioned storage (pd-standard) 900 GB $36.00 + + google_container_cluster.node_locations_withUsage + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 5,840 hours $195.67 + └─ Standard provisioned storage (pd-standard) 800 GB $32.00 + + google_container_cluster.node_locations + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 + └─ Standard provisioned storage (pd-standard) 600 GB $24.00 + + google_container_cluster.zonal_withUsage + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_cluster.zonal + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 + └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + + google_container_cluster.autopilot + ├─ Autopilot 730 hours $73.00 + ├─ Autopilot vCPU Monthly cost depends on usage: $32.49 per vCPU + ├─ Autopilot memory Monthly cost depends on usage: $3.59 per GB + └─ Autopilot ephemeral storage Monthly cost depends on usage: $0.040004 per GB + OVERALL TOTAL $28,098.84 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 16 cloud resources were detected: ∙ 16 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestContainerClusterGoldenFile ┃ $28,099 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestContainerClusterGoldenFile ┃ $27,590 ┃ $509 ┃ $28,099 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN Skipping resource node_pool[0]. Infracost currently does not support E2 custom instances \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden index 711ba9bb6bb..1feeb782399 100644 --- a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden +++ b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden @@ -1,134 +1,137 @@ - Name Monthly Qty Unit Monthly Cost - - google_container_node_pool.with_guest_accelerator_a100 - ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,190 hours $1,165.07 - ├─ SSD provisioned storage (pd-ssd) 360 GB $61.20 - ├─ Local SSD provisioned storage 1,125 GB $90.00 - └─ NVIDIA Tesla A100 (on-demand) 8,760 hours $17,990.72 - - google_container_node_pool.with_node_config_regional - ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,190 hours $1,165.07 - ├─ SSD provisioned storage (pd-ssd) 360 GB $61.20 - ├─ Local SSD provisioned storage 1,125 GB $90.00 - └─ NVIDIA Tesla K80 (on-demand) 8,760 hours $2,759.40 - - google_container_node_pool.with_custom_instance - ├─ Custom instance CPU (Linux/UNIX, on-demand, N1 6 vCPUs) 2,190 hours $305.30 - ├─ Custom Instance RAM (Linux/UNIX, on-demand, N1 20 GB) 2,190 hours $136.31 - └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - - google_container_node_pool.initial_node_count_zonal - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 8,760 hours $293.51 - └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 - - google_container_node_pool.regional_usage - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 8,760 hours $293.51 - └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 - - google_container_cluster.default_zonal - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 - └─ Standard provisioned storage (pd-standard) 900 GB $36.00 - - google_container_cluster.regional_usage - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 - └─ Standard provisioned storage (pd-standard) 900 GB $36.00 - - google_container_node_pool.default_zonal - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 - └─ Standard provisioned storage (pd-standard) 900 GB $36.00 - - google_container_cluster.node_locations_regional - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 - └─ Standard provisioned storage (pd-standard) 600 GB $24.00 - - google_container_cluster.node_locations_usage - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 - └─ Standard provisioned storage (pd-standard) 600 GB $24.00 - - google_container_cluster.node_locations_zonal - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 - └─ Standard provisioned storage (pd-standard) 600 GB $24.00 - - google_container_node_pool.node_locations_usage - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 5,840 hours $195.67 - └─ Standard provisioned storage (pd-standard) 800 GB $32.00 - - google_container_node_pool.autoscaling_zonal - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 - └─ Standard provisioned storage (pd-standard) 600 GB $24.00 - - google_container_cluster.default_regional - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 - └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - - google_container_cluster.zonal_usage - ├─ Cluster management fee 730 hours $73.00 - └─ default_pool - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 - └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - - google_container_node_pool.with_preemptible_instance - ├─ Custom instance CPU (Linux/UNIX, preemptible, N1 6 vCPUs) 2,190 hours $87.12 - ├─ Custom Instance RAM (Linux/UNIX, preemptible, N1 20 GB) 2,190 hours $39.11 - └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - - google_container_node_pool.with_spot_instance - ├─ Custom instance CPU (Linux/UNIX, preemptible, N1 6 vCPUs) 2,190 hours $87.12 - ├─ Custom Instance RAM (Linux/UNIX, preemptible, N1 20 GB) 2,190 hours $39.11 - └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - - google_container_node_pool.cluster_node_locations_regional - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_node_pool.cluster_node_locations_zonal - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_node_pool.initial_node_count_regional - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_node_pool.node_locations_regional - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_node_pool.node_locations_zonal - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_node_pool.zonal_usage - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 - └─ Standard provisioned storage (pd-standard) 400 GB $16.00 - - google_container_node_pool.default_regional - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 - └─ Standard provisioned storage (pd-standard) 300 GB $12.00 - - google_container_node_pool.autoscaling_regional - ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 1,460 hours $48.92 - └─ Standard provisioned storage (pd-standard) 200 GB $8.00 - - OVERALL TOTAL $27,981.93 + Name Monthly Qty Unit Monthly Cost + + google_container_node_pool.with_guest_accelerator_a100 + ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,190 hours $1,165.07 + ├─ SSD provisioned storage (pd-ssd) 360 GB $61.20 + ├─ Local SSD provisioned storage 1,125 GB $90.00 + └─ NVIDIA Tesla A100 (on-demand) 8,760 hours $17,990.72 + + google_container_node_pool.with_node_config_regional + ├─ Instance usage (Linux/UNIX, on-demand, n1-standard-16) 2,190 hours $1,165.07 + ├─ SSD provisioned storage (pd-ssd) 360 GB $61.20 + ├─ Local SSD provisioned storage 1,125 GB $90.00 + └─ NVIDIA Tesla K80 (on-demand) 8,760 hours $2,759.40 + + google_container_node_pool.with_custom_instance + ├─ Custom instance CPU (Linux/UNIX, on-demand, N1 6 vCPUs) 2,190 hours $305.30 + ├─ Custom Instance RAM (Linux/UNIX, on-demand, N1 20 GB) 2,190 hours $136.31 + └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + + google_container_node_pool.initial_node_count_zonal + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 8,760 hours $293.51 + └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 + + google_container_node_pool.regional_usage + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 8,760 hours $293.51 + └─ Standard provisioned storage (pd-standard) 1,200 GB $48.00 + + google_container_cluster.default_zonal + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 + └─ Standard provisioned storage (pd-standard) 900 GB $36.00 + + google_container_cluster.regional_usage + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 + └─ Standard provisioned storage (pd-standard) 900 GB $36.00 + + google_container_node_pool.default_zonal + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 6,570 hours $220.13 + └─ Standard provisioned storage (pd-standard) 900 GB $36.00 + + google_container_cluster.node_locations_regional + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 + └─ Standard provisioned storage (pd-standard) 600 GB $24.00 + + google_container_cluster.node_locations_usage + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 + └─ Standard provisioned storage (pd-standard) 600 GB $24.00 + + google_container_cluster.node_locations_zonal + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 + └─ Standard provisioned storage (pd-standard) 600 GB $24.00 + + google_container_node_pool.node_locations_usage + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 5,840 hours $195.67 + └─ Standard provisioned storage (pd-standard) 800 GB $32.00 + + google_container_node_pool.autoscaling_zonal + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 4,380 hours $146.76 + └─ Standard provisioned storage (pd-standard) 600 GB $24.00 + + google_container_cluster.default_regional + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 + └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + + google_container_cluster.zonal_usage + ├─ Cluster management fee 730 hours $73.00 + └─ default_pool + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 + └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + + google_container_node_pool.with_preemptible_instance + ├─ Custom instance CPU (Linux/UNIX, preemptible, N1 6 vCPUs) 2,190 hours $87.12 + ├─ Custom Instance RAM (Linux/UNIX, preemptible, N1 20 GB) 2,190 hours $39.11 + └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + + google_container_node_pool.with_spot_instance + ├─ Custom instance CPU (Linux/UNIX, preemptible, N1 6 vCPUs) 2,190 hours $87.12 + ├─ Custom Instance RAM (Linux/UNIX, preemptible, N1 20 GB) 2,190 hours $39.11 + └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + + google_container_node_pool.cluster_node_locations_regional + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_node_pool.cluster_node_locations_zonal + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_node_pool.initial_node_count_regional + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_node_pool.node_locations_regional + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_node_pool.node_locations_zonal + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_node_pool.zonal_usage + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,920 hours $97.84 + └─ Standard provisioned storage (pd-standard) 400 GB $16.00 + + google_container_node_pool.default_regional + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 2,190 hours $73.38 + └─ Standard provisioned storage (pd-standard) 300 GB $12.00 + + google_container_node_pool.autoscaling_regional + ├─ Instance usage (Linux/UNIX, on-demand, e2-medium) 1,460 hours $48.92 + └─ Standard provisioned storage (pd-standard) 200 GB $8.00 + + OVERALL TOTAL $27,981.93 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 25 cloud resources were detected: ∙ 25 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestContainerNodePoolGoldenFile ┃ $27,982 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestContainerNodePoolGoldenFile ┃ $27,982 ┃ $0.00 ┃ $27,982 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden index 07baf15aee4..fd02b67e548 100644 --- a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden @@ -1,49 +1,52 @@ - Name Monthly Qty Unit Monthly Cost - - google_container_registry.my_registry_usage - ├─ Storage (standard) 150 GiB $3.90 - ├─ Object adds, bucket/object list (class A) 4 10k operations $0.20 - ├─ Object gets, retrieve bucket/object metadata (class B) 2 10k operations $0.01 - └─ Network egress - ├─ Data transfer in same continent 550 GB $11.00 - ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) 1,024 GB $122.88 - ├─ Data transfer to worldwide excluding Asia, Australia (next 9TB) 9,216 GB $1,013.76 - ├─ Data transfer to worldwide excluding Asia, Australia (over 10TB) 2,260 GB $180.80 - ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) 1,024 GB $122.88 - ├─ Data transfer to Asia excluding China, but including Hong Kong (next 9TB) 476 GB $52.36 - ├─ Data transfer to China excluding Hong Kong (first 1TB) 50 GB $11.50 - └─ Data transfer to Australia (first 1TB) 250 GB $47.50 - - google_container_registry.my_registry - ├─ Storage (standard) Monthly cost depends on usage: $0.026 per GiB - ├─ Object adds, bucket/object list (class A) Monthly cost depends on usage: $0.05 per 10k operations - ├─ Object gets, retrieve bucket/object metadata (class B) Monthly cost depends on usage: $0.004 per 10k operations - └─ Network egress - ├─ Data transfer in same continent Monthly cost depends on usage: $0.02 per GB - ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) Monthly cost depends on usage: $0.12 per GB - ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) Monthly cost depends on usage: $0.12 per GB - ├─ Data transfer to China excluding Hong Kong (first 1TB) Monthly cost depends on usage: $0.23 per GB - └─ Data transfer to Australia (first 1TB) Monthly cost depends on usage: $0.19 per GB - - google_container_registry.my_registry_asia - ├─ Storage (standard) Monthly cost depends on usage: $0.026 per GiB - ├─ Object adds, bucket/object list (class A) Monthly cost depends on usage: $0.05 per 10k operations - ├─ Object gets, retrieve bucket/object metadata (class B) Monthly cost depends on usage: $0.004 per 10k operations - └─ Network egress - ├─ Data transfer in same continent Monthly cost depends on usage: $0.08 per GB - ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) Monthly cost depends on usage: $0.12 per GB - ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) Monthly cost depends on usage: $0.12 per GB - ├─ Data transfer to China excluding Hong Kong (first 1TB) Monthly cost depends on usage: $0.23 per GB - └─ Data transfer to Australia (first 1TB) Monthly cost depends on usage: $0.19 per GB - + Name Monthly Qty Unit Monthly Cost + + google_container_registry.my_registry_usage + ├─ Storage (standard) 150 GiB $3.90 * + ├─ Object adds, bucket/object list (class A) 4 10k operations $0.20 * + ├─ Object gets, retrieve bucket/object metadata (class B) 2 10k operations $0.01 * + └─ Network egress + ├─ Data transfer in same continent 550 GB $11.00 * + ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) 1,024 GB $122.88 * + ├─ Data transfer to worldwide excluding Asia, Australia (next 9TB) 9,216 GB $1,013.76 * + ├─ Data transfer to worldwide excluding Asia, Australia (over 10TB) 2,260 GB $180.80 * + ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) 1,024 GB $122.88 * + ├─ Data transfer to Asia excluding China, but including Hong Kong (next 9TB) 476 GB $52.36 * + ├─ Data transfer to China excluding Hong Kong (first 1TB) 50 GB $11.50 * + └─ Data transfer to Australia (first 1TB) 250 GB $47.50 * + + google_container_registry.my_registry + ├─ Storage (standard) Monthly cost depends on usage: $0.026 per GiB + ├─ Object adds, bucket/object list (class A) Monthly cost depends on usage: $0.05 per 10k operations + ├─ Object gets, retrieve bucket/object metadata (class B) Monthly cost depends on usage: $0.004 per 10k operations + └─ Network egress + ├─ Data transfer in same continent Monthly cost depends on usage: $0.02 per GB + ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) Monthly cost depends on usage: $0.12 per GB + ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) Monthly cost depends on usage: $0.12 per GB + ├─ Data transfer to China excluding Hong Kong (first 1TB) Monthly cost depends on usage: $0.23 per GB + └─ Data transfer to Australia (first 1TB) Monthly cost depends on usage: $0.19 per GB + + google_container_registry.my_registry_asia + ├─ Storage (standard) Monthly cost depends on usage: $0.026 per GiB + ├─ Object adds, bucket/object list (class A) Monthly cost depends on usage: $0.05 per 10k operations + ├─ Object gets, retrieve bucket/object metadata (class B) Monthly cost depends on usage: $0.004 per 10k operations + └─ Network egress + ├─ Data transfer in same continent Monthly cost depends on usage: $0.08 per GB + ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) Monthly cost depends on usage: $0.12 per GB + ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) Monthly cost depends on usage: $0.12 per GB + ├─ Data transfer to China excluding Hong Kong (first 1TB) Monthly cost depends on usage: $0.23 per GB + └─ Data transfer to Australia (first 1TB) Monthly cost depends on usage: $0.19 per GB + OVERALL TOTAL $1,566.79 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestContainerRegistryGoldenFile ┃ $1,567 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestContainerRegistryGoldenFile ┃ $0.00 ┃ $1,567 ┃ $1,567 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden index d6c07998a8a..a7cc2a28f52 100644 --- a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden +++ b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden @@ -1,16 +1,19 @@ - Name Monthly Qty Unit Monthly Cost - - google_dns_managed_zone.zone - └─ Managed zone 1 months $0.20 - - OVERALL TOTAL $0.20 + Name Monthly Qty Unit Monthly Cost + + google_dns_managed_zone.zone + └─ Managed zone 1 months $0.20 + + OVERALL TOTAL $0.20 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDNSManagedZoneGoldenFile ┃ $0.20 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDNSManagedZoneGoldenFile ┃ $0.20 ┃ $0.00 ┃ $0.20 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden index 6c2f730b0f4..2929f4e2cd3 100644 --- a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden +++ b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_dns_record_set.frontend_usage - └─ Queries 0.1 1M queries $0.04 - - google_dns_record_set.frontend - └─ Queries Monthly cost depends on usage: $0.40 per 1M queries - + Name Monthly Qty Unit Monthly Cost + + google_dns_record_set.frontend_usage + └─ Queries 0.1 1M queries $0.04 * + + google_dns_record_set.frontend + └─ Queries Monthly cost depends on usage: $0.40 per 1M queries + OVERALL TOTAL $0.04 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestDNSRecordSetGoldenFile ┃ $0.04 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestDNSRecordSetGoldenFile ┃ $0.00 ┃ $0.04 ┃ $0.04 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden index a990ac6a177..1f64e28de2a 100644 --- a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden +++ b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden @@ -1,26 +1,29 @@ - Name Monthly Qty Unit Monthly Cost - - google_kms_crypto_key.my_keys_withUsage - ├─ Key versions (first 2K) 2,000 months $5,000.00 - ├─ Key versions (over 2K) 3,000 months $3,000.00 - └─ Operations 1 10k operations $0.15 - - google_kms_crypto_key.with_rotate_withUsage - ├─ Key versions 25.92 months $1.56 - └─ Operations 1 10k operations $0.03 - - google_kms_crypto_key.my_keys - ├─ Key versions Monthly cost depends on usage: $0.06 per months - └─ Operations Monthly cost depends on usage: $0.03 per 10k operations - + Name Monthly Qty Unit Monthly Cost + + google_kms_crypto_key.my_keys_withUsage + ├─ Key versions (first 2K) 2,000 months $5,000.00 * + ├─ Key versions (over 2K) 3,000 months $3,000.00 * + └─ Operations 1 10k operations $0.15 * + + google_kms_crypto_key.with_rotate_withUsage + ├─ Key versions 25.92 months $1.56 * + └─ Operations 1 10k operations $0.03 * + + google_kms_crypto_key.my_keys + ├─ Key versions Monthly cost depends on usage: $0.06 per months + └─ Operations Monthly cost depends on usage: $0.03 per 10k operations + OVERALL TOTAL $8,001.74 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestKMSCryptoKeyGoldenFile ┃ $8,002 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKMSCryptoKeyGoldenFile ┃ $0.00 ┃ $8,002 ┃ $8,002 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden index 7713ccf9732..35485a082c1 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_logging_billing_account_bucket_config.basic_withUsage - └─ Logging data 100 GB $50.00 - - google_logging_billing_account_bucket_config.basic - └─ Logging data Monthly cost depends on usage: $0.50 per GB - + Name Monthly Qty Unit Monthly Cost + + google_logging_billing_account_bucket_config.basic_withUsage + └─ Logging data 100 GB $50.00 * + + google_logging_billing_account_bucket_config.basic + └─ Logging data Monthly cost depends on usage: $0.50 per GB + OVERALL TOTAL $50.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLoggingBillingAccountBucketConfigGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLoggingBillingAccountBucketConfigGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden index 04c527a6cd2..2372c191af8 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_logging_billing_account_sink.my-sink_withUsage - └─ Logging data 100 GB $50.00 - - google_logging_billing_account_sink.basic - └─ Logging data Monthly cost depends on usage: $0.50 per GB - + Name Monthly Qty Unit Monthly Cost + + google_logging_billing_account_sink.my-sink_withUsage + └─ Logging data 100 GB $50.00 * + + google_logging_billing_account_sink.basic + └─ Logging data Monthly cost depends on usage: $0.50 per GB + OVERALL TOTAL $50.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLoggingBillingAccountSinkGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLoggingBillingAccountSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden index 9d1d269302d..ddf3030b6d2 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_logging_folder_bucket_config.basic_withUsage - └─ Logging data 100 GB $50.00 - - google_logging_folder_bucket_config.basic - └─ Logging data Monthly cost depends on usage: $0.50 per GB - + Name Monthly Qty Unit Monthly Cost + + google_logging_folder_bucket_config.basic_withUsage + └─ Logging data 100 GB $50.00 * + + google_logging_folder_bucket_config.basic + └─ Logging data Monthly cost depends on usage: $0.50 per GB + OVERALL TOTAL $50.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLoggingFolderBucketGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLoggingFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden index a64d7b555df..ecf45297a78 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_logging_folder_sink.basic_withUsage - └─ Logging data 100 GB $50.00 - - google_logging_folder_sink.basic - └─ Logging data Monthly cost depends on usage: $0.50 per GB - + Name Monthly Qty Unit Monthly Cost + + google_logging_folder_sink.basic_withUsage + └─ Logging data 100 GB $50.00 * + + google_logging_folder_sink.basic + └─ Logging data Monthly cost depends on usage: $0.50 per GB + OVERALL TOTAL $50.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLoggingFolderSinkGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLoggingFolderSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden index 81c676b8f77..05d5a0aaf4d 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_logging_organization_bucket_config.basic_withUsage - └─ Logging data 100 GB $50.00 - - google_logging_organization_bucket_config.basic - └─ Logging data Monthly cost depends on usage: $0.50 per GB - + Name Monthly Qty Unit Monthly Cost + + google_logging_organization_bucket_config.basic_withUsage + └─ Logging data 100 GB $50.00 * + + google_logging_organization_bucket_config.basic + └─ Logging data Monthly cost depends on usage: $0.50 per GB + OVERALL TOTAL $50.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLoggingOrgFolderBucketGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLoggingOrgFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden index b9cef22804d..241f8857553 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_logging_organization_sink.basic_withUsage - └─ Logging data 100 GB $50.00 - - google_logging_organization_sink.basic - └─ Logging data Monthly cost depends on usage: $0.50 per GB - + Name Monthly Qty Unit Monthly Cost + + google_logging_organization_sink.basic_withUsage + └─ Logging data 100 GB $50.00 * + + google_logging_organization_sink.basic + └─ Logging data Monthly cost depends on usage: $0.50 per GB + OVERALL TOTAL $50.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLoggingOrgSinkGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLoggingOrgSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden index 68bb95ed31a..cc4d88ebbf3 100644 --- a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_logging_project_bucket_config.basic_withUsage - └─ Logging data 100 GB $50.00 - - google_logging_project_bucket_config.basic - └─ Logging data Monthly cost depends on usage: $0.50 per GB - + Name Monthly Qty Unit Monthly Cost + + google_logging_project_bucket_config.basic_withUsage + └─ Logging data 100 GB $50.00 * + + google_logging_project_bucket_config.basic + └─ Logging data Monthly cost depends on usage: $0.50 per GB + OVERALL TOTAL $50.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLoggingProjectFolderBucketGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLoggingProjectFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden index 379d509ebfa..8c02d8b3088 100644 --- a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_logging_project_sink.basic_withUsage - └─ Logging data 100 GB $50.00 - - google_logging_project_sink.basic - └─ Logging data Monthly cost depends on usage: $0.50 per GB - + Name Monthly Qty Unit Monthly Cost + + google_logging_project_sink.basic_withUsage + └─ Logging data 100 GB $50.00 * + + google_logging_project_sink.basic + └─ Logging data Monthly cost depends on usage: $0.50 per GB + OVERALL TOTAL $50.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestLoggingProjectSinkGoldenFile ┃ $50 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestLoggingProjectSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden index e91867ceb8e..f2f739072d9 100644 --- a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden +++ b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden @@ -1,23 +1,26 @@ - Name Monthly Qty Unit Monthly Cost - - google_monitoring_metric_descriptor.usage - ├─ Monitoring data (first 100K) 100,000 MB $25,800.00 - ├─ Monitoring data (next 150K) 150,000 MB $22,650.00 - ├─ Monitoring data (over 250K) 250,000 MB $15,250.00 - └─ API calls 1,000 1k calls $10.00 - - google_monitoring_metric_descriptor.non_usage - ├─ Monitoring data (first 100K) Monthly cost depends on usage: $0.26 per MB - └─ API calls Monthly cost depends on usage: $0.01 per 1k calls - + Name Monthly Qty Unit Monthly Cost + + google_monitoring_metric_descriptor.usage + ├─ Monitoring data (first 100K) 100,000 MB $25,800.00 * + ├─ Monitoring data (next 150K) 150,000 MB $22,650.00 * + ├─ Monitoring data (over 250K) 250,000 MB $15,250.00 * + └─ API calls 1,000 1k calls $10.00 * + + google_monitoring_metric_descriptor.non_usage + ├─ Monitoring data (first 100K) Monthly cost depends on usage: $0.26 per MB + └─ API calls Monthly cost depends on usage: $0.01 per 1k calls + OVERALL TOTAL $63,710.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestMonitoring ┃ $63,710 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestMonitoring ┃ $0.00 ┃ $63,710 ┃ $63,710 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden index 0972e11a7d6..3bcec140241 100644 --- a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden @@ -1,23 +1,26 @@ - Name Monthly Qty Unit Monthly Cost - - google_pubsub_subscription.usage - ├─ Message delivery data 10 TiB $400.00 - ├─ Retained acknowledged message storage 20 GiB $5.40 - └─ Snapshot message backlog storage 30 GiB $8.10 - - google_pubsub_subscription.non_usage - ├─ Message delivery data Monthly cost depends on usage: $40.00 per TiB - ├─ Retained acknowledged message storage Monthly cost depends on usage: $0.27 per GiB - └─ Snapshot message backlog storage Monthly cost depends on usage: $0.27 per GiB - + Name Monthly Qty Unit Monthly Cost + + google_pubsub_subscription.usage + ├─ Message delivery data 10 TiB $400.00 * + ├─ Retained acknowledged message storage 20 GiB $5.40 * + └─ Snapshot message backlog storage 30 GiB $8.10 * + + google_pubsub_subscription.non_usage + ├─ Message delivery data Monthly cost depends on usage: $40.00 per TiB + ├─ Retained acknowledged message storage Monthly cost depends on usage: $0.27 per GiB + └─ Snapshot message backlog storage Monthly cost depends on usage: $0.27 per GiB + OVERALL TOTAL $413.50 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPubSubSubscription ┃ $414 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPubSubSubscription ┃ $0.00 ┃ $414 ┃ $414 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden index 978e5196b3c..e8fc94b1381 100644 --- a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden @@ -1,19 +1,22 @@ - Name Monthly Qty Unit Monthly Cost - - google_pubsub_topic.usage - └─ Message ingestion data 10 TiB $400.00 - - google_pubsub_topic.non_usage - └─ Message ingestion data Monthly cost depends on usage: $40.00 per TiB - + Name Monthly Qty Unit Monthly Cost + + google_pubsub_topic.usage + └─ Message ingestion data 10 TiB $400.00 * + + google_pubsub_topic.non_usage + └─ Message ingestion data Monthly cost depends on usage: $40.00 per TiB + OVERALL TOTAL $400.00 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestPubSubTopic ┃ $400 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestPubSubTopic ┃ $0.00 ┃ $400 ┃ $400 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden index db365307c01..f0753cf8de7 100644 --- a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden +++ b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden @@ -1,43 +1,46 @@ - Name Monthly Qty Unit Monthly Cost - - google_redis_instance.standard_m5 - └─ Redis instance (standard, M5) 105 GB $2,299.50 - - google_redis_instance.basic_m5 - └─ Redis instance (basic, M5) 105 GB $1,226.40 - - google_redis_instance.standard_m4 - └─ Redis instance (standard, M4) 45 GB $1,149.75 - - google_redis_instance.standard_m3 - └─ Redis instance (standard, M3) 25 GB $839.50 - - google_redis_instance.basic_m4 - └─ Redis instance (basic, M4) 45 GB $624.15 - - google_redis_instance.basic_m3 - └─ Redis instance (basic, M3) 25 GB $419.75 - - google_redis_instance.standard_m2 - └─ Redis instance (standard, M2) 5 GB $197.10 - - google_redis_instance.basic_m2 - └─ Redis instance (basic, M2) 5 GB $98.55 - - google_redis_instance.standard_m1 - └─ Redis instance (standard, M1) 1 GB $46.72 - - google_redis_instance.basic_m1 - └─ Redis instance (basic, M1) 1 GB $35.77 - - OVERALL TOTAL $6,937.19 + Name Monthly Qty Unit Monthly Cost + + google_redis_instance.standard_m5 + └─ Redis instance (standard, M5) 105 GB $2,299.50 + + google_redis_instance.basic_m5 + └─ Redis instance (basic, M5) 105 GB $1,226.40 + + google_redis_instance.standard_m4 + └─ Redis instance (standard, M4) 45 GB $1,149.75 + + google_redis_instance.standard_m3 + └─ Redis instance (standard, M3) 25 GB $839.50 + + google_redis_instance.basic_m4 + └─ Redis instance (basic, M4) 45 GB $624.15 + + google_redis_instance.basic_m3 + └─ Redis instance (basic, M3) 25 GB $419.75 + + google_redis_instance.standard_m2 + └─ Redis instance (standard, M2) 5 GB $197.10 + + google_redis_instance.basic_m2 + └─ Redis instance (basic, M2) 5 GB $98.55 + + google_redis_instance.standard_m1 + └─ Redis instance (standard, M1) 1 GB $46.72 + + google_redis_instance.basic_m1 + └─ Redis instance (basic, M1) 1 GB $35.77 + + OVERALL TOTAL $6,937.19 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 10 cloud resources were detected: ∙ 10 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestRedisInstance ┃ $6,937 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestRedisInstance ┃ $6,937 ┃ $0.00 ┃ $6,937 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden index a9964e48764..53683046a76 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden @@ -1,28 +1,31 @@ - Name Monthly Qty Unit Monthly Cost - - google_secret_manager_secret.secret_with_usage - ├─ Active secret versions 10,000 versions $600.00 - ├─ Access operations 2 10K requests $0.06 - └─ Rotation notifications 100 rotations $5.00 - - google_secret_manager_secret.secret_replicas_with_usage - ├─ Active secret versions 3,000 versions $180.00 - ├─ Access operations 0.2 10K requests $0.01 - └─ Rotation notifications 10 rotations $0.50 - - google_secret_manager_secret.secret_example - ├─ Active secret versions Monthly cost depends on usage: $0.06 per versions - ├─ Access operations Monthly cost depends on usage: $0.03 per 10K requests - └─ Rotation notifications Monthly cost depends on usage: $0.05 per rotations - + Name Monthly Qty Unit Monthly Cost + + google_secret_manager_secret.secret_with_usage + ├─ Active secret versions 10,000 versions $600.00 * + ├─ Access operations 2 10K requests $0.06 * + └─ Rotation notifications 100 rotations $5.00 * + + google_secret_manager_secret.secret_replicas_with_usage + ├─ Active secret versions 3,000 versions $180.00 * + ├─ Access operations 0.2 10K requests $0.01 * + └─ Rotation notifications 10 rotations $0.50 * + + google_secret_manager_secret.secret_example + ├─ Active secret versions Monthly cost depends on usage: $0.06 per versions + ├─ Access operations Monthly cost depends on usage: $0.03 per 10K requests + └─ Rotation notifications Monthly cost depends on usage: $0.05 per rotations + OVERALL TOTAL $785.57 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSecretManagerSecretGoldenFile ┃ $786 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSecretManagerSecretGoldenFile ┃ $0.00 ┃ $786 ┃ $786 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden index 4a728f40056..76fefa0db55 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden @@ -1,35 +1,38 @@ - Name Monthly Qty Unit Monthly Cost - - google_secret_manager_secret_version.secret_version_with_usage - ├─ Active secret versions 1 versions $0.06 - └─ Access operations 2.5 10K requests $0.08 - - google_secret_manager_secret_version.secret_version_replicas_with_usage - ├─ Active secret versions 2 versions $0.12 - └─ Access operations 0.2 10K requests $0.01 - - google_secret_manager_secret_version.secret_version - ├─ Active secret versions 2 versions $0.12 - └─ Access operations Monthly cost depends on usage: $0.03 per 10K requests - - google_secret_manager_secret.secret_automatic - ├─ Active secret versions Monthly cost depends on usage: $0.06 per versions - ├─ Access operations Monthly cost depends on usage: $0.03 per 10K requests - └─ Rotation notifications Monthly cost depends on usage: $0.05 per rotations - - google_secret_manager_secret.secret_example - ├─ Active secret versions Monthly cost depends on usage: $0.06 per versions - ├─ Access operations Monthly cost depends on usage: $0.03 per 10K requests - └─ Rotation notifications Monthly cost depends on usage: $0.05 per rotations - + Name Monthly Qty Unit Monthly Cost + + google_secret_manager_secret_version.secret_version_with_usage + ├─ Active secret versions 1 versions $0.06 + └─ Access operations 2.5 10K requests $0.08 * + + google_secret_manager_secret_version.secret_version_replicas_with_usage + ├─ Active secret versions 2 versions $0.12 + └─ Access operations 0.2 10K requests $0.01 * + + google_secret_manager_secret_version.secret_version + ├─ Active secret versions 2 versions $0.12 + └─ Access operations Monthly cost depends on usage: $0.03 per 10K requests + + google_secret_manager_secret.secret_automatic + ├─ Active secret versions Monthly cost depends on usage: $0.06 per versions + ├─ Access operations Monthly cost depends on usage: $0.03 per 10K requests + └─ Rotation notifications Monthly cost depends on usage: $0.05 per rotations + + google_secret_manager_secret.secret_example + ├─ Active secret versions Monthly cost depends on usage: $0.06 per versions + ├─ Access operations Monthly cost depends on usage: $0.03 per 10K requests + └─ Rotation notifications Monthly cost depends on usage: $0.05 per rotations + OVERALL TOTAL $0.38 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestSecretManagerSecretVersionGoldenFile ┃ $0.38 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSecretManagerSecretVersionGoldenFile ┃ $0.30 ┃ $0.08 ┃ $0.38 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden index 1d2013afcd3..c77a915d35a 100644 --- a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden +++ b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden @@ -1,34 +1,37 @@ - Name Monthly Qty Unit Monthly Cost - - google_service_networking_connection.my_usage_connection - └─ Network egress - ├─ Traffic within the same region 250 GB $5.00 - ├─ Traffic within the US or Canada 100 GB $2.00 - ├─ Traffic within Europe 70 GB $1.40 - ├─ Traffic within Asia 50 GB $4.00 - ├─ Traffic within South America 100 GB $14.00 - ├─ Traffic to/from Indonesia and Oceania 50 GB $5.00 - └─ Traffic between continents (excludes Oceania) 200 GB $16.00 - - google_service_networking_connection.my_connection - └─ Network egress - ├─ Traffic within the same region Monthly cost depends on usage: $0.02 per GB - ├─ Traffic within the US or Canada Monthly cost depends on usage: $0.02 per GB - ├─ Traffic within Europe Monthly cost depends on usage: $0.02 per GB - ├─ Traffic within Asia Monthly cost depends on usage: $0.08 per GB - ├─ Traffic within South America Monthly cost depends on usage: $0.14 per GB - ├─ Traffic to/from Indonesia and Oceania Monthly cost depends on usage: $0.10 per GB - └─ Traffic between continents (excludes Oceania) Monthly cost depends on usage: $0.08 per GB - - OVERALL TOTAL $47.40 + Name Monthly Qty Unit Monthly Cost + + google_service_networking_connection.my_usage_connection + └─ Network egress + ├─ Traffic within the same region 250 GB $5.00 + ├─ Traffic within the US or Canada 100 GB $2.00 + ├─ Traffic within Europe 70 GB $1.40 + ├─ Traffic within Asia 50 GB $4.00 + ├─ Traffic within South America 100 GB $14.00 + ├─ Traffic to/from Indonesia and Oceania 50 GB $5.00 + └─ Traffic between continents (excludes Oceania) 200 GB $16.00 + + google_service_networking_connection.my_connection + └─ Network egress + ├─ Traffic within the same region Monthly cost depends on usage: $0.02 per GB + ├─ Traffic within the US or Canada Monthly cost depends on usage: $0.02 per GB + ├─ Traffic within Europe Monthly cost depends on usage: $0.02 per GB + ├─ Traffic within Asia Monthly cost depends on usage: $0.08 per GB + ├─ Traffic within South America Monthly cost depends on usage: $0.14 per GB + ├─ Traffic to/from Indonesia and Oceania Monthly cost depends on usage: $0.10 per GB + └─ Traffic between continents (excludes Oceania) Monthly cost depends on usage: $0.08 per GB + + OVERALL TOTAL $47.40 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 4 cloud resources were detected: ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestServiceNetworkingConnectionGoldenFile ┃ $47 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestServiceNetworkingConnectionGoldenFile ┃ $47 ┃ $0.00 ┃ $47 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden index 606977ed267..12d6760b9c4 100644 --- a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden +++ b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden @@ -1,1123 +1,1126 @@ - Name Monthly Qty Unit Monthly Cost - - google_sql_database_instance.db_instance["db-n1-standard-96.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-n1-standard-96, regional) 730 hours $9,469.34 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-96-368640.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (96, regional) 70,080 hours $5,788.61 - ├─ Memory (360 GB, regional) 360 GB $3,679.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-96-368640.POSTGRES_15.REGIONAL"] - ├─ vCPUs (96, regional) 70,080 hours $5,788.61 - ├─ Memory (360 GB, regional) 360 GB $3,679.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-96-368640.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (96, regional) 70,080 hours $5,788.61 - ├─ Memory (360 GB, regional) 360 GB $3,679.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-96.POSTGRES_15.REGIONAL"] - ├─ vCPUs (96, regional) 70,080 hours $5,788.61 - ├─ Memory (360 GB, regional) 360 GB $3,679.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-96.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (96, regional) 70,080 hours $5,788.61 - ├─ Memory (360 GB, regional) 360 GB $3,679.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-64.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-n1-standard-64, regional) 730 hours $6,312.89 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-64-245760.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (64, regional) 46,720 hours $3,859.07 - ├─ Memory (240 GB, regional) 240 GB $2,452.80 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-64-245760.POSTGRES_15.REGIONAL"] - ├─ vCPUs (64, regional) 46,720 hours $3,859.07 - ├─ Memory (240 GB, regional) 240 GB $2,452.80 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-64-245760.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (64, regional) 46,720 hours $3,859.07 - ├─ Memory (240 GB, regional) 240 GB $2,452.80 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-64.POSTGRES_15.REGIONAL"] - ├─ vCPUs (64, regional) 46,720 hours $3,859.07 - ├─ Memory (240 GB, regional) 240 GB $2,452.80 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-64.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (64, regional) 46,720 hours $3,859.07 - ├─ Memory (240 GB, regional) 240 GB $2,452.80 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-96.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-n1-standard-96, zonal) 730 hours $4,734.71 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-96-368640.MYSQL_8_0.ZONAL"] - ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 - ├─ Memory (360 GB, zonal) 360 GB $1,839.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-96-368640.POSTGRES_15.ZONAL"] - ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 - ├─ Memory (360 GB, zonal) 360 GB $1,839.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-96-368640.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 - ├─ Memory (360 GB, zonal) 360 GB $1,839.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-96.POSTGRES_15.ZONAL"] - ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 - ├─ Memory (360 GB, zonal) 360 GB $1,839.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-96.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 - ├─ Memory (360 GB, zonal) 360 GB $1,839.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-32.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-n1-standard-32, regional) 730 hours $3,156.45 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-32-122880.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (32, regional) 23,360 hours $1,929.54 - ├─ Memory (120 GB, regional) 120 GB $1,226.40 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-32-122880.POSTGRES_15.REGIONAL"] - ├─ vCPUs (32, regional) 23,360 hours $1,929.54 - ├─ Memory (120 GB, regional) 120 GB $1,226.40 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-32-122880.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (32, regional) 23,360 hours $1,929.54 - ├─ Memory (120 GB, regional) 120 GB $1,226.40 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-32.POSTGRES_15.REGIONAL"] - ├─ vCPUs (32, regional) 23,360 hours $1,929.54 - ├─ Memory (120 GB, regional) 120 GB $1,226.40 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-32.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (32, regional) 23,360 hours $1,929.54 - ├─ Memory (120 GB, regional) 120 GB $1,226.40 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-64.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-n1-standard-64, zonal) 730 hours $3,156.45 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-64-245760.MYSQL_8_0.ZONAL"] - ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 - ├─ Memory (240 GB, zonal) 240 GB $1,226.40 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-64-245760.POSTGRES_15.ZONAL"] - ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 - ├─ Memory (240 GB, zonal) 240 GB $1,226.40 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-64-245760.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 - ├─ Memory (240 GB, zonal) 240 GB $1,226.40 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-64.POSTGRES_15.ZONAL"] - ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 - ├─ Memory (240 GB, zonal) 240 GB $1,226.40 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-64.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 - ├─ Memory (240 GB, zonal) 240 GB $1,226.40 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-16.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (16, regional) 11,680 hours $964.77 - ├─ Memory (104 GB, regional) 104 GB $1,062.88 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-16.POSTGRES_15.REGIONAL"] - ├─ vCPUs (16, regional) 11,680 hours $964.77 - ├─ Memory (104 GB, regional) 104 GB $1,062.88 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-16.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (16, regional) 11,680 hours $964.77 - ├─ Memory (104 GB, regional) 104 GB $1,062.88 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-16.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-n1-standard-16, regional) 730 hours $1,578.48 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-16-61440.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (16, regional) 11,680 hours $964.77 - ├─ Memory (60 GB, regional) 60 GB $613.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-16-61440.POSTGRES_15.REGIONAL"] - ├─ vCPUs (16, regional) 11,680 hours $964.77 - ├─ Memory (60 GB, regional) 60 GB $613.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-16-61440.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (16, regional) 11,680 hours $964.77 - ├─ Memory (60 GB, regional) 60 GB $613.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-16.POSTGRES_15.REGIONAL"] - ├─ vCPUs (16, regional) 11,680 hours $964.77 - ├─ Memory (60 GB, regional) 60 GB $613.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-16.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (16, regional) 11,680 hours $964.77 - ├─ Memory (60 GB, regional) 60 GB $613.20 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-32.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-n1-standard-32, zonal) 730 hours $1,578.26 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-32-122880.MYSQL_8_0.ZONAL"] - ├─ vCPUs (32, zonal) 23,360 hours $964.77 - ├─ Memory (120 GB, zonal) 120 GB $613.20 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-32-122880.POSTGRES_15.ZONAL"] - ├─ vCPUs (32, zonal) 23,360 hours $964.77 - ├─ Memory (120 GB, zonal) 120 GB $613.20 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-32-122880.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (32, zonal) 23,360 hours $964.77 - ├─ Memory (120 GB, zonal) 120 GB $613.20 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-32.POSTGRES_15.ZONAL"] - ├─ vCPUs (32, zonal) 23,360 hours $964.77 - ├─ Memory (120 GB, zonal) 120 GB $613.20 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-32.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (32, zonal) 23,360 hours $964.77 - ├─ Memory (120 GB, zonal) 120 GB $613.20 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-8.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (8, regional) 5,840 hours $482.38 - ├─ Memory (52 GB, regional) 52 GB $531.44 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-8.POSTGRES_15.REGIONAL"] - ├─ vCPUs (8, regional) 5,840 hours $482.38 - ├─ Memory (52 GB, regional) 52 GB $531.44 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-8.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (8, regional) 5,840 hours $482.38 - ├─ Memory (52 GB, regional) 52 GB $531.44 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-16.MYSQL_8_0.ZONAL"] - ├─ vCPUs (16, zonal) 11,680 hours $482.38 - ├─ Memory (104 GB, zonal) 104 GB $531.44 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-16.POSTGRES_15.ZONAL"] - ├─ vCPUs (16, zonal) 11,680 hours $482.38 - ├─ Memory (104 GB, zonal) 104 GB $531.44 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-16.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (16, zonal) 11,680 hours $482.38 - ├─ Memory (104 GB, zonal) 104 GB $531.44 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-8-30720.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (8, regional) 5,840 hours $482.38 - ├─ Memory (30 GB, regional) 30 GB $306.60 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-8-30720.POSTGRES_15.REGIONAL"] - ├─ vCPUs (8, regional) 5,840 hours $482.38 - ├─ Memory (30 GB, regional) 30 GB $306.60 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-8-30720.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (8, regional) 5,840 hours $482.38 - ├─ Memory (30 GB, regional) 30 GB $306.60 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-8.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-n1-standard-8, regional) 730 hours $788.98 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-8.POSTGRES_15.REGIONAL"] - ├─ vCPUs (8, regional) 5,840 hours $482.38 - ├─ Memory (30 GB, regional) 30 GB $306.60 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-8.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (8, regional) 5,840 hours $482.38 - ├─ Memory (30 GB, regional) 30 GB $306.60 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-16.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-n1-standard-16, zonal) 730 hours $789.28 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-16-61440.MYSQL_8_0.ZONAL"] - ├─ vCPUs (16, zonal) 11,680 hours $482.38 - ├─ Memory (60 GB, zonal) 60 GB $306.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-16-61440.POSTGRES_15.ZONAL"] - ├─ vCPUs (16, zonal) 11,680 hours $482.38 - ├─ Memory (60 GB, zonal) 60 GB $306.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-16-61440.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (16, zonal) 11,680 hours $482.38 - ├─ Memory (60 GB, zonal) 60 GB $306.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-16.POSTGRES_15.ZONAL"] - ├─ vCPUs (16, zonal) 11,680 hours $482.38 - ├─ Memory (60 GB, zonal) 60 GB $306.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-16.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (16, zonal) 11,680 hours $482.38 - ├─ Memory (60 GB, zonal) 60 GB $306.60 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-4.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (26 GB, regional) 26 GB $265.72 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-4.POSTGRES_15.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (26 GB, regional) 26 GB $265.72 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-4.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (26 GB, regional) 26 GB $265.72 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-8.MYSQL_8_0.ZONAL"] - ├─ vCPUs (8, zonal) 5,840 hours $241.19 - ├─ Memory (52 GB, zonal) 52 GB $265.72 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-8.POSTGRES_15.ZONAL"] - ├─ vCPUs (8, zonal) 5,840 hours $241.19 - ├─ Memory (52 GB, zonal) 52 GB $265.72 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-8.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (8, zonal) 5,840 hours $241.19 - ├─ Memory (52 GB, zonal) 52 GB $265.72 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.with_replica - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 500 GB $170.00 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - ├─ IP address (if unused) 730 hours $7.30 - └─ Replica - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - └─ Storage (SSD, zonal) 500 GB $85.00 - - google_sql_database_instance.db_instance["db-custom-4-15360.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (15 GB, regional) 15 GB $153.30 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-4-15360.POSTGRES_15.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (15 GB, regional) 15 GB $153.30 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-4-15360.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (15 GB, regional) 15 GB $153.30 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-4.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-n1-standard-4, regional) 730 hours $394.49 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-4.POSTGRES_15.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (15 GB, regional) 15 GB $153.30 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-4.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (15 GB, regional) 15 GB $153.30 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-4.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (15 GB, regional) 15 GB $153.30 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-4.POSTGRES_15.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (15 GB, regional) 15 GB $153.30 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-4.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (15 GB, regional) 15 GB $153.30 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-8-30720.MYSQL_8_0.ZONAL"] - ├─ vCPUs (8, zonal) 5,840 hours $241.19 - ├─ Memory (30 GB, zonal) 30 GB $153.30 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-8-30720.POSTGRES_15.ZONAL"] - ├─ vCPUs (8, zonal) 5,840 hours $241.19 - ├─ Memory (30 GB, zonal) 30 GB $153.30 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-8-30720.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (8, zonal) 5,840 hours $241.19 - ├─ Memory (30 GB, zonal) 30 GB $153.30 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-8.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-n1-standard-8, zonal) 730 hours $394.49 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-8.POSTGRES_15.ZONAL"] - ├─ vCPUs (8, zonal) 5,840 hours $241.19 - ├─ Memory (30 GB, zonal) 30 GB $153.30 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-8.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (8, zonal) 5,840 hours $241.19 - ├─ Memory (30 GB, zonal) 30 GB $153.30 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-4.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-4.POSTGRES_15.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-4.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (4, regional) 2,920 hours $241.19 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-4.MYSQL_8_0.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (26 GB, zonal) 26 GB $132.86 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-4.POSTGRES_15.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (26 GB, zonal) 26 GB $132.86 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-highmem-4.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (26 GB, zonal) 26 GB $132.86 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-2-7680.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-2-7680.POSTGRES_15.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-2-7680.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-2.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-n1-standard-2, regional) 730 hours $197.25 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-2.POSTGRES_15.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-2.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-2.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-2.POSTGRES_15.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-2.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-4-15360.MYSQL_8_0.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (15 GB, zonal) 15 GB $76.65 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-4-15360.POSTGRES_15.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (15 GB, zonal) 15 GB $76.65 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-4-15360.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (15 GB, zonal) 15 GB $76.65 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-4.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-n1-standard-4, zonal) 730 hours $197.25 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-4.POSTGRES_15.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (15 GB, zonal) 15 GB $76.65 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-4.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (15 GB, zonal) 15 GB $76.65 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-4.MYSQL_8_0.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (15 GB, zonal) 15 GB $76.65 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-4.POSTGRES_15.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (15 GB, zonal) 15 GB $76.65 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-4.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (15 GB, zonal) 15 GB $76.65 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-2.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-2.POSTGRES_15.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-2.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (2, regional) 1,460 hours $120.60 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-4.MYSQL_8_0.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-4.POSTGRES_15.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-4.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (4, zonal) 2,920 hours $120.60 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.usage - ├─ SQL instance (db-g1-small, zonal) 730 hours $25.55 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups 1,000 GB $80.00 - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-1-3840.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-1-3840.POSTGRES_15.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-1-3840.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-1.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-1.POSTGRES_15.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-1.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-1.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-n1-standard-1, regional) 730 hours $98.62 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-1.POSTGRES_15.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-1.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-1.MYSQL_8_0.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-1.POSTGRES_15.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-1.SQLSERVER_2019_WEB.REGIONAL"] - ├─ vCPUs (1, regional) 730 hours $60.30 - ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-2-7680.MYSQL_8_0.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-2-7680.POSTGRES_15.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-2-7680.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-2.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-n1-standard-2, zonal) 730 hours $98.62 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-2.POSTGRES_15.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-2.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-2.MYSQL_8_0.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-2.POSTGRES_15.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-2.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-2.MYSQL_8_0.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-2.POSTGRES_15.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-2.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (2, zonal) 1,460 hours $60.30 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-g1-small.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-g1-small, regional) 730 hours $51.10 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-g1-small.POSTGRES_15.REGIONAL"] - ├─ SQL instance (db-g1-small, regional) 730 hours $51.10 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-1.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-n1-standard-1, zonal) 730 hours $49.35 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-1-3840.MYSQL_8_0.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-1-3840.POSTGRES_15.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-custom-1-3840.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-1.MYSQL_8_0.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-1.POSTGRES_15.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-lightweight-1.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-1.POSTGRES_15.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-n1-standard-1.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-1.MYSQL_8_0.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-1.POSTGRES_15.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-standard-1.SQLSERVER_2019_WEB.ZONAL"] - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.no_public_ip - ├─ vCPUs (1, zonal) 730 hours $30.15 - ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 - ├─ Storage (SSD, zonal) 10 GB $1.70 - └─ Backups Monthly cost depends on usage: $0.08 per GB - - google_sql_database_instance.db_instance["db-g1-small.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-g1-small, zonal) 730 hours $25.55 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-g1-small.POSTGRES_15.ZONAL"] - ├─ SQL instance (db-g1-small, zonal) 730 hours $25.55 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-f1-micro.MYSQL_8_0.REGIONAL"] - ├─ SQL instance (db-f1-micro, regional) 730 hours $15.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-f1-micro.POSTGRES_15.REGIONAL"] - ├─ SQL instance (db-f1-micro, regional) 730 hours $15.33 - ├─ Storage (SSD, regional) 10 GB $3.40 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-f1-micro.MYSQL_8_0.ZONAL"] - ├─ SQL instance (db-f1-micro, zonal) 730 hours $7.67 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - - google_sql_database_instance.db_instance["db-f1-micro.POSTGRES_15.ZONAL"] - ├─ SQL instance (db-f1-micro, zonal) 730 hours $7.67 - ├─ Storage (SSD, zonal) 10 GB $1.70 - ├─ Backups Monthly cost depends on usage: $0.08 per GB - └─ IP address (if unused) 730 hours $7.30 - + Name Monthly Qty Unit Monthly Cost + + google_sql_database_instance.db_instance["db-n1-standard-96.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-n1-standard-96, regional) 730 hours $9,469.34 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-96-368640.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (96, regional) 70,080 hours $5,788.61 + ├─ Memory (360 GB, regional) 360 GB $3,679.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-96-368640.POSTGRES_15.REGIONAL"] + ├─ vCPUs (96, regional) 70,080 hours $5,788.61 + ├─ Memory (360 GB, regional) 360 GB $3,679.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-96-368640.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (96, regional) 70,080 hours $5,788.61 + ├─ Memory (360 GB, regional) 360 GB $3,679.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-96.POSTGRES_15.REGIONAL"] + ├─ vCPUs (96, regional) 70,080 hours $5,788.61 + ├─ Memory (360 GB, regional) 360 GB $3,679.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-96.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (96, regional) 70,080 hours $5,788.61 + ├─ Memory (360 GB, regional) 360 GB $3,679.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-64.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-n1-standard-64, regional) 730 hours $6,312.89 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-64-245760.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (64, regional) 46,720 hours $3,859.07 + ├─ Memory (240 GB, regional) 240 GB $2,452.80 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-64-245760.POSTGRES_15.REGIONAL"] + ├─ vCPUs (64, regional) 46,720 hours $3,859.07 + ├─ Memory (240 GB, regional) 240 GB $2,452.80 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-64-245760.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (64, regional) 46,720 hours $3,859.07 + ├─ Memory (240 GB, regional) 240 GB $2,452.80 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-64.POSTGRES_15.REGIONAL"] + ├─ vCPUs (64, regional) 46,720 hours $3,859.07 + ├─ Memory (240 GB, regional) 240 GB $2,452.80 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-64.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (64, regional) 46,720 hours $3,859.07 + ├─ Memory (240 GB, regional) 240 GB $2,452.80 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-96.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-n1-standard-96, zonal) 730 hours $4,734.71 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-96-368640.MYSQL_8_0.ZONAL"] + ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 + ├─ Memory (360 GB, zonal) 360 GB $1,839.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-96-368640.POSTGRES_15.ZONAL"] + ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 + ├─ Memory (360 GB, zonal) 360 GB $1,839.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-96-368640.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 + ├─ Memory (360 GB, zonal) 360 GB $1,839.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-96.POSTGRES_15.ZONAL"] + ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 + ├─ Memory (360 GB, zonal) 360 GB $1,839.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-96.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (96, zonal) 70,080 hours $2,894.30 + ├─ Memory (360 GB, zonal) 360 GB $1,839.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-32.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-n1-standard-32, regional) 730 hours $3,156.45 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-32-122880.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (32, regional) 23,360 hours $1,929.54 + ├─ Memory (120 GB, regional) 120 GB $1,226.40 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-32-122880.POSTGRES_15.REGIONAL"] + ├─ vCPUs (32, regional) 23,360 hours $1,929.54 + ├─ Memory (120 GB, regional) 120 GB $1,226.40 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-32-122880.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (32, regional) 23,360 hours $1,929.54 + ├─ Memory (120 GB, regional) 120 GB $1,226.40 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-32.POSTGRES_15.REGIONAL"] + ├─ vCPUs (32, regional) 23,360 hours $1,929.54 + ├─ Memory (120 GB, regional) 120 GB $1,226.40 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-32.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (32, regional) 23,360 hours $1,929.54 + ├─ Memory (120 GB, regional) 120 GB $1,226.40 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-64.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-n1-standard-64, zonal) 730 hours $3,156.45 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-64-245760.MYSQL_8_0.ZONAL"] + ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 + ├─ Memory (240 GB, zonal) 240 GB $1,226.40 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-64-245760.POSTGRES_15.ZONAL"] + ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 + ├─ Memory (240 GB, zonal) 240 GB $1,226.40 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-64-245760.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 + ├─ Memory (240 GB, zonal) 240 GB $1,226.40 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-64.POSTGRES_15.ZONAL"] + ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 + ├─ Memory (240 GB, zonal) 240 GB $1,226.40 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-64.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (64, zonal) 46,720 hours $1,929.54 + ├─ Memory (240 GB, zonal) 240 GB $1,226.40 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-16.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (16, regional) 11,680 hours $964.77 + ├─ Memory (104 GB, regional) 104 GB $1,062.88 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-16.POSTGRES_15.REGIONAL"] + ├─ vCPUs (16, regional) 11,680 hours $964.77 + ├─ Memory (104 GB, regional) 104 GB $1,062.88 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-16.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (16, regional) 11,680 hours $964.77 + ├─ Memory (104 GB, regional) 104 GB $1,062.88 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-16.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-n1-standard-16, regional) 730 hours $1,578.48 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-16-61440.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (16, regional) 11,680 hours $964.77 + ├─ Memory (60 GB, regional) 60 GB $613.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-16-61440.POSTGRES_15.REGIONAL"] + ├─ vCPUs (16, regional) 11,680 hours $964.77 + ├─ Memory (60 GB, regional) 60 GB $613.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-16-61440.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (16, regional) 11,680 hours $964.77 + ├─ Memory (60 GB, regional) 60 GB $613.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-16.POSTGRES_15.REGIONAL"] + ├─ vCPUs (16, regional) 11,680 hours $964.77 + ├─ Memory (60 GB, regional) 60 GB $613.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-16.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (16, regional) 11,680 hours $964.77 + ├─ Memory (60 GB, regional) 60 GB $613.20 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-32.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-n1-standard-32, zonal) 730 hours $1,578.26 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-32-122880.MYSQL_8_0.ZONAL"] + ├─ vCPUs (32, zonal) 23,360 hours $964.77 + ├─ Memory (120 GB, zonal) 120 GB $613.20 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-32-122880.POSTGRES_15.ZONAL"] + ├─ vCPUs (32, zonal) 23,360 hours $964.77 + ├─ Memory (120 GB, zonal) 120 GB $613.20 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-32-122880.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (32, zonal) 23,360 hours $964.77 + ├─ Memory (120 GB, zonal) 120 GB $613.20 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-32.POSTGRES_15.ZONAL"] + ├─ vCPUs (32, zonal) 23,360 hours $964.77 + ├─ Memory (120 GB, zonal) 120 GB $613.20 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-32.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (32, zonal) 23,360 hours $964.77 + ├─ Memory (120 GB, zonal) 120 GB $613.20 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-8.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (8, regional) 5,840 hours $482.38 + ├─ Memory (52 GB, regional) 52 GB $531.44 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-8.POSTGRES_15.REGIONAL"] + ├─ vCPUs (8, regional) 5,840 hours $482.38 + ├─ Memory (52 GB, regional) 52 GB $531.44 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-8.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (8, regional) 5,840 hours $482.38 + ├─ Memory (52 GB, regional) 52 GB $531.44 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-16.MYSQL_8_0.ZONAL"] + ├─ vCPUs (16, zonal) 11,680 hours $482.38 + ├─ Memory (104 GB, zonal) 104 GB $531.44 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-16.POSTGRES_15.ZONAL"] + ├─ vCPUs (16, zonal) 11,680 hours $482.38 + ├─ Memory (104 GB, zonal) 104 GB $531.44 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-16.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (16, zonal) 11,680 hours $482.38 + ├─ Memory (104 GB, zonal) 104 GB $531.44 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-8-30720.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (8, regional) 5,840 hours $482.38 + ├─ Memory (30 GB, regional) 30 GB $306.60 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-8-30720.POSTGRES_15.REGIONAL"] + ├─ vCPUs (8, regional) 5,840 hours $482.38 + ├─ Memory (30 GB, regional) 30 GB $306.60 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-8-30720.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (8, regional) 5,840 hours $482.38 + ├─ Memory (30 GB, regional) 30 GB $306.60 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-8.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-n1-standard-8, regional) 730 hours $788.98 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-8.POSTGRES_15.REGIONAL"] + ├─ vCPUs (8, regional) 5,840 hours $482.38 + ├─ Memory (30 GB, regional) 30 GB $306.60 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-8.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (8, regional) 5,840 hours $482.38 + ├─ Memory (30 GB, regional) 30 GB $306.60 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-16.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-n1-standard-16, zonal) 730 hours $789.28 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-16-61440.MYSQL_8_0.ZONAL"] + ├─ vCPUs (16, zonal) 11,680 hours $482.38 + ├─ Memory (60 GB, zonal) 60 GB $306.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-16-61440.POSTGRES_15.ZONAL"] + ├─ vCPUs (16, zonal) 11,680 hours $482.38 + ├─ Memory (60 GB, zonal) 60 GB $306.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-16-61440.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (16, zonal) 11,680 hours $482.38 + ├─ Memory (60 GB, zonal) 60 GB $306.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-16.POSTGRES_15.ZONAL"] + ├─ vCPUs (16, zonal) 11,680 hours $482.38 + ├─ Memory (60 GB, zonal) 60 GB $306.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-16.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (16, zonal) 11,680 hours $482.38 + ├─ Memory (60 GB, zonal) 60 GB $306.60 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-4.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (26 GB, regional) 26 GB $265.72 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-4.POSTGRES_15.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (26 GB, regional) 26 GB $265.72 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-4.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (26 GB, regional) 26 GB $265.72 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-8.MYSQL_8_0.ZONAL"] + ├─ vCPUs (8, zonal) 5,840 hours $241.19 + ├─ Memory (52 GB, zonal) 52 GB $265.72 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-8.POSTGRES_15.ZONAL"] + ├─ vCPUs (8, zonal) 5,840 hours $241.19 + ├─ Memory (52 GB, zonal) 52 GB $265.72 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-8.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (8, zonal) 5,840 hours $241.19 + ├─ Memory (52 GB, zonal) 52 GB $265.72 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.with_replica + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 500 GB $170.00 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + ├─ IP address (if unused) 730 hours $7.30 + └─ Replica + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + └─ Storage (SSD, zonal) 500 GB $85.00 + + google_sql_database_instance.db_instance["db-custom-4-15360.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (15 GB, regional) 15 GB $153.30 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-4-15360.POSTGRES_15.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (15 GB, regional) 15 GB $153.30 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-4-15360.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (15 GB, regional) 15 GB $153.30 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-4.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-n1-standard-4, regional) 730 hours $394.49 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-4.POSTGRES_15.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (15 GB, regional) 15 GB $153.30 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-4.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (15 GB, regional) 15 GB $153.30 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-4.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (15 GB, regional) 15 GB $153.30 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-4.POSTGRES_15.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (15 GB, regional) 15 GB $153.30 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-4.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (15 GB, regional) 15 GB $153.30 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-8-30720.MYSQL_8_0.ZONAL"] + ├─ vCPUs (8, zonal) 5,840 hours $241.19 + ├─ Memory (30 GB, zonal) 30 GB $153.30 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-8-30720.POSTGRES_15.ZONAL"] + ├─ vCPUs (8, zonal) 5,840 hours $241.19 + ├─ Memory (30 GB, zonal) 30 GB $153.30 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-8-30720.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (8, zonal) 5,840 hours $241.19 + ├─ Memory (30 GB, zonal) 30 GB $153.30 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-8.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-n1-standard-8, zonal) 730 hours $394.49 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-8.POSTGRES_15.ZONAL"] + ├─ vCPUs (8, zonal) 5,840 hours $241.19 + ├─ Memory (30 GB, zonal) 30 GB $153.30 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-8.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (8, zonal) 5,840 hours $241.19 + ├─ Memory (30 GB, zonal) 30 GB $153.30 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-4.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-4.POSTGRES_15.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-4.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (4, regional) 2,920 hours $241.19 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-4.MYSQL_8_0.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (26 GB, zonal) 26 GB $132.86 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-4.POSTGRES_15.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (26 GB, zonal) 26 GB $132.86 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-highmem-4.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (26 GB, zonal) 26 GB $132.86 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-2-7680.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-2-7680.POSTGRES_15.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-2-7680.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-2.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-n1-standard-2, regional) 730 hours $197.25 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-2.POSTGRES_15.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-2.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-2.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-2.POSTGRES_15.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-2.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (7.5 GB, regional) 7.5 GB $76.65 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-4-15360.MYSQL_8_0.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (15 GB, zonal) 15 GB $76.65 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-4-15360.POSTGRES_15.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (15 GB, zonal) 15 GB $76.65 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-4-15360.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (15 GB, zonal) 15 GB $76.65 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-4.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-n1-standard-4, zonal) 730 hours $197.25 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-4.POSTGRES_15.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (15 GB, zonal) 15 GB $76.65 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-4.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (15 GB, zonal) 15 GB $76.65 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-4.MYSQL_8_0.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (15 GB, zonal) 15 GB $76.65 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-4.POSTGRES_15.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (15 GB, zonal) 15 GB $76.65 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-4.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (15 GB, zonal) 15 GB $76.65 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-2.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-2.POSTGRES_15.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-2.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (2, regional) 1,460 hours $120.60 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-4.MYSQL_8_0.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-4.POSTGRES_15.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-4.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (4, zonal) 2,920 hours $120.60 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.usage + ├─ SQL instance (db-g1-small, zonal) 730 hours $25.55 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups 1,000 GB $80.00 * + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-1-3840.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-1-3840.POSTGRES_15.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-1-3840.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-1.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-1.POSTGRES_15.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-1.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-1.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-n1-standard-1, regional) 730 hours $98.62 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-1.POSTGRES_15.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-1.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-1.MYSQL_8_0.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-1.POSTGRES_15.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-1.SQLSERVER_2019_WEB.REGIONAL"] + ├─ vCPUs (1, regional) 730 hours $60.30 + ├─ Memory (3.75 GB, regional) 3.75 GB $38.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-2-7680.MYSQL_8_0.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-2-7680.POSTGRES_15.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-2-7680.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-2.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-n1-standard-2, zonal) 730 hours $98.62 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-2.POSTGRES_15.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-2.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-2.MYSQL_8_0.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-2.POSTGRES_15.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-2.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (7.5 GB, zonal) 7.5 GB $38.33 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-2.MYSQL_8_0.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-2.POSTGRES_15.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-2.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (2, zonal) 1,460 hours $60.30 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-g1-small.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-g1-small, regional) 730 hours $51.10 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-g1-small.POSTGRES_15.REGIONAL"] + ├─ SQL instance (db-g1-small, regional) 730 hours $51.10 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-1.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-n1-standard-1, zonal) 730 hours $49.35 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-1-3840.MYSQL_8_0.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-1-3840.POSTGRES_15.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-custom-1-3840.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-1.MYSQL_8_0.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-1.POSTGRES_15.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-lightweight-1.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-1.POSTGRES_15.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-n1-standard-1.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-1.MYSQL_8_0.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-1.POSTGRES_15.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-standard-1.SQLSERVER_2019_WEB.ZONAL"] + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.no_public_ip + ├─ vCPUs (1, zonal) 730 hours $30.15 + ├─ Memory (3.75 GB, zonal) 3.75 GB $19.16 + ├─ Storage (SSD, zonal) 10 GB $1.70 + └─ Backups Monthly cost depends on usage: $0.08 per GB + + google_sql_database_instance.db_instance["db-g1-small.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-g1-small, zonal) 730 hours $25.55 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-g1-small.POSTGRES_15.ZONAL"] + ├─ SQL instance (db-g1-small, zonal) 730 hours $25.55 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-f1-micro.MYSQL_8_0.REGIONAL"] + ├─ SQL instance (db-f1-micro, regional) 730 hours $15.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-f1-micro.POSTGRES_15.REGIONAL"] + ├─ SQL instance (db-f1-micro, regional) 730 hours $15.33 + ├─ Storage (SSD, regional) 10 GB $3.40 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-f1-micro.MYSQL_8_0.ZONAL"] + ├─ SQL instance (db-f1-micro, zonal) 730 hours $7.67 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + + google_sql_database_instance.db_instance["db-f1-micro.POSTGRES_15.ZONAL"] + ├─ SQL instance (db-f1-micro, zonal) 730 hours $7.67 + ├─ Storage (SSD, zonal) 10 GB $1.70 + ├─ Backups Monthly cost depends on usage: $0.08 per GB + └─ IP address (if unused) 730 hours $7.30 + OVERALL TOTAL $221,764.39 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 162 cloud resources were detected: ∙ 161 were estimated ∙ 1 is not supported yet, see https://infracost.io/requested-resources: ∙ 1 x google_sql_database_instance -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestNewSQLInstance ┃ $221,764 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestNewSQLInstance ┃ $221,684 ┃ $80 ┃ $221,764 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: WRN edition ENTERPRISE_PLUS of google_sql_database_instance.enterprise_plus is not yet supported \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden index 7cc3029ce9b..4f2cb3aade4 100644 --- a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden +++ b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden @@ -1,53 +1,56 @@ - Name Monthly Qty Unit Monthly Cost - - google_storage_bucket.storage_bucket - ├─ Storage (coldline) 150 GiB $1.31 - ├─ Data retrieval 250 GB $5.00 - ├─ Object adds, bucket/object list (class A) 4 10k operations $0.40 - ├─ Object gets, retrieve bucket/object metadata (class B) 2 10k operations $0.10 - └─ Network egress - ├─ Data transfer in same continent 550 GB $11.00 - ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) 1,024 GB $122.88 - ├─ Data transfer to worldwide excluding Asia, Australia (next 9TB) 9,216 GB $1,013.76 - ├─ Data transfer to worldwide excluding Asia, Australia (over 10TB) 2,260 GB $180.80 - ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) 1,024 GB $122.88 - ├─ Data transfer to Asia excluding China, but including Hong Kong (next 9TB) 476 GB $52.36 - ├─ Data transfer to China excluding Hong Kong (first 1TB) 50 GB $11.50 - └─ Data transfer to Australia (first 1TB) 250 GB $47.50 - - google_storage_bucket.EuMulti - ├─ Storage (standard) 150 GiB $3.90 - ├─ Object adds, bucket/object list (class A) 4 10k operations $0.20 - ├─ Object gets, retrieve bucket/object metadata (class B) 2 10k operations $0.01 - └─ Network egress - ├─ Data transfer in same continent 550 GB $11.00 - ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) 1,024 GB $122.88 - ├─ Data transfer to worldwide excluding Asia, Australia (next 9TB) 9,216 GB $1,013.76 - ├─ Data transfer to worldwide excluding Asia, Australia (over 10TB) 2,260 GB $180.80 - ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) 1,024 GB $122.88 - ├─ Data transfer to Asia excluding China, but including Hong Kong (next 9TB) 476 GB $52.36 - ├─ Data transfer to China excluding Hong Kong (first 1TB) 50 GB $11.50 - └─ Data transfer to Australia (first 1TB) 250 GB $47.50 - - google_storage_bucket.non_usage - ├─ Storage (standard) Monthly cost depends on usage: $0.026 per GiB - ├─ Object adds, bucket/object list (class A) Monthly cost depends on usage: $0.05 per 10k operations - ├─ Object gets, retrieve bucket/object metadata (class B) Monthly cost depends on usage: $0.004 per 10k operations - └─ Network egress - ├─ Data transfer in same continent Monthly cost depends on usage: $0.02 per GB - ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) Monthly cost depends on usage: $0.12 per GB - ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) Monthly cost depends on usage: $0.12 per GB - ├─ Data transfer to China excluding Hong Kong (first 1TB) Monthly cost depends on usage: $0.23 per GB - └─ Data transfer to Australia (first 1TB) Monthly cost depends on usage: $0.19 per GB - + Name Monthly Qty Unit Monthly Cost + + google_storage_bucket.storage_bucket + ├─ Storage (coldline) 150 GiB $1.31 * + ├─ Data retrieval 250 GB $5.00 * + ├─ Object adds, bucket/object list (class A) 4 10k operations $0.40 * + ├─ Object gets, retrieve bucket/object metadata (class B) 2 10k operations $0.10 * + └─ Network egress + ├─ Data transfer in same continent 550 GB $11.00 * + ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) 1,024 GB $122.88 * + ├─ Data transfer to worldwide excluding Asia, Australia (next 9TB) 9,216 GB $1,013.76 * + ├─ Data transfer to worldwide excluding Asia, Australia (over 10TB) 2,260 GB $180.80 * + ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) 1,024 GB $122.88 * + ├─ Data transfer to Asia excluding China, but including Hong Kong (next 9TB) 476 GB $52.36 * + ├─ Data transfer to China excluding Hong Kong (first 1TB) 50 GB $11.50 * + └─ Data transfer to Australia (first 1TB) 250 GB $47.50 * + + google_storage_bucket.EuMulti + ├─ Storage (standard) 150 GiB $3.90 * + ├─ Object adds, bucket/object list (class A) 4 10k operations $0.20 * + ├─ Object gets, retrieve bucket/object metadata (class B) 2 10k operations $0.01 * + └─ Network egress + ├─ Data transfer in same continent 550 GB $11.00 * + ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) 1,024 GB $122.88 * + ├─ Data transfer to worldwide excluding Asia, Australia (next 9TB) 9,216 GB $1,013.76 * + ├─ Data transfer to worldwide excluding Asia, Australia (over 10TB) 2,260 GB $180.80 * + ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) 1,024 GB $122.88 * + ├─ Data transfer to Asia excluding China, but including Hong Kong (next 9TB) 476 GB $52.36 * + ├─ Data transfer to China excluding Hong Kong (first 1TB) 50 GB $11.50 * + └─ Data transfer to Australia (first 1TB) 250 GB $47.50 * + + google_storage_bucket.non_usage + ├─ Storage (standard) Monthly cost depends on usage: $0.026 per GiB + ├─ Object adds, bucket/object list (class A) Monthly cost depends on usage: $0.05 per 10k operations + ├─ Object gets, retrieve bucket/object metadata (class B) Monthly cost depends on usage: $0.004 per 10k operations + └─ Network egress + ├─ Data transfer in same continent Monthly cost depends on usage: $0.02 per GB + ├─ Data transfer to worldwide excluding Asia, Australia (first 1TB) Monthly cost depends on usage: $0.12 per GB + ├─ Data transfer to Asia excluding China, but including Hong Kong (first 1TB) Monthly cost depends on usage: $0.12 per GB + ├─ Data transfer to China excluding Hong Kong (first 1TB) Monthly cost depends on usage: $0.23 per GB + └─ Data transfer to Australia (first 1TB) Monthly cost depends on usage: $0.19 per GB + OVERALL TOTAL $3,136.28 + +*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. + ────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓ -┃ Project ┃ Monthly cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫ -┃ TestStorageBucket ┃ $3,136 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestStorageBucket ┃ $0.00 ┃ $3,136 ┃ $3,136 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file From f12afa6539baa49fcb2a92d9575f53a58126ac99 Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Thu, 4 Apr 2024 12:37:23 -0400 Subject: [PATCH 04/50] enhance: update usage footnote text (#3001) * enhance: simplify usage footnote text * test: update golden files * test: update golden file --- ...wn_auto_with_multi_varfile_projects.golden | 2 +- ...n_config_file_with_skip_auto_detect.golden | 2 +- ...eakdown_config_file_with_usage_file.golden | 2 +- .../breakdown_format_table.golden | 2 +- .../breakdown_invalid_path.golden | 2 +- .../breakdown_multi_project_autodetect.golden | 2 +- .../breakdown_multi_project_skip_paths.golden | 2 +- ...multi_project_skip_paths_root_level.golden | 2 +- ...kdown_multi_project_with_all_errors.golden | 2 +- .../breakdown_multi_project_with_error.golden | 2 +- .../breakdown_plan_error.golden | 2 +- .../breakdown_terraform_directory.golden | 2 +- ...rm_directory_with_default_var_files.golden | 2 +- ...rm_directory_with_recursive_modules.golden | 2 +- .../breakdown_terraform_fields_all.golden | 2 +- .../breakdown_terraform_fields_invalid.golden | 2 +- .../infracost_output.golden | 2 +- .../breakdown_terraform_plan_json.golden | 2 +- .../breakdown_terraform_show_skipped.golden | 2 +- ...breakdown_terraform_sync_usage_file.golden | 2 +- .../breakdown_terraform_usage_file.golden | 2 +- ...wn_terraform_usage_file_invalid_key.golden | 2 +- ...erraform_usage_file_wildcard_module.golden | 2 +- ...breakdown_terraform_use_state_v0_12.golden | 2 +- ...breakdown_terraform_use_state_v0_14.golden | 2 +- .../breakdown_terraform_v0_12.golden | 2 +- .../breakdown_terraform_v0_14.golden | 2 +- .../breakdown_terraform_wrapper.golden | 2 +- .../breakdown_terragrunt.golden | 2 +- .../breakdown_terragrunt_extra_args.golden | 2 +- .../breakdown_terragrunt_get_env.golden | 2 +- ...down_terragrunt_get_env_config_file.golden | 2 +- ...n_terragrunt_get_env_with_whitelist.golden | 2 +- ...breakdown_terragrunt_hcldeps_output.golden | 2 +- ...n_terragrunt_hcldeps_output_include.golden | 2 +- ...wn_terragrunt_hcldeps_output_mocked.golden | 2 +- ...grunt_hcldeps_output_single_project.golden | 2 +- ...erragrunt_hclmodule_output_for_each.golden | 2 +- .../breakdown_terragrunt_hclmulti.golden | 2 +- ...kdown_terragrunt_hclmulti_no_source.golden | 2 +- .../breakdown_terragrunt_hclsingle.golden | 2 +- .../breakdown_terragrunt_iamroles.golden | 2 +- .../breakdown_terragrunt_include_deps.golden | 2 +- .../breakdown_terragrunt_nested.golden | 2 +- .../breakdown_terragrunt_skip_paths.golden | 2 +- .../breakdown_terragrunt_source_map.golden | 2 +- ...n_terragrunt_with_dashboard_enabled.golden | 2 +- ...wn_terragrunt_with_mocked_functions.golden | 2 +- ...down_terragrunt_with_parent_include.golden | 2 +- ...kdown_terragrunt_with_remote_source.golden | 2 +- .../breakdown_with_actual_costs.golden | 2 +- ...reakdown_with_data_blocks_in_submod.golden | 2 +- .../breakdown_with_deep_merge_module.golden | 2 +- .../breakdown_with_depends_upon_module.golden | 2 +- .../breakdown_with_dynamic_iterator.golden | 2 +- ...reakdown_with_local_path_data_block.golden | 2 +- .../breakdown_with_mocked_merge.golden | 2 +- .../breakdown_with_multiple_providers.golden | 2 +- .../breakdown_with_nested_foreach.golden | 2 +- ...akdown_with_nested_provider_aliases.golden | 2 +- .../breakdown_with_optional_variables.golden | 2 +- ...h_private_terraform_registry_module.golden | 2 +- ...wn_with_providers_depending_on_data.golden | 2 +- .../breakdown_with_target.golden | 2 +- .../breakdown_with_workspace.golden | 2 +- .../comment_azure_repos_pull_request.golden | 4 +- .../comment_bitbucket_commit.golden | 4 +- .../comment_bitbucket_exclude_details.golden | 2 +- .../comment_bitbucket_pull_request.golden | 4 +- .../comment_git_hub_commit.golden | 4 +- .../comment_git_hub_pull_request.golden | 4 +- .../comment_git_hub_show_all_projects.golden | 4 +- ...mment_git_hub_show_changed_projects.golden | 2 +- ...it_hub_with_additional_comment_path.golden | 2 +- .../comment_git_lab_commit.golden | 4 +- .../comment_git_lab_merge_request.golden | 4 +- .../config_file_nil_projects_errors.golden | 2 +- .../diff_prior_empty_project.golden | 2 +- .../diff_project_name.golden | 2 +- .../diff_terraform_directory.golden | 2 +- .../infracost_output.golden | 2 +- .../diff_terraform_plan_json.golden | 2 +- .../diff_terraform_show_skipped.golden | 2 +- .../diff_terraform_usage_file.golden | 2 +- .../diff_terraform_v0_12.golden | 2 +- .../diff_terraform_v0_14.golden | 2 +- .../diff_terragrunt/diff_terragrunt.golden | 2 +- .../diff_terragrunt_nested.golden | 2 +- .../diff_with_compare_to.golden | 2 +- .../diff_with_config_file_compare_to.golden | 2 +- ...fig_file_compare_to_deleted_project.golden | 2 +- .../diff_with_infracost_json.golden | 2 +- .../diff_with_target/diff_with_target.golden | 2 +- ...ig_file_and_terraform_workspace_env.golden | 2 +- ...rs_terraform_workspace_flag_and_env.golden | 2 +- .../hcllocal_object_mock.golden | 2 +- .../hclmodule_count/hclmodule_count.golden | 2 +- .../hclmodule_for_each.golden | 2 +- .../hclmodule_output_counts.golden | 2 +- .../hclmodule_output_counts_nested.golden | 2 +- ...lmodule_reevaluated_on_input_change.golden | 2 +- .../hclmodule_relative_filesets.golden | 2 +- .../hclmulti_project_infra.hcl.golden | 2 +- .../hclmulti_var_files.golden | 2 +- .../hclmulti_workspace.golden | 2 +- .../hclprovider_alias.golden | 2 +- ...stance_with_attachment_after_deploy.golden | 2 +- ...tance_with_attachment_before_deploy.golden | 2 +- .../output_format_azure_repos_comment.golden | 4 +- ...zure_repos_comment_multiple_skipped.golden | 4 +- ...itbucket_comment_with_project_names.golden | 4 +- .../output_format_git_hub_comment.golden | 4 +- ...at_git_hub_comment_multiple_skipped.golden | 4 +- ...t_git_hub_comment_show_all_projects.golden | 4 +- ...git_hub_comment_with_project_errors.golden | 4 +- ..._git_hub_comment_with_project_names.golden | 4 +- ...nt_with_project_names_with_metadata.golden | 4 +- ...git_hub_comment_without_module_path.golden | 4 +- .../output_format_git_lab_comment.golden | 4 +- ...at_git_lab_comment_multiple_skipped.golden | 4 +- .../output_format_slack_message.golden | 2 +- ..._format_slack_message_more_projects.golden | 2 +- ...rmat_slack_message_multiple_skipped.golden | 2 +- .../output_format_table.golden | 2 +- .../output_format_table_with_error.golden | 2 +- .../output_jsonarray_path.golden | 2 +- .../output_terraform_fields_all.golden | 2 +- .../infracost_output.golden | 2 +- internal/output/markdown.go | 52 +++++-------------- .../acm_certificate_test.golden | 2 +- .../acmpca_certificate_authority_test.golden | 2 +- .../api_gateway_rest_api_test.golden | 2 +- .../api_gateway_stage_test.golden | 2 +- .../apigatewayv2_api_test.golden | 2 +- .../autoscaling_group_test.golden | 2 +- .../backup_vault_test.golden | 2 +- .../cloudformation_stack_set_test.golden | 2 +- .../cloudformation_stack_test.golden | 2 +- .../cloudfront_distribution_test.golden | 2 +- .../cloudhsm_v2_hsm_test.golden | 2 +- .../cloudtrail_test/cloudtrail_test.golden | 2 +- .../cloudwatch_dashboard_test.golden | 2 +- .../cloudwatch_event_bus_test.golden | 2 +- .../cloudwatch_log_group_test.golden | 2 +- .../cloudwatch_metric_alarm_test.golden | 2 +- .../codebuild_project_test.golden | 2 +- .../config_config_rule_test.golden | 2 +- .../config_configuration_recorder_test.golden | 2 +- ...onfig_organization_custom_rule_test.golden | 2 +- ...nfig_organization_managed_rule_test.golden | 2 +- .../data_transfer_test.golden | 2 +- .../db_instance_test/db_instance_test.golden | 2 +- .../directory_service_directory_test.golden | 2 +- .../aws/testdata/dms_test/dms_test.golden | 2 +- .../docdb_cluster_instance_test.golden | 2 +- .../docdb_cluster_snapshot_test.golden | 2 +- .../docdb_cluster_test.golden | 2 +- .../dx_connection_test.golden | 2 +- .../dx_gateway_association_test.golden | 2 +- .../dynamodb_table_test.golden | 2 +- .../ebs_snapshot_copy_test.golden | 2 +- .../ebs_snapshot_test.golden | 2 +- .../ebs_volume_test/ebs_volume_test.golden | 2 +- .../ec2_client_vpn_endpoint_test.golden | 2 +- ...client_vpn_network_association_test.golden | 2 +- .../ec2_host_test/ec2_host_test.golden | 2 +- .../ec2_traffic_mirror_session_test.golden | 2 +- ...sit_gateway_peering_attachment_test.golden | 2 +- ...transit_gateway_vpc_attachment_test.golden | 2 +- .../ecr_repository_test.golden | 2 +- .../ecs_service_test/ecs_service_test.golden | 2 +- .../efs_file_system_test.golden | 2 +- .../aws/testdata/eip_test/eip_test.golden | 2 +- .../eks_cluster_test/eks_cluster_test.golden | 2 +- .../eks_fargate_profile_test.golden | 2 +- .../eks_node_group_test.golden | 2 +- .../elastic_beanstalk_environment_test.golden | 2 +- .../elasticache_cluster_test.golden | 2 +- .../elasticache_replication_group_test.golden | 2 +- .../elasticsearch_domain_test.golden | 2 +- .../aws/testdata/elb_test/elb_test.golden | 2 +- .../fsx_openzfs_file_system_test.golden | 2 +- .../fsx_windows_file_system_test.golden | 2 +- ...bal_accelerator_endpoint_group_test.golden | 2 +- .../global_accelerator_test.golden | 2 +- .../glue_catalog_database_test.golden | 2 +- .../glue_crawler_test.golden | 2 +- .../glue_job_test/glue_job_test.golden | 2 +- .../instance_test/instance_test.golden | 2 +- ...nesis_firehose_delivery_stream_test.golden | 2 +- .../kinesis_stream_test.golden | 2 +- .../kinesisanalytics_application_test.golden | 2 +- ...alyticsv2_application_snapshot_test.golden | 2 +- ...kinesisanalyticsv2_application_test.golden | 2 +- .../kms_external_key_test.golden | 2 +- .../testdata/kms_key_test/kms_key_test.golden | 2 +- .../lambda_function_test.golden | 2 +- ...provisioned_concurrency_config_test.golden | 2 +- .../aws/testdata/lb_test/lb_test.golden | 2 +- .../lightsail_instance_test.golden | 2 +- .../mq_broker_test/mq_broker_test.golden | 2 +- .../msk_cluster_test/msk_cluster_test.golden | 2 +- .../mwaa_environment_test.golden | 2 +- .../nat_gateway_test/nat_gateway_test.golden | 2 +- .../neptune_cluster_instance_test.golden | 2 +- .../neptune_cluster_snapshot_test.golden | 2 +- .../neptune_cluster_test.golden | 2 +- .../networkfirewall_firewall_test.golden | 2 +- .../opensearch_domain_test.golden | 2 +- .../rds_cluster_instance_test.golden | 2 +- .../rds_cluster_test/rds_cluster_test.golden | 2 +- .../redshift_cluster_test.golden | 2 +- .../route53_health_check_test.golden | 2 +- .../route53_record_test.golden | 2 +- .../route53_resolver_endpoint_test.golden | 2 +- .../route53_zone_test.golden | 2 +- ...bucket_analytics_configuration_test.golden | 2 +- .../s3_bucket_inventory_test.golden | 2 +- ...bucket_lifecycle_configuration_test.golden | 2 +- .../s3_bucket_test/s3_bucket_test.golden | 2 +- .../s3_bucket_v3_test.golden | 2 +- .../secretsmanager_secret_test.golden | 2 +- .../sfn_state_machine_test.golden | 2 +- .../sns_topic_subscription_test.golden | 2 +- .../sns_topic_test/sns_topic_test.golden | 2 +- .../sqs_queue_test/sqs_queue_test.golden | 2 +- .../ssm_activation_test.golden | 2 +- .../ssm_parameter_test.golden | 2 +- .../transfer_server_test.golden | 2 +- .../vpc_endpoint_test.golden | 2 +- .../vpn_connection_test.golden | 2 +- .../waf_web_acl_test/waf_web_acl_test.golden | 2 +- .../wafv2_web_acl_test.golden | 2 +- ...ory_domain_service_replica_set_test.golden | 2 +- ...ctive_directory_domain_service_test.golden | 2 +- .../api_management_test.golden | 2 +- .../app_configuration_test.golden | 2 +- ...pp_service_certificate_binding_test.golden | 2 +- .../app_service_certificate_order_test.golden | 2 +- ...ervice_custom_hostname_binding_test.golden | 2 +- .../app_service_environment_test.golden | 2 +- .../app_service_plan_test.golden | 2 +- .../application_gateway_test.golden | 2 +- ...cation_insights_standard_web_t_test.golden | 2 +- .../application_insights_test.golden | 2 +- .../application_insights_web_t_test.golden | 2 +- .../automation_account_test.golden | 2 +- .../automation_dsc_configuration_test.golden | 2 +- ...tomation_dsc_nodeconfiguration_test.golden | 2 +- .../automation_job_schedule_test.golden | 2 +- .../bastion_host_test.golden | 2 +- .../cdn_endpoint_test.golden | 2 +- .../cognitive_account_test.golden | 2 +- .../cognitive_deployment_test.golden | 3 +- .../container_registry_test.golden | 2 +- .../cosmosdb_cassandra_keyspace_test.golden | 2 +- ...yspace_test_with_blank_geo_location.golden | 2 +- .../cosmosdb_cassandra_table_test.golden | 2 +- .../cosmosdb_gremlin_database_test.golden | 2 +- .../cosmosdb_gremlin_graph_test.golden | 2 +- .../cosmosdb_mongo_collection_test.golden | 2 +- .../cosmosdb_mongo_database_test.golden | 2 +- .../cosmosdb_sql_container_test.golden | 2 +- .../cosmosdb_sql_database_test.golden | 2 +- .../cosmosdb_table_test.golden | 2 +- ...integration_runtime_azure_ssis_test.golden | 2 +- ...tory_integration_runtime_azure_test.golden | 2 +- ...ry_integration_runtime_managed_test.golden | 2 +- ...ntegration_runtime_self_hosted_test.golden | 2 +- .../data_factory_test.golden | 2 +- .../databricks_workspace_test.golden | 2 +- .../dns_a_record_test.golden | 2 +- .../dns_aaaa_record_test.golden | 2 +- .../dns_caa_record_test.golden | 2 +- .../dns_cname_record_test.golden | 2 +- .../dns_mx_record_test.golden | 2 +- .../dns_ns_record_test.golden | 2 +- .../dns_ptr_record_test.golden | 2 +- .../dns_srv_record_test.golden | 2 +- .../dns_txt_record_test.golden | 2 +- .../dns_zone_test/dns_zone_test.golden | 2 +- .../event_hubs_namespace_test.golden | 2 +- .../eventgrid_system_topic_test.golden | 2 +- .../eventgrid_topic_test.golden | 2 +- .../express_route_connection_test.golden | 2 +- .../express_route_gateway_test.golden | 2 +- .../federated_identity_credential_test.golden | 2 +- .../firewall_test/firewall_test.golden | 2 +- .../frontdoor_firewall_policy_test.golden | 2 +- .../frontdoor_test/frontdoor_test.golden | 2 +- .../function_app_test.golden | 2 +- .../function_linux_app_test.golden | 2 +- .../function_windows_app_test.golden | 2 +- .../hdinsight_hadoop_cluster_test.golden | 2 +- .../hdinsight_hbase_cluster_test.golden | 2 +- ...ight_interactive_query_cluster_test.golden | 2 +- .../hdinsight_kafka_cluster_test.golden | 2 +- .../hdinsight_spark_cluster_test.golden | 2 +- .../testdata/image_test/image_test.golden | 2 +- ...ntegration_service_environment_test.golden | 2 +- .../testdata/iothub_test/iothub_test.golden | 2 +- .../key_vault_certificate_test.golden | 2 +- .../key_vault_key_test.golden | 2 +- ...naged_hardware_security_module_test.golden | 2 +- .../kubernetes_cluster_node_pool_test.golden | 2 +- .../kubernetes_cluster_test.golden | 2 +- .../lb_outbound_rule_test.golden | 2 +- .../lb_outbound_rule_v2_test.golden | 2 +- .../testdata/lb_rule_test/lb_rule_test.golden | 2 +- .../lb_rule_v2_test/lb_rule_v2_test.golden | 2 +- .../azure/testdata/lb_test/lb_test.golden | 2 +- ...inux_virtual_machine_scale_set_test.golden | 2 +- .../linux_virtual_machine_test.golden | 2 +- .../log_analytics_workspace_test.golden | 2 +- .../logic_app_integration_account_test.golden | 2 +- .../logic_app_standard_test.golden | 2 +- ...chine_learning_compute_cluster_test.golden | 2 +- ...hine_learning_compute_instance_test.golden | 2 +- .../managed_disk_test.golden | 2 +- .../mariadb_server_test.golden | 2 +- .../monitor_action_group_test.golden | 2 +- .../monitor_data_collection_rule_test.golden | 2 +- .../monitor_diagnostic_setting_test.golden | 2 +- .../monitor_metric_alert_test.golden | 2 +- ...or_scheduled_query_rules_alert_test.golden | 2 +- ...scheduled_query_rules_alert_v2_test.golden | 2 +- .../mssql_database_test.golden | 2 +- ...l_database_test_with_blank_location.golden | 2 +- .../mssql_elasticpool_test.golden | 2 +- .../mssql_managed_instance_test.golden | 2 +- .../mysql_flexible_server_test.golden | 2 +- .../mysql_server_test.golden | 2 +- .../nat_gateway_test/nat_gateway_test.golden | 2 +- .../network_connection_monitor_test.golden | 2 +- .../network_ddos_protection_plan_test.golden | 2 +- .../network_watcher_flow_log_test.golden | 2 +- .../network_watcher_test.golden | 2 +- .../notification_hub_namespace_test.golden | 2 +- .../point_to_site_vpn_gateway_test.golden | 2 +- .../postgresql_flexible_server_test.golden | 2 +- .../postgresql_server_test.golden | 2 +- .../powerbi_embedded_test.golden | 2 +- .../private_dns_a_record_test.golden | 2 +- .../private_dns_aaaa_record_test.golden | 2 +- .../private_dns_cname_record_test.golden | 2 +- .../private_dns_mx_record_test.golden | 2 +- .../private_dns_ptr_record_test.golden | 2 +- ...esolver_dns_forwarding_ruleset_test.golden | 2 +- ..._dns_resolver_inbound_endpoint_test.golden | 2 +- ...dns_resolver_outbound_endpoint_test.golden | 2 +- .../private_dns_srv_record_test.golden | 2 +- .../private_dns_txt_record_test.golden | 2 +- .../private_dns_zone_test.golden | 2 +- .../private_endpoint_test.golden | 2 +- .../public_ip_prefix_test.golden | 2 +- .../public_ip_test/public_ip_test.golden | 2 +- .../recovery_services_vault_test.golden | 2 +- .../redis_cache_test/redis_cache_test.golden | 2 +- .../search_service_test.golden | 2 +- ...ty_center_subscription_pricing_test.golden | 2 +- ...data_connector_aws_cloud_trail_test.golden | 2 +- ...nnector_azure_active_directory_test.golden | 2 +- ...ure_advanced_threat_protection_test.golden | 2 +- ...onnector_azure_security_center_test.golden | 2 +- ...r_microsoft_cloud_app_security_test.golden | 2 +- ...der_advanced_threat_protection_test.golden | 2 +- ...inel_data_connector_office_365_test.golden | 2 +- ..._connector_threat_intelligence_test.golden | 2 +- .../service_plan_test.golden | 2 +- .../servicebus_namespace_test.golden | 2 +- .../signalr_service_test.golden | 2 +- .../snapshot_test/snapshot_test.golden | 2 +- .../sql_database_test.golden | 2 +- .../sql_elasticpool_test.golden | 2 +- .../sql_managed_instance_test.golden | 2 +- .../storage_account_test.golden | 2 +- .../storage_queue_test.golden | 2 +- .../storage_share_test.golden | 2 +- .../synapse_spark_pool_test.golden | 2 +- .../synapse_sql_pool_test.golden | 2 +- .../synapse_workspace_test.golden | 2 +- ...traffic_manager_azure_endpoint_test.golden | 2 +- ...ffic_manager_external_endpoint_test.golden | 2 +- ...raffic_manager_nested_endpoint_test.golden | 2 +- .../traffic_manager_profile_test.golden | 2 +- .../virtual_hub_test/virtual_hub_test.golden | 2 +- .../virtual_machine_scale_set_test.golden | 2 +- .../virtual_machine_test.golden | 2 +- ...ual_network_gateway_connection_test.golden | 2 +- .../virtual_network_gateway_test.golden | 2 +- .../virtual_network_peering_test.golden | 2 +- .../vpn_gateway_connection_test.golden | 2 +- .../vpn_gateway_test/vpn_gateway_test.golden | 2 +- ...dows_virtual_machine_scale_set_test.golden | 2 +- .../windows_virtual_machine_test.golden | 2 +- .../artifact_registry_repository_test.golden | 2 +- .../bigquery_dataset_test.golden | 2 +- .../bigquery_table_test.golden | 2 +- .../cloudfunctions_function_test.golden | 2 +- .../compute_address_test.golden | 2 +- .../compute_disk_test.golden | 2 +- .../compute_external_vpn_gateway_test.golden | 2 +- .../compute_forwarding_rule_test.golden | 2 +- .../compute_ha_vpn_gateway_test.golden | 2 +- .../compute_image_test.golden | 2 +- ...compute_instance_group_manager_test.golden | 2 +- .../compute_instance_test.golden | 2 +- .../compute_machine_image_test.golden | 2 +- .../compute_per_instance_config_test.golden | 2 +- ..._region_instance_group_manager_test.golden | 2 +- ...ute_region_per_instance_config_test.golden | 2 +- .../compute_router_nat_test.golden | 2 +- .../compute_snapshot_test.golden | 2 +- .../compute_target_grpc_proxy_test.golden | 2 +- .../compute_vpn_gateway_test.golden | 2 +- .../compute_vpn_tunnel_test.golden | 2 +- .../container_cluster_test.golden | 2 +- .../container_node_pool_test.golden | 2 +- .../container_registry_test.golden | 2 +- .../dns_managed_zone_test.golden | 2 +- .../dns_record_set_test.golden | 2 +- .../kms_crypto_key_test.golden | 2 +- ..._billing_account_bucket_config_test.golden | 2 +- .../logging_billing_account_sink_test.golden | 2 +- .../logging_folder_bucket_config_test.golden | 2 +- .../logging_folder_sink_test.golden | 2 +- ...ing_organization_bucket_config_test.golden | 2 +- .../logging_organization_sink_test.golden | 2 +- .../logging_project_bucket_config_test.golden | 2 +- .../logging_project_sink_test.golden | 2 +- .../monitoring_metric_descriptor_test.golden | 2 +- .../pubsub_subscription_test.golden | 2 +- .../pubsub_topic_test.golden | 2 +- .../redis_instance_test.golden | 2 +- .../secret_manager_secret_test.golden | 2 +- .../secret_manager_secret_version_test.golden | 2 +- .../service_networking_connection_test.golden | 2 +- .../sql_database_instance_test.golden | 2 +- .../storage_bucket_test.golden | 2 +- 439 files changed, 470 insertions(+), 499 deletions(-) diff --git a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden index 2d7f8a58114..56d6ab4d6ec 100644 --- a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden +++ b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden @@ -47,7 +47,7 @@ Module path: single OVERALL TOTAL $3,359.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden index c9e30d44a5d..d27b8611892 100644 --- a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden +++ b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden @@ -31,7 +31,7 @@ Module path: infra/dev OVERALL TOTAL $2,045.92 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden b/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden index 3765ce42156..f700581904b 100644 --- a/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden +++ b/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden @@ -23,7 +23,7 @@ Module path: config_usage OVERALL TOTAL $13,765.36 -*Usage costs were estimated using values from the config files. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_format_table/breakdown_format_table.golden b/cmd/infracost/testdata/breakdown_format_table/breakdown_format_table.golden index 2a48c60ab1c..0d4e514b8d4 100644 --- a/cmd/infracost/testdata/breakdown_format_table/breakdown_format_table.golden +++ b/cmd/infracost/testdata/breakdown_format_table/breakdown_format_table.golden @@ -24,7 +24,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json OVERALL TOTAL $1,361.31 -*Usage costs were estimated using ./testdata/example_usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden index 0e21612f9fe..752e15ce86b 100644 --- a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden +++ b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden @@ -7,7 +7,7 @@ Errors: OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── No cloud resources were detected diff --git a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden index 45b9aef4098..0cfb7b45f40 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden @@ -31,7 +31,7 @@ Module path: prod OVERALL TOTAL $2,045.92 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden index d69956dab2c..96124683b04 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden @@ -13,7 +13,7 @@ Module path: shown OVERALL TOTAL $1,303.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden index c5806e0cb0b..86760f1e61d 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden @@ -13,7 +13,7 @@ Module path: shown OVERALL TOTAL $1,303.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden index 547bcf63466..d56f9177e2e 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden @@ -19,7 +19,7 @@ Errors: OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── No cloud resources were detected diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden index 62d2b296fdd..12d7d2d00b9 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden @@ -25,7 +25,7 @@ Module path: prod OVERALL TOTAL $1,303.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_plan_error/breakdown_plan_error.golden b/cmd/infracost/testdata/breakdown_plan_error/breakdown_plan_error.golden index 045864e687d..fa07a9d9cd8 100644 --- a/cmd/infracost/testdata/breakdown_plan_error/breakdown_plan_error.golden +++ b/cmd/infracost/testdata/breakdown_plan_error/breakdown_plan_error.golden @@ -17,7 +17,7 @@ You have two options: OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── No cloud resources were detected diff --git a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden index b726deaee14..89885f4ce6c 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden @@ -17,7 +17,7 @@ Project: infracost/infracost/examples/terraform OVERALL TOTAL $742.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden index 2d7a05d64d7..c29e2acb904 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden @@ -15,7 +15,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_director OVERALL TOTAL $757.82 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden index 2d73b50e973..7c0c36164bb 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden @@ -93,7 +93,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_director OVERALL TOTAL $10,383.92 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_fields_all/breakdown_terraform_fields_all.golden b/cmd/infracost/testdata/breakdown_terraform_fields_all/breakdown_terraform_fields_all.golden index ff3d89f90ff..5fe06334c8c 100644 --- a/cmd/infracost/testdata/breakdown_terraform_fields_all/breakdown_terraform_fields_all.golden +++ b/cmd/infracost/testdata/breakdown_terraform_fields_all/breakdown_terraform_fields_all.golden @@ -24,7 +24,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json OVERALL TOTAL $1,361.31 -*Usage costs were estimated using ./testdata/example_usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden index 391f95f4265..c5c7117456c 100644 --- a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden +++ b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden @@ -24,7 +24,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json OVERALL TOTAL $1,361.31 -*Usage costs were estimated using ./testdata/example_usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_out_file_table/infracost_output.golden b/cmd/infracost/testdata/breakdown_terraform_out_file_table/infracost_output.golden index 4864a885832..cbbb7f71248 100644 --- a/cmd/infracost/testdata/breakdown_terraform_out_file_table/infracost_output.golden +++ b/cmd/infracost/testdata/breakdown_terraform_out_file_table/infracost_output.golden @@ -38,7 +38,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json OVERALL TOTAL $1,485.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_plan_json/breakdown_terraform_plan_json.golden b/cmd/infracost/testdata/breakdown_terraform_plan_json/breakdown_terraform_plan_json.golden index 2a48c60ab1c..0d4e514b8d4 100644 --- a/cmd/infracost/testdata/breakdown_terraform_plan_json/breakdown_terraform_plan_json.golden +++ b/cmd/infracost/testdata/breakdown_terraform_plan_json/breakdown_terraform_plan_json.golden @@ -24,7 +24,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json OVERALL TOTAL $1,361.31 -*Usage costs were estimated using ./testdata/example_usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_show_skipped/breakdown_terraform_show_skipped.golden b/cmd/infracost/testdata/breakdown_terraform_show_skipped/breakdown_terraform_show_skipped.golden index 51b9f3fc542..022570dd50a 100644 --- a/cmd/infracost/testdata/breakdown_terraform_show_skipped/breakdown_terraform_show_skipped.golden +++ b/cmd/infracost/testdata/breakdown_terraform_show_skipped/breakdown_terraform_show_skipped.golden @@ -10,7 +10,7 @@ Project: infracost/infracost/cmd/infracost/testdata/express_route_gateway_plan.j OVERALL TOTAL $343.10 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/breakdown_terraform_sync_usage_file.golden b/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/breakdown_terraform_sync_usage_file.golden index 0bd3638baf2..075413d766e 100644 --- a/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/breakdown_terraform_sync_usage_file.golden +++ b/cmd/infracost/testdata/breakdown_terraform_sync_usage_file/breakdown_terraform_sync_usage_file.golden @@ -30,7 +30,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_sync_usa OVERALL TOTAL $751.12 -*Usage costs were estimated using ./testdata/breakdown_terraform_sync_usage_file/infracost-usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file/breakdown_terraform_usage_file.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file/breakdown_terraform_usage_file.golden index 2a48c60ab1c..0d4e514b8d4 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file/breakdown_terraform_usage_file.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file/breakdown_terraform_usage_file.golden @@ -24,7 +24,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json OVERALL TOTAL $1,361.31 -*Usage costs were estimated using ./testdata/example_usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden index 5745bf3c07b..651261ad7d7 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden @@ -37,7 +37,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json OVERALL TOTAL $1,921.95 -*Usage costs were estimated using ./testdata/infracost-usage-invalid-key.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden index a69654e97ec..6c0ba5fd64d 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden @@ -86,7 +86,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_usage_fi OVERALL TOTAL $22,693.38 -*Usage costs were estimated using testdata/breakdown_terraform_usage_file_wildcard_module/infracost-usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. ────────────────────────────────── 19 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_use_state_v0_12/breakdown_terraform_use_state_v0_12.golden b/cmd/infracost/testdata/breakdown_terraform_use_state_v0_12/breakdown_terraform_use_state_v0_12.golden index 0be8da0b585..295c852e566 100644 --- a/cmd/infracost/testdata/breakdown_terraform_use_state_v0_12/breakdown_terraform_use_state_v0_12.golden +++ b/cmd/infracost/testdata/breakdown_terraform_use_state_v0_12/breakdown_terraform_use_state_v0_12.golden @@ -39,7 +39,7 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.12_state.json OVERALL TOTAL $186.56 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 14 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_use_state_v0_14/breakdown_terraform_use_state_v0_14.golden b/cmd/infracost/testdata/breakdown_terraform_use_state_v0_14/breakdown_terraform_use_state_v0_14.golden index eae49108177..0b54c1c5d76 100644 --- a/cmd/infracost/testdata/breakdown_terraform_use_state_v0_14/breakdown_terraform_use_state_v0_14.golden +++ b/cmd/infracost/testdata/breakdown_terraform_use_state_v0_14/breakdown_terraform_use_state_v0_14.golden @@ -39,7 +39,7 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_state.json OVERALL TOTAL $186.56 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 14 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_v0_12/breakdown_terraform_v0_12.golden b/cmd/infracost/testdata/breakdown_terraform_v0_12/breakdown_terraform_v0_12.golden index 50902bb8b44..1b296ad887f 100644 --- a/cmd/infracost/testdata/breakdown_terraform_v0_12/breakdown_terraform_v0_12.golden +++ b/cmd/infracost/testdata/breakdown_terraform_v0_12/breakdown_terraform_v0_12.golden @@ -74,7 +74,7 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.12_plan.json OVERALL TOTAL $373.12 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 26 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_v0_14/breakdown_terraform_v0_14.golden b/cmd/infracost/testdata/breakdown_terraform_v0_14/breakdown_terraform_v0_14.golden index 51249f9c5e6..534fc540fee 100644 --- a/cmd/infracost/testdata/breakdown_terraform_v0_14/breakdown_terraform_v0_14.golden +++ b/cmd/infracost/testdata/breakdown_terraform_v0_14/breakdown_terraform_v0_14.golden @@ -74,7 +74,7 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json OVERALL TOTAL $373.12 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 26 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terraform_wrapper/breakdown_terraform_wrapper.golden b/cmd/infracost/testdata/breakdown_terraform_wrapper/breakdown_terraform_wrapper.golden index 53a27190f43..bfab6285645 100644 --- a/cmd/infracost/testdata/breakdown_terraform_wrapper/breakdown_terraform_wrapper.golden +++ b/cmd/infracost/testdata/breakdown_terraform_wrapper/breakdown_terraform_wrapper.golden @@ -17,7 +17,7 @@ Project: infracost/infracost/cmd/infracost/testdata/plan_with_terraform_wrapper. OVERALL TOTAL $742.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden index 6205a7cb50c..feb186546d4 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden @@ -41,7 +41,7 @@ Module path: prod OVERALL TOTAL $799.61 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden b/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden index c43b2d0ee80..6addcd629b4 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden @@ -13,7 +13,7 @@ Module path: dev OVERALL TOTAL $742.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden index 2fbb1d5fade..b112f2e6e9b 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden @@ -41,7 +41,7 @@ Module path: prod OVERALL TOTAL $799.61 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_config_file/breakdown_terragrunt_get_env_config_file.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env_config_file/breakdown_terragrunt_get_env_config_file.golden index fb5abb81e1a..8273b9e1e6a 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_config_file/breakdown_terragrunt_get_env_config_file.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env_config_file/breakdown_terragrunt_get_env_config_file.golden @@ -23,7 +23,7 @@ Project: prod OVERALL TOTAL $52.34 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden index 44c9a85c703..4b9e0b80b55 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden @@ -31,7 +31,7 @@ Module path: prod OVERALL TOTAL $747.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden index c795c66d47d..7e32ec93e0e 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden @@ -70,7 +70,7 @@ Module path: stag OVERALL TOTAL $1,560.25 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden index b4acb3dbdbb..556917a9854 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden @@ -17,7 +17,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps OVERALL TOTAL $90.97 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden index 1ae1c5a5df6..b260c7b09e7 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden @@ -62,7 +62,7 @@ Module path: prod2 OVERALL TOTAL $1,560.25 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden index b5aa39d3143..a9e5114bd3e 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden @@ -17,7 +17,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps OVERALL TOTAL $64.97 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden index caa63a86516..3a4e6c7af96 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden @@ -14,7 +14,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmodu OVERALL TOTAL $24.38 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden index 6205a7cb50c..feb186546d4 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden @@ -41,7 +41,7 @@ Module path: prod OVERALL TOTAL $799.61 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden index 6c3c83767d2..df59926fa81 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden @@ -41,7 +41,7 @@ Module path: prod OVERALL TOTAL $799.61 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden index 06a4edd90ea..37650ed167e 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden @@ -17,7 +17,7 @@ Project: infracost/infracost/examples/terragrunt/prod OVERALL TOTAL $747.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden b/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden index 5c0e02aa4ee..a29f01469ae 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden @@ -17,7 +17,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_iamrole OVERALL TOTAL $742.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden b/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden index cd3051a896c..077f1e1d4b3 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden @@ -31,7 +31,7 @@ Module path: eu/foo OVERALL TOTAL $2,055.92 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden b/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden index 22ee9cc92ed..9fa16689784 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden @@ -41,7 +41,7 @@ Module path: terragrunt/prod OVERALL TOTAL $799.61 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden b/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden index 403e25ffbac..261b3d4823d 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden @@ -62,7 +62,7 @@ Module path: shown OVERALL TOTAL $155.90 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden b/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden index 7e4c321b3f1..f49d24f8066 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden @@ -17,7 +17,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_source_ OVERALL TOTAL $742.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden index b59c4cd7787..62a69b792c0 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden @@ -41,7 +41,7 @@ Module path: prod OVERALL TOTAL $799.61 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden index 19763710787..952d3e56be7 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden @@ -18,7 +18,7 @@ Module path: prod OVERALL TOTAL $747.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden index 9e6749c5836..4bb8af97f48 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden @@ -13,7 +13,7 @@ Module path: infra/us-east-1/dev OVERALL TOTAL $630.14 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden index dcf4861d582..7d4f32cdcb5 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden @@ -156,7 +156,7 @@ Module path: ref2 OVERALL TOTAL $5,290.62 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 115 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden b/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden index 2d9520e4849..1d9e7c360d6 100644 --- a/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden +++ b/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden @@ -18,7 +18,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_actual_costs OVERALL TOTAL $70,002.42 -*Usage costs were estimated with usage defaults from Infracost Cloud, which can also be overridden in this repo. +*Usage costs were estimated using Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden b/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden index 75eb0e4e63d..e61a7f6de23 100644 --- a/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden +++ b/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden @@ -31,7 +31,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_data_blocks_i OVERALL TOTAL $32.85 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden b/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden index 75893b6df1a..b515684357e 100644 --- a/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden +++ b/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden @@ -4,7 +4,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_deep_merge_mo OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── No cloud resources were detected diff --git a/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden b/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden index 1c0abe43e76..c9b9441c26a 100644 --- a/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden +++ b/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden @@ -10,7 +10,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_depends_upon_ OVERALL TOTAL $7.30 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden b/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden index ca6207c2b8c..08eeb05d1be 100644 --- a/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden +++ b/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden @@ -26,7 +26,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_dynamic_itera OVERALL TOTAL $1,662.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden b/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden index 968c49e3209..7ca2d282eea 100644 --- a/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden +++ b/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden @@ -18,7 +18,7 @@ Module path: dev OVERALL TOTAL $1,581.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden b/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden index 4705321f968..aac681a9277 100644 --- a/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden +++ b/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden @@ -14,7 +14,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_mocked_merge OVERALL TOTAL $1,122.88 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden b/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden index fc85eb8553a..093fcb7572a 100644 --- a/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden +++ b/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden @@ -28,7 +28,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_multiple_prov OVERALL TOTAL $1,683.67 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden b/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden index dbddcd2aedc..77f64579add 100644 --- a/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden +++ b/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden @@ -12,7 +12,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_foreac OVERALL TOTAL $65.70 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden b/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden index 6975c55b14b..ed6cf382cf3 100644 --- a/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden +++ b/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden @@ -9,7 +9,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_provid OVERALL TOTAL $10.56 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden b/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden index 0ccf90a4a58..64ee3683fd0 100644 --- a/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden +++ b/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden @@ -28,7 +28,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_optional_vari OVERALL TOTAL $29.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden index 263fd5e741a..8db00b4c594 100644 --- a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden +++ b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden @@ -34,7 +34,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terra OVERALL TOTAL $56.84 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden b/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden index 16271f953cb..39397f8bef2 100644 --- a/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden +++ b/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden @@ -14,7 +14,7 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_providers_dep OVERALL TOTAL $19.35 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/breakdown_with_target/breakdown_with_target.golden b/cmd/infracost/testdata/breakdown_with_target/breakdown_with_target.golden index dd94e78e0a6..a68d0953a02 100644 --- a/cmd/infracost/testdata/breakdown_with_target/breakdown_with_target.golden +++ b/cmd/infracost/testdata/breakdown_with_target/breakdown_with_target.golden @@ -9,7 +9,7 @@ Project: infracost/infracost/cmd/infracost/testdata/plan_with_target.json OVERALL TOTAL $16.18 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden b/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden index 0dda404098f..524ea47e898 100644 --- a/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden +++ b/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden @@ -13,7 +13,7 @@ Workspace: prod OVERALL TOTAL $1,303.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden b/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden index fb8a3b45823..21a4fe3043c 100644 --- a/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden +++ b/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -116,7 +116,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden b/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden index a89400f6552..f56586ed28d 100644 --- a/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden +++ b/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden @@ -8,7 +8,7 @@ | ----------- | --------------: | --------------: | --------------: | --------------: | | infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options. ##### Cost details ##### @@ -100,7 +100,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden b/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden index 0af98b5e575..70acca23c07 100644 --- a/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden +++ b/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden @@ -8,7 +8,7 @@ | ----------- | --------------: | --------------: | --------------: | --------------: | | infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options. Cost details were left out because expandable comment sections are not supported. diff --git a/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden b/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden index 1e1110a5cde..2e219a98bf2 100644 --- a/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden +++ b/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden @@ -8,7 +8,7 @@ | ----------- | --------------: | --------------: | --------------: | --------------: | | infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options. ##### Cost details ##### @@ -100,7 +100,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden b/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden index 3eae23c9f9f..9e69dea5dfc 100644 --- a/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden +++ b/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -116,7 +116,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden b/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden index dbb094d61ab..00fcc258719 100644 --- a/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden +++ b/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -116,7 +116,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden index e1f4d4da7c2..709812efdcd 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden @@ -30,7 +30,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -123,7 +123,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden index fd417baf5a7..1d6252beed4 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details diff --git a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden index bc534ae9f78..f6fe3f65ead 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details diff --git a/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden b/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden index 1b9cc170c45..ea4e062b382 100644 --- a/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden +++ b/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -116,7 +116,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden b/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden index bff802ce400..b86765d586d 100644 --- a/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden +++ b/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -116,7 +116,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden index 75778e584ed..95a7ea072b4 100644 --- a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden +++ b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden @@ -1,7 +1,7 @@ OVERALL TOTAL - -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. Err: diff --git a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden index 95f73fd6dfc..7ced48c2851 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden @@ -28,7 +28,7 @@ Amount: +$743 ($0.00 → $743) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 1 cloud resource was detected: ∙ 1 was estimated diff --git a/cmd/infracost/testdata/diff_project_name/diff_project_name.golden b/cmd/infracost/testdata/diff_project_name/diff_project_name.golden index 6a262294f28..e9c389d576a 100644 --- a/cmd/infracost/testdata/diff_project_name/diff_project_name.golden +++ b/cmd/infracost/testdata/diff_project_name/diff_project_name.golden @@ -186,7 +186,7 @@ Percent: -57% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 18 cloud resources were detected: ∙ 18 were estimated diff --git a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden index 4e89b171ad9..0bd6f359d4a 100644 --- a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden +++ b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden @@ -43,7 +43,7 @@ Amount: +$743 ($0.00 → $743) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 2 cloud resources were detected: ∙ 2 were estimated diff --git a/cmd/infracost/testdata/diff_terraform_out_file/infracost_output.golden b/cmd/infracost/testdata/diff_terraform_out_file/infracost_output.golden index 7c95c508055..fb662ffc184 100644 --- a/cmd/infracost/testdata/diff_terraform_out_file/infracost_output.golden +++ b/cmd/infracost/testdata/diff_terraform_out_file/infracost_output.golden @@ -102,7 +102,7 @@ Amount: +$1,485 ($0.00 → $1,485) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 5 cloud resources were detected: ∙ 5 were estimated diff --git a/cmd/infracost/testdata/diff_terraform_plan_json/diff_terraform_plan_json.golden b/cmd/infracost/testdata/diff_terraform_plan_json/diff_terraform_plan_json.golden index 09378a41aa9..b3b3ab2e309 100644 --- a/cmd/infracost/testdata/diff_terraform_plan_json/diff_terraform_plan_json.golden +++ b/cmd/infracost/testdata/diff_terraform_plan_json/diff_terraform_plan_json.golden @@ -62,7 +62,7 @@ Amount: +$1,361 ($0.00 → $1,361) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs were estimated using ./testdata/example_usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. 5 cloud resources were detected: ∙ 5 were estimated diff --git a/cmd/infracost/testdata/diff_terraform_show_skipped/diff_terraform_show_skipped.golden b/cmd/infracost/testdata/diff_terraform_show_skipped/diff_terraform_show_skipped.golden index 6801d0ee65d..7f7920cfc01 100644 --- a/cmd/infracost/testdata/diff_terraform_show_skipped/diff_terraform_show_skipped.golden +++ b/cmd/infracost/testdata/diff_terraform_show_skipped/diff_terraform_show_skipped.golden @@ -21,7 +21,7 @@ Amount: +$343 ($0.00 → $343) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 8 cloud resources were detected: ∙ 2 were estimated diff --git a/cmd/infracost/testdata/diff_terraform_usage_file/diff_terraform_usage_file.golden b/cmd/infracost/testdata/diff_terraform_usage_file/diff_terraform_usage_file.golden index 09378a41aa9..b3b3ab2e309 100644 --- a/cmd/infracost/testdata/diff_terraform_usage_file/diff_terraform_usage_file.golden +++ b/cmd/infracost/testdata/diff_terraform_usage_file/diff_terraform_usage_file.golden @@ -62,7 +62,7 @@ Amount: +$1,361 ($0.00 → $1,361) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs were estimated using ./testdata/example_usage.yml. +*Usage costs were estimated using infracost-usage.yml, see docs for other options. 5 cloud resources were detected: ∙ 5 were estimated diff --git a/cmd/infracost/testdata/diff_terraform_v0_12/diff_terraform_v0_12.golden b/cmd/infracost/testdata/diff_terraform_v0_12/diff_terraform_v0_12.golden index 83297f916f9..095a337bcd9 100644 --- a/cmd/infracost/testdata/diff_terraform_v0_12/diff_terraform_v0_12.golden +++ b/cmd/infracost/testdata/diff_terraform_v0_12/diff_terraform_v0_12.golden @@ -88,7 +88,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/diff_terraform_v0_14/diff_terraform_v0_14.golden b/cmd/infracost/testdata/diff_terraform_v0_14/diff_terraform_v0_14.golden index 9e3e6ffdcf2..55fa8eff6bf 100644 --- a/cmd/infracost/testdata/diff_terraform_v0_14/diff_terraform_v0_14.golden +++ b/cmd/infracost/testdata/diff_terraform_v0_14/diff_terraform_v0_14.golden @@ -88,7 +88,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/diff_terragrunt/diff_terragrunt.golden b/cmd/infracost/testdata/diff_terragrunt/diff_terragrunt.golden index 5dfc1012cf6..a0c21a78341 100644 --- a/cmd/infracost/testdata/diff_terragrunt/diff_terragrunt.golden +++ b/cmd/infracost/testdata/diff_terragrunt/diff_terragrunt.golden @@ -85,7 +85,7 @@ Amount: +$748 ($0.00 → $748) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 4 cloud resources were detected: ∙ 4 were estimated diff --git a/cmd/infracost/testdata/diff_terragrunt_nested/diff_terragrunt_nested.golden b/cmd/infracost/testdata/diff_terragrunt_nested/diff_terragrunt_nested.golden index abfce4b3c72..1b093b58cdb 100644 --- a/cmd/infracost/testdata/diff_terragrunt_nested/diff_terragrunt_nested.golden +++ b/cmd/infracost/testdata/diff_terragrunt_nested/diff_terragrunt_nested.golden @@ -85,7 +85,7 @@ Amount: +$748 ($0.00 → $748) ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 4 cloud resources were detected: ∙ 4 were estimated diff --git a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden index a435db46660..ebfd902c22d 100644 --- a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden @@ -35,7 +35,7 @@ Percent: -36% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 1 cloud resource was detected: ∙ 1 was estimated diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden index 7cc5a4ef340..b685256e698 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden @@ -31,7 +31,7 @@ Percent: +75% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 2 cloud resources were detected: ∙ 2 were estimated diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden index 2d6935ec29d..b28c34dac86 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden @@ -43,7 +43,7 @@ Percent: +75% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 1 cloud resource was detected: ∙ 1 was estimated diff --git a/cmd/infracost/testdata/diff_with_infracost_json/diff_with_infracost_json.golden b/cmd/infracost/testdata/diff_with_infracost_json/diff_with_infracost_json.golden index f6919e91086..43ab55fb483 100644 --- a/cmd/infracost/testdata/diff_with_infracost_json/diff_with_infracost_json.golden +++ b/cmd/infracost/testdata/diff_with_infracost_json/diff_with_infracost_json.golden @@ -35,7 +35,7 @@ Percent: -36% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 1 cloud resource was detected: ∙ 1 was estimated diff --git a/cmd/infracost/testdata/diff_with_target/diff_with_target.golden b/cmd/infracost/testdata/diff_with_target/diff_with_target.golden index fce71282f90..93c6576e8d9 100644 --- a/cmd/infracost/testdata/diff_with_target/diff_with_target.golden +++ b/cmd/infracost/testdata/diff_with_target/diff_with_target.golden @@ -16,7 +16,7 @@ Percent: +88% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 1 cloud resource was detected: ∙ 1 was estimated diff --git a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden index be7226e9001..1662ccf56ee 100644 --- a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden +++ b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden @@ -19,7 +19,7 @@ Workspace: dev OVERALL TOTAL $742.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden index e5838fa2709..ceda1a63654 100644 --- a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden +++ b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden @@ -18,7 +18,7 @@ Workspace: prod OVERALL TOTAL $742.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden index 02e02ef1747..d50e0820e3c 100644 --- a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden +++ b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden @@ -9,7 +9,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock OVERALL TOTAL $73.80 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden index bed1fbb41e1..831d9b408ef 100644 --- a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden +++ b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden @@ -20,7 +20,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_count OVERALL TOTAL $933.11 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden index f9f26e8c9cf..0cbba79bde7 100644 --- a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden +++ b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden @@ -20,7 +20,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_for_each OVERALL TOTAL $933.11 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden index 95ae67dc71d..90bd0a403d4 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden @@ -4,7 +4,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── No cloud resources were detected diff --git a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden index 55dd743d048..d2b41ebafc7 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden @@ -4,7 +4,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts_nest OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── No cloud resources were detected diff --git a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden index 0c64c4dd6c5..699d160972c 100644 --- a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden +++ b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden @@ -12,7 +12,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_reevaluated_on_inp OVERALL TOTAL $742.64 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden index 60f766ea27f..310ef7e4f54 100644 --- a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden +++ b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden @@ -16,7 +16,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_relative_filesets OVERALL TOTAL $205.78 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden index 2d7bfb3d193..4d657c46b5f 100644 --- a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden +++ b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden @@ -107,7 +107,7 @@ Module path: prod OVERALL TOTAL $264.23 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 52 cloud resources were detected: diff --git a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden index df6ecbcf96a..1e33be8297a 100644 --- a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden +++ b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden @@ -17,7 +17,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmulti_var_files OVERALL TOTAL $1,836.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden index fcd7993b63b..37ceb41d1e8 100644 --- a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden +++ b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden @@ -41,7 +41,7 @@ Workspace: yellow OVERALL TOTAL $1,485.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or usage files in the config file. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden index 154aa931bcc..7a7a5c5d5dd 100644 --- a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden +++ b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden @@ -12,7 +12,7 @@ Project: infracost/infracost/cmd/infracost/testdata/hclprovider_alias OVERALL TOTAL $100.74 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/instance_with_attachment_after_deploy/instance_with_attachment_after_deploy.golden b/cmd/infracost/testdata/instance_with_attachment_after_deploy/instance_with_attachment_after_deploy.golden index 7591493af07..5228a76ce42 100644 --- a/cmd/infracost/testdata/instance_with_attachment_after_deploy/instance_with_attachment_after_deploy.golden +++ b/cmd/infracost/testdata/instance_with_attachment_after_deploy/instance_with_attachment_after_deploy.golden @@ -12,7 +12,7 @@ Project: infracost/infracost/cmd/infracost/testdata/instance_with_attachment_aft OVERALL TOTAL $17.83 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/instance_with_attachment_before_deploy/instance_with_attachment_before_deploy.golden b/cmd/infracost/testdata/instance_with_attachment_before_deploy/instance_with_attachment_before_deploy.golden index ea023dc213b..af5d61ef120 100644 --- a/cmd/infracost/testdata/instance_with_attachment_before_deploy/instance_with_attachment_before_deploy.golden +++ b/cmd/infracost/testdata/instance_with_attachment_before_deploy/instance_with_attachment_before_deploy.golden @@ -12,7 +12,7 @@ Project: infracost/infracost/cmd/infracost/testdata/instance_with_attachment_bef OVERALL TOTAL $17.83 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden b/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden index 1c9258ebb34..53ac29e528a 100644 --- a/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden +++ b/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden @@ -30,7 +30,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -182,7 +182,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden index 1c9258ebb34..53ac29e528a 100644 --- a/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden @@ -30,7 +30,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -182,7 +182,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden b/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden index 94abeed6e4b..2dd9ec4a3fd 100644 --- a/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden +++ b/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden @@ -13,7 +13,7 @@ | my terragrunt workspace | prod | -$561 | - | -$561 (-43%) | $748 | | my workspace project | | -$561 | - | -$561 (-43%) | $743 | -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options. ##### Cost details ##### @@ -105,7 +105,7 @@ Percent: -43% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 18 cloud resources were detected: ∙ 18 were estimated diff --git a/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden b/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden index 1c9258ebb34..53ac29e528a 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden @@ -30,7 +30,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -182,7 +182,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden index 1c9258ebb34..53ac29e528a 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden @@ -30,7 +30,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -182,7 +182,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden b/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden index b347f99d25e..cd547490f36 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden @@ -44,7 +44,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -196,7 +196,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden index 2a20cf4e2e4..6a243ffda69 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details (includes details of skipped projects due to errors) @@ -69,7 +69,7 @@ Errors: ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 1 cloud resource was detected: ∙ 1 was estimated diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden index d5fa39f55ed..a71b2c6232b 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden @@ -51,7 +51,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -128,7 +128,7 @@ Percent: -43% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 10 cloud resources were detected: ∙ 10 were estimated diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden index f5805122896..804d7883126 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden @@ -72,7 +72,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -168,7 +168,7 @@ Percent: -43% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 12 cloud resources were detected: ∙ 12 were estimated diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden b/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden index 47e49c00c97..9ab4ad18fea 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden @@ -23,7 +23,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -54,7 +54,7 @@ Percent: 0% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ```
diff --git a/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden b/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden index 1c9258ebb34..53ac29e528a 100644 --- a/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden +++ b/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden @@ -30,7 +30,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -182,7 +182,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden index 1c9258ebb34..53ac29e528a 100644 --- a/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden @@ -30,7 +30,7 @@ -*Usage costs can be estimated by adding [usage defaults](https://www.infracost.io/docs/features/usage_based_resources) or an [infracost-usage.yml](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml). +*Usage costs can be estimated by updating [Infracost Cloud settings](https://www.infracost.io/docs/features/usage_based_resources), see [docs](https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml) for other options.
Cost details @@ -182,7 +182,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: ∙ 14 were estimated diff --git a/cmd/infracost/testdata/output_format_slack_message/output_format_slack_message.golden b/cmd/infracost/testdata/output_format_slack_message/output_format_slack_message.golden index e1b26aced5d..a9cdb9f4224 100644 --- a/cmd/infracost/testdata/output_format_slack_message/output_format_slack_message.golden +++ b/cmd/infracost/testdata/output_format_slack_message/output_format_slack_message.golden @@ -7,7 +7,7 @@ "type": "section", "text": { "type": "mrkdwn", - "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\n\n+ module.db.module.db_2.module.db_instance.aws_db_instance.this[0]\n +$13\n\n + Database instance (on-demand, Single-AZ, db.t3.micro)\n +$12\n\n + Storage (general purpose SSD, gp2)\n +$0.58\n\n+ aws_instance.instance_2\n +$5\n\n + Instance\n\n...(truncated due to Slack message length)...\n\n, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_named[\"test.2\"]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\nAmount: +$41 ($41 → $81)\nPercent: +100%\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml.\n\n26 cloud resources were detected:\n∙ 14 were estimated\n∙ 12 were free\n\nInfracost estimate: Monthly cost will increase by $1,402 ↑\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓\n┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫\n┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃\n┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛```" + "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\n\n+ module.db.module.db_2.module.db_instance.aws_db_instance.this[0]\n +$13\n\n + Database instance (on-demand, Single-AZ, db.t3.micro)\n +$12\n\n + Storage (general purpose SSD, gp2)\n +$0.58\n\n+ aws_instance.instance_2\n +$5\n\n + Instance\n\n...(truncated due to Slack message length)...\n\n-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_named[\"test.2\"]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\nAmount: +$41 ($41 → $81)\nPercent: +100%\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.\n\n26 cloud resources were detected:\n∙ 14 were estimated\n∙ 12 were free\n\nInfracost estimate: Monthly cost will increase by $1,402 ↑\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓\n┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫\n┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃\n┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛```" } } ] diff --git a/cmd/infracost/testdata/output_format_slack_message_more_projects/output_format_slack_message_more_projects.golden b/cmd/infracost/testdata/output_format_slack_message_more_projects/output_format_slack_message_more_projects.golden index b4a0868101c..330f67810f3 100644 --- a/cmd/infracost/testdata/output_format_slack_message_more_projects/output_format_slack_message_more_projects.golden +++ b/cmd/infracost/testdata/output_format_slack_message_more_projects/output_format_slack_message_more_projects.golden @@ -7,7 +7,7 @@ "type": "section", "text": { "type": "mrkdwn", - "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n \n\n...(truncated due to Slack message length)...\n\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml.\n```" + "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n \n\n...(truncated due to Slack message length)...\n\nio1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.\n```" } } ] diff --git a/cmd/infracost/testdata/output_format_slack_message_multiple_skipped/output_format_slack_message_multiple_skipped.golden b/cmd/infracost/testdata/output_format_slack_message_multiple_skipped/output_format_slack_message_multiple_skipped.golden index 023a010ee04..e3dcc0736f8 100644 --- a/cmd/infracost/testdata/output_format_slack_message_multiple_skipped/output_format_slack_message_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_slack_message_multiple_skipped/output_format_slack_message_multiple_skipped.golden @@ -7,7 +7,7 @@ "type": "section", "text": { "type": "mrkdwn", - "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\n\n+ module.db.module.db_2.module.db_instance.aws_db_instance.this[0]\n +$13\n\n + Database instance (on-demand, Single-AZ, db.t3.micro)\n +$12\n\n + Storage (general purpose SSD, gp2)\n +$0.58\n\n+ aws_instance.instance_2\n +$5\n\n + Instance\n\n...(truncated due to Slack message length)...\n\n, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_named[\"test.2\"]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\nAmount: +$41 ($41 → $81)\nPercent: +100%\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml.\n\n26 cloud resources were detected:\n∙ 14 were estimated\n∙ 12 were free\n\nInfracost estimate: Monthly cost will increase by $1,402 ↑\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓\n┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫\n┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃\n┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛```" + "text": "*Infracost output*\n```Key: * usage cost, ~ changed, + added, - removed\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata\n\n+ aws_instance.web_app\n +$743\n\n + Instance usage (Linux/UNIX, on-demand, m5.4xlarge)\n +$561\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.hello_world\n +$437\n\n + Requests\n +$20\n\n + Duration\n +$417\n\n+ aws_instance.zero_cost_instance\n +$182\n\n + Instance usage (Linux/UNIX, reserved, m5.4xlarge)\n $0.00\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$5\n\n + ebs_block_device[0]\n \n + Storage (provisioned IOPS SSD, io1)\n +$125\n \n + Provisioned IOPS\n +$52\n\n+ aws_lambda_function.zero_cost_lambda\n $0.00\n\n+ aws_s3_bucket.usage\n $0.00\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata\nAmount: +$1,361 ($0.00 → $1,361)\n\n──────────────────────────────────\nProject: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\n\n+ module.db.module.db_2.module.db_instance.aws_db_instance.this[0]\n +$13\n\n + Database instance (on-demand, Single-AZ, db.t3.micro)\n +$12\n\n + Storage (general purpose SSD, gp2)\n +$0.58\n\n+ aws_instance.instance_2\n +$5\n\n + Instance\n\n...(truncated due to Slack message length)...\n\n-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\n+ module.instances.aws_instance.module_instance_named[\"test.2\"]\n +$5\n\n + Instance usage (Linux/UNIX, on-demand, t3.nano)\n +$4\n\n + root_block_device\n \n + Storage (general purpose SSD, gp2)\n +$0.80\n\nMonthly cost change for infracost/infracost/cmd/infracost/testdata/terraform_v0.14_plan.json\nAmount: +$41 ($41 → $81)\nPercent: +100%\n\n──────────────────────────────────\nKey: * usage cost, ~ changed, + added, - removed\n\n*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options.\n\n26 cloud resources were detected:\n∙ 14 were estimated\n∙ 12 were free\n\nInfracost estimate: Monthly cost will increase by $1,402 ↑\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓\n┃ Changed project ┃ Baseline cost ┃ Usage cost ┃ Total change ┃\n┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫\n┃ infracost/infracost/cmd/infracost/testdata ┃ +$1,361 ┃ - ┃ +$1,361 ┃\n┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃ +$41 ┃ - ┃ +$41 (+100%) ┃\n┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛```" } } ] diff --git a/cmd/infracost/testdata/output_format_table/output_format_table.golden b/cmd/infracost/testdata/output_format_table/output_format_table.golden index 9f648ef8a8a..107022cec7c 100644 --- a/cmd/infracost/testdata/output_format_table/output_format_table.golden +++ b/cmd/infracost/testdata/output_format_table/output_format_table.golden @@ -56,7 +56,7 @@ Project: infracost/infracost/cmd/infracost/testdata/azure_firewall_plan.json OVERALL TOTAL $5,379.96 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ diff --git a/cmd/infracost/testdata/output_format_table_with_error/output_format_table_with_error.golden b/cmd/infracost/testdata/output_format_table_with_error/output_format_table_with_error.golden index b4df2f12f0b..4b24467bb42 100644 --- a/cmd/infracost/testdata/output_format_table_with_error/output_format_table_with_error.golden +++ b/cmd/infracost/testdata/output_format_table_with_error/output_format_table_with_error.golden @@ -25,7 +25,7 @@ Module path: prod OVERALL TOTAL $1,303.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/cmd/infracost/testdata/output_jsonarray_path/output_jsonarray_path.golden b/cmd/infracost/testdata/output_jsonarray_path/output_jsonarray_path.golden index a9e88598789..29bb30a5420 100644 --- a/cmd/infracost/testdata/output_jsonarray_path/output_jsonarray_path.golden +++ b/cmd/infracost/testdata/output_jsonarray_path/output_jsonarray_path.golden @@ -142,7 +142,7 @@ Project: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_nochange_pla OVERALL TOTAL $1,482.99 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 26 cloud resources were detected: diff --git a/cmd/infracost/testdata/output_terraform_fields_all/output_terraform_fields_all.golden b/cmd/infracost/testdata/output_terraform_fields_all/output_terraform_fields_all.golden index 058c3bdcb33..a57609e9447 100644 --- a/cmd/infracost/testdata/output_terraform_fields_all/output_terraform_fields_all.golden +++ b/cmd/infracost/testdata/output_terraform_fields_all/output_terraform_fields_all.golden @@ -56,7 +56,7 @@ Project: infracost/infracost/cmd/infracost/testdata/azure_firewall_plan.json OVERALL TOTAL $5,379.96 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ diff --git a/cmd/infracost/testdata/output_terraform_out_file_table/infracost_output.golden b/cmd/infracost/testdata/output_terraform_out_file_table/infracost_output.golden index 4ee076ccaff..b4a66160c9e 100644 --- a/cmd/infracost/testdata/output_terraform_out_file_table/infracost_output.golden +++ b/cmd/infracost/testdata/output_terraform_out_file_table/infracost_output.golden @@ -24,7 +24,7 @@ Project: infracost/infracost/cmd/infracost/testdata OVERALL TOTAL $1,361.31 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ diff --git a/internal/output/markdown.go b/internal/output/markdown.go index f98dbd5ee78..01aa6dbcadc 100644 --- a/internal/output/markdown.go +++ b/internal/output/markdown.go @@ -341,7 +341,6 @@ func hasCodeChanges(options Options, project Project) bool { } var ( - configFileDocsURL = "https://www.infracost.io/docs/features/config_file/" usageFileDocsURL = "https://www.infracost.io/docs/features/usage_based_resources/#infracost-usageyml" usageDefaultsDocsURL = "https://www.infracost.io/docs/features/usage_based_resources" usageDefaultsDashboardSuffix = "settings/usage-defaults" @@ -356,67 +355,40 @@ func usageCostsMessage(out Root, useLinks bool) string { return handleUsageApiEnabledMessage(out, useLinks) } -func usageDefaultsStr(out Root, useMarkdownLinks bool) string { +func cloudSettingsStr(out Root, useMarkdownLinks bool) string { if !useMarkdownLinks { - return "usage defaults from Infracost Cloud" + return "Infracost Cloud settings" } usageDefaultsURL := usageDefaultsDocsURL match := cloudURLRegex.FindStringSubmatch(out.CloudURL) if len(match) > 0 { usageDefaultsURL = match[0] + usageDefaultsDashboardSuffix } - return fmt.Sprintf("[usage defaults](%s)", usageDefaultsURL) + return fmt.Sprintf("[Infracost Cloud settings](%s)", usageDefaultsURL) } -func configFilesStr(useMarkdownLinks bool) string { +func usageDocsStr(useMarkdownLinks bool) string { if !useMarkdownLinks { - return "config files" + return "docs" } - return fmt.Sprintf("[config files](%s)", configFileDocsURL) -} - -func usageFileStr(name string, useMarkdownLinks bool) string { - if !useMarkdownLinks { - return name - } - - return fmt.Sprintf("[%s](%s)", name, usageFileDocsURL) + return fmt.Sprintf("[docs](%s)", usageFileDocsURL) } func handleUsageApiEnabledMessage(out Root, useMarkdownLinks bool) string { - if out.Metadata.ConfigFilePath != "" { - return constructConfigFilePathMessage(out, useMarkdownLinks) - } - - if out.Metadata.UsageFilePath != "" { - return fmt.Sprintf("*Usage costs were estimated by merging %s and values from %s.", usageDefaultsStr(out, useMarkdownLinks), usageFileStr(out.Metadata.UsageFilePath, useMarkdownLinks)) + if out.Metadata.UsageFilePath != "" || out.Metadata.ConfigFileHasUsageFile { + return fmt.Sprintf("*Usage costs were estimated by merging infracost-usage.yml and %s.", cloudSettingsStr(out, useMarkdownLinks)) } - return fmt.Sprintf("*Usage costs were estimated with %s, which can also be %s in this repo.", usageDefaultsStr(out, useMarkdownLinks), usageFileStr("overridden", useMarkdownLinks)) -} - -func constructConfigFilePathMessage(out Root, useMarkdownLinks bool) string { - if out.Metadata.ConfigFileHasUsageFile { - return fmt.Sprintf("*Usage costs were estimated by merging %s and values from the %s.", usageDefaultsStr(out, useMarkdownLinks), configFilesStr(useMarkdownLinks)) - } - - return fmt.Sprintf("*Usage costs were estimated with %s, which can also be overridden in an %s.", usageDefaultsStr(out, useMarkdownLinks), usageFileStr("infracost-usage.yml", useMarkdownLinks)) + return fmt.Sprintf("*Usage costs were estimated using %s, see %s for other options.", cloudSettingsStr(out, useMarkdownLinks), usageDocsStr(useMarkdownLinks)) } func handleUsageApiDisabledMessage(out Root, useMarkdownLinks bool) string { - if out.Metadata.ConfigFilePath != "" { - if out.Metadata.ConfigFileHasUsageFile { - return fmt.Sprintf("*Usage costs were estimated using values from the %s.", configFilesStr(useMarkdownLinks)) - } - return fmt.Sprintf("*Usage costs can be estimated by adding %s or %s in the config file.", usageDefaultsStr(out, useMarkdownLinks), usageFileStr("usage files", useMarkdownLinks)) - } - - if out.Metadata.UsageFilePath != "" { - return fmt.Sprintf("*Usage costs were estimated using %s.", usageFileStr(out.Metadata.UsageFilePath, useMarkdownLinks)) + if out.Metadata.UsageFilePath != "" || out.Metadata.ConfigFileHasUsageFile { + return fmt.Sprintf("*Usage costs were estimated using infracost-usage.yml, see %s for other options.", usageDocsStr(useMarkdownLinks)) } - return fmt.Sprintf("*Usage costs can be estimated by adding %s or an %s.", usageDefaultsStr(out, useMarkdownLinks), usageFileStr("infracost-usage.yml", useMarkdownLinks)) + return fmt.Sprintf("*Usage costs can be estimated by updating %s, see %s for other options.", cloudSettingsStr(out, useMarkdownLinks), usageDocsStr(useMarkdownLinks)) } func costsDetailsMessage(out Root) string { diff --git a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden index d2021b694d3..dde2b4618dd 100644 --- a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden +++ b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $0.75 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden index b1142a5a670..7a6eefa8274 100644 --- a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden +++ b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden @@ -30,7 +30,7 @@ OVERALL TOTAL $11,420.06 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden index 75f975ca4ce..d76da01d8dd 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden @@ -12,7 +12,7 @@ OVERALL TOTAL $49,763.10 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden index 01fbfc5fcc2..cefc8eeab40 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $2,788.60 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden index 1008fa3ad8b..c536fa7f45d 100644 --- a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden +++ b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $2,332.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden index e6d02975e31..7152d374558 100644 --- a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden +++ b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden @@ -186,7 +186,7 @@ OVERALL TOTAL $3,584.96 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 53 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden index f3a22cdabe3..8380da537d7 100644 --- a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden +++ b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden @@ -31,7 +31,7 @@ OVERALL TOTAL $12,960.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden index e9cb485f581..df938f7afd6 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden @@ -10,7 +10,7 @@ OVERALL TOTAL $9.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden index bf0f5333105..2acc1d3f31c 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden @@ -10,7 +10,7 @@ OVERALL TOTAL $9.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden index 6400e029519..52f5acb9af7 100644 --- a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden @@ -176,7 +176,7 @@ OVERALL TOTAL $21,684,502.45 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden index 2395f7cad6c..d904c457916 100644 --- a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $1,328.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden index 47a371550e0..7b994b44172 100644 --- a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden @@ -20,7 +20,7 @@ OVERALL TOTAL $3.25 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden index 8b7d5b3e155..c6c355975c9 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $3.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden index 25bb6aeabd0..e0d22f7b981 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $17.70 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden index dfd47bc0b5e..8ee7b2100b2 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden @@ -28,7 +28,7 @@ OVERALL TOTAL $2,065.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden index ec30357df73..d86d0bde587 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $1.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden index 8572af3e060..7fd414f035b 100644 --- a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden +++ b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $5,705.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden index 0b196e93606..fe01adbdb37 100644 --- a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $670.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden index d8f10dcc9f6..4f9621aeb4d 100644 --- a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden +++ b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $9.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden index 7fc4a3ed8c0..75f50aa05a5 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $470.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden index 64318a01cb5..c10cf030aa6 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $470.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden index 2f8e75bffa3..2f3b9a04bac 100644 --- a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden +++ b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden @@ -220,7 +220,7 @@ OVERALL TOTAL $363,014.51 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 27 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden index 3168beeff6a..73284e323bd 100644 --- a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden @@ -308,7 +308,7 @@ OVERALL TOTAL $11,880.39 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 68 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden index 910e8f8ad5c..079eb1f55fd 100644 --- a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden +++ b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden @@ -27,7 +27,7 @@ OVERALL TOTAL $1,295.02 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden index a3c4545b1f7..22f84f910db 100644 --- a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden +++ b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden @@ -10,7 +10,7 @@ OVERALL TOTAL $44.02 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden index e4cb194a51f..6521eb9e105 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden @@ -37,7 +37,7 @@ OVERALL TOTAL $3,872.92 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden index 33119e3e6ab..3a0f21c74b5 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $42.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden index abf4ccda757..4fd50e0837c 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $420.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden index 0aabfa04c58..5b6338c5728 100644 --- a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $959.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden index b4b971086a3..c390c552ffb 100644 --- a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $75.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden index d8df984b0ad..da1e9da54bb 100644 --- a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden +++ b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden @@ -69,7 +69,7 @@ OVERALL TOTAL $762.82 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 11 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden index 1cf42453274..3ce08e910af 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $2.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden index ec17049c99b..f53c5e24f7d 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden @@ -20,7 +20,7 @@ OVERALL TOTAL $78.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden index efe47477c4a..df0806d1f82 100644 --- a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden @@ -33,7 +33,7 @@ OVERALL TOTAL $60.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden index ce9646002ea..66d7baca8df 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $36.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden index e32061dd3d8..b1d491b4cf2 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $73.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden index 4d4e6974078..29f51b827b6 100644 --- a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden @@ -27,7 +27,7 @@ OVERALL TOTAL $8,391.35 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden index 33bcdf7b611..f84b00361a0 100644 --- a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $10.95 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden index 6fb0685c86b..a8c4f407cc2 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $36.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden index f324086522b..217f39aae7c 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden @@ -7,7 +7,7 @@ OVERALL TOTAL $36.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden index 8a247da4903..a3f430ae61f 100644 --- a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden +++ b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $0.10 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden index d8149a630be..9fba3604009 100644 --- a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden +++ b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden @@ -43,7 +43,7 @@ OVERALL TOTAL $2,349.16 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 22 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden index 337200ffd7c..79749719c7f 100644 --- a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden @@ -28,7 +28,7 @@ OVERALL TOTAL $712.63 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden index 9c9dece89d1..136adff589f 100644 --- a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden +++ b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $84.09 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden index 57a5b04a3f1..eba351089ff 100644 --- a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden @@ -27,7 +27,7 @@ OVERALL TOTAL $1,314.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden index d2cd725a42b..b8b462fc93e 100644 --- a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden @@ -10,7 +10,7 @@ OVERALL TOTAL $105.80 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden index 8fdb6465705..6af584480ae 100644 --- a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden @@ -66,7 +66,7 @@ OVERALL TOTAL $2,762.37 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 16 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden index a6ec6f53fb0..358091cb6ac 100644 --- a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden @@ -73,7 +73,7 @@ OVERALL TOTAL $2,885.48 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden index cb0d6eb8673..6ea6627241e 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden @@ -26,7 +26,7 @@ OVERALL TOTAL $11,483.91 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden index a62cab427a0..1dd6104353b 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden @@ -22,7 +22,7 @@ OVERALL TOTAL $23,408.91 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden index a2ed788adab..0da92abb209 100644 --- a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden @@ -60,7 +60,7 @@ OVERALL TOTAL $15,972.38 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden index 0366673ec6c..922d8069a00 100644 --- a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden +++ b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $116.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden index cbd3e7afce1..ac38921b7b3 100644 --- a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden @@ -24,7 +24,7 @@ OVERALL TOTAL $1,149.26 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden index a5ca5eb0291..df80d893e74 100644 --- a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $19,585.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden index 9ece0df0bcb..b46eb0629b8 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden @@ -29,7 +29,7 @@ OVERALL TOTAL $19,161,650.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden index 00eb410426e..1d2c6baacd7 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $18.25 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden index a74363bfaa4..8bf586d2c2b 100644 --- a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $302.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden index 128a7d56016..2a54d1bae0e 100644 --- a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $26.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden index a0771014d82..8841b0b66c4 100644 --- a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden @@ -21,7 +21,7 @@ OVERALL TOTAL $1,320.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden index 4dc70e6d3f3..ded2db4b339 100644 --- a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden +++ b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden @@ -183,7 +183,7 @@ OVERALL TOTAL $2,089.71 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 32 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden index cc153809eee..c4b5a6d0988 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden @@ -50,7 +50,7 @@ OVERALL TOTAL $666,302.56 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 13 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden index 5edb195aa06..944a5348c59 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden @@ -71,7 +71,7 @@ OVERALL TOTAL $245.38 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden index a4f377fb263..4ed2810a714 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $927.10 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden index c38b43ca69e..58369ab7907 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden @@ -21,7 +21,7 @@ OVERALL TOTAL $187.82 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden index c90246d0b8b..c5bac70514e 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $2,100.02 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden index 98d212549da..a0c7cd046c3 100644 --- a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $1.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden index 37d0224763b..70225fe9c7b 100644 --- a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $3.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden index 24f8bec55eb..5934f53d289 100644 --- a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden @@ -59,7 +59,7 @@ OVERALL TOTAL $1,282,285.65 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden index 563bb2bf728..5628581ad25 100644 --- a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden @@ -8,7 +8,7 @@ OVERALL TOTAL $45.61 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden index 816c64f75a2..12c5ee6bf42 100644 --- a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $96.13 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden index 5e6376fe421..e859265c5dc 100644 --- a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $98.12 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden index 1f88cf27d7e..e53e58c56df 100644 --- a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden +++ b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $2,149.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden index c38e705ae1d..9080c0c0836 100644 --- a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $30,404.73 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden index a37970ae203..842859dc689 100644 --- a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden @@ -21,7 +21,7 @@ OVERALL TOTAL $2,603.90 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden index 2d118ed0be7..603775af00d 100644 --- a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $70.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden index 6b7fe305309..9b7c3c4c929 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden @@ -29,7 +29,7 @@ OVERALL TOTAL $1,964.43 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden index cdb7e35968d..0766a3b59a3 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden @@ -26,7 +26,7 @@ OVERALL TOTAL $22.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden index 02a09cb3feb..52dea73d398 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $49.84 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden index f3bb6c2608d..53662bfdbaf 100644 --- a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden +++ b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $583.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden index 98deb3baddb..2092e7f133c 100644 --- a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $6,149.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden index c4078350ed0..592bc741e07 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden @@ -83,7 +83,7 @@ OVERALL TOTAL $5,817.24 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 22 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden index 148e9bc8ce6..e0555a1edcc 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden @@ -49,7 +49,7 @@ OVERALL TOTAL $176,130.67 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden index 14fbf6c314f..6a33d152c50 100644 --- a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden @@ -31,7 +31,7 @@ OVERALL TOTAL $42,976.77 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden index 841ca8639c2..89a55033c92 100644 --- a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden @@ -41,7 +41,7 @@ OVERALL TOTAL $36.25 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden index b3260bbd320..ec2fe0e26a8 100644 --- a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden @@ -22,7 +22,7 @@ OVERALL TOTAL $1,956.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden index 232729d44be..f097453e703 100644 --- a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $1,187.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden index 7931ab1a964..9db5aa49db4 100644 --- a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $0.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden index bb50ef1ba34..c16bde92ed3 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden @@ -25,7 +25,7 @@ OVERALL TOTAL $1.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden index 2bf1201639d..c239c80379a 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden @@ -41,7 +41,7 @@ OVERALL TOTAL $0.03 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden index 9a265cc01f0..63c3b5f74e3 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden @@ -208,7 +208,7 @@ OVERALL TOTAL $11,811.53 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden index edb3e1bf799..e1f0d854f0d 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden @@ -73,7 +73,7 @@ OVERALL TOTAL $11,811.53 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden index e8f0f66cf54..b20b8a94602 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden @@ -129,7 +129,7 @@ OVERALL TOTAL $11,811.53 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden index 7630430daba..18c28b0ee81 100644 --- a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden +++ b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $1.30 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden index be091c30a2b..2cfce88b78f 100644 --- a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden +++ b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden @@ -28,7 +28,7 @@ OVERALL TOTAL $758.95 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden index af9065568de..77ade511e75 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $1.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden index 36e99c4629d..b5c4d8101ff 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden @@ -65,7 +65,7 @@ OVERALL TOTAL $34.13 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 18 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden index 8648f501ddb..29eec1e9b1b 100644 --- a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden +++ b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $1.30 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden index 8fdac0068ee..d76533171ce 100644 --- a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $507.35 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden index bbd53c272cb..b948bfde9d5 100644 --- a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $0.59 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden index 59fde465e58..32f5f84f9e1 100644 --- a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden +++ b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $878.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden index 1f7ca0f7e75..80078dbe2bb 100644 --- a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden @@ -29,7 +29,7 @@ OVERALL TOTAL $110.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden index c55d3133415..9b4fad4f573 100644 --- a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $221.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden index b4e788a51de..4745322f192 100644 --- a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden @@ -21,7 +21,7 @@ OVERALL TOTAL $38.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden index 07ca5fd1923..7749d5e83c5 100644 --- a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $31.60 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden index 7986d4cdefd..e5e975c489c 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $584.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden index 8e69967aff5..c28b7cdce86 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden @@ -12,7 +12,7 @@ OVERALL TOTAL $1,569.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden index f27cf2cce05..eb748c9f987 100644 --- a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden +++ b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden @@ -26,7 +26,7 @@ OVERALL TOTAL $26,048.86 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden index 3bfdc43194a..b5583c53261 100644 --- a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden @@ -27,7 +27,7 @@ OVERALL TOTAL $504.54 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 19 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden index fbb8ecc93c0..6b8c1f455b1 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $39.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden index 1932eaf9f0d..7570550dce7 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $30.83 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden index d6cb4302a03..9489ca81b2d 100644 --- a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $112.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden index 4554fbe219d..aba2d19f2e7 100644 --- a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden @@ -27,7 +27,7 @@ OVERALL TOTAL $7,820.49 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden index eb9ac068c0e..e098d1bc608 100644 --- a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden @@ -33,7 +33,7 @@ OVERALL TOTAL $5,620.87 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 11 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden index e2645a76b13..bf10f489fa2 100644 --- a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden @@ -46,7 +46,7 @@ OVERALL TOTAL $5,914.54 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 14 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden index 985dd888841..702e843df46 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $16.01 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden index 690d1a9f3cf..67b21d654c5 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden @@ -13,7 +13,7 @@ OVERALL TOTAL $4,700.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden index 37bc8c97770..0a30636a723 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $10.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden index 59c3fd1e7d4..bff48adb7aa 100644 --- a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $12.10 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden index 1e91f843c2f..0472e97f8d9 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden @@ -14,7 +14,7 @@ OVERALL TOTAL $30.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden index b3259634452..c18877dd21e 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $30.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden index 33dea428bb7..8a6b3debf18 100644 --- a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $0.01 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden index ba0cef6bb6d..5690f02c96e 100644 --- a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden +++ b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden @@ -12,7 +12,7 @@ OVERALL TOTAL $8,872.35 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden index ca40f4cff96..689cb819be9 100644 --- a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden @@ -40,7 +40,7 @@ OVERALL TOTAL $609,769.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden index 3277ecd28bb..429dd4ee91c 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden @@ -283,7 +283,7 @@ OVERALL TOTAL $314,896.73 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 27 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden index 85618cbae13..56f103b9f74 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden @@ -193,7 +193,6 @@ └─ Fine tuning output (babbage-002) Monthly cost depends on usage: $0.0004 per 1K tokens azurerm_cognitive_deployment.eastus2_without_usage["dall-e-3"] - ├─ Standard 1024x1024 images (dall-e-3) Monthly cost depends on usage: $0.00 per 100 images └─ Standard 1024x1792 images (dall-e-3) Monthly cost depends on usage: $8.00 per 100 images azurerm_cognitive_deployment.eastus2_without_usage["davinci-002"] @@ -374,7 +373,7 @@ OVERALL TOTAL $20,498.94 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 116 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden index ece59e6c0a4..b9d8e906f81 100644 --- a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden @@ -32,7 +32,7 @@ OVERALL TOTAL $652.98 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden index 8215e7de021..d377ee9868c 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden @@ -46,7 +46,7 @@ OVERALL TOTAL $5,155.73 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden index 43324783085..741a0d9498b 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden index 9ac819b1291..e123387c7f7 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden @@ -91,7 +91,7 @@ OVERALL TOTAL $5,455.03 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 17 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden index b9089286852..d00a36159cc 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden @@ -46,7 +46,7 @@ OVERALL TOTAL $5,155.73 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden index 38a13544643..ae0e851fd1c 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden @@ -55,7 +55,7 @@ OVERALL TOTAL $5,155.73 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden index 7dd7e2ec9d8..2f26ce6f221 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden @@ -91,7 +91,7 @@ OVERALL TOTAL $5,455.03 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 14 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden index a55a2f63c92..d266c598586 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden @@ -46,7 +46,7 @@ OVERALL TOTAL $5,155.73 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden index 005ba18806c..ffe85492693 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden @@ -57,7 +57,7 @@ OVERALL TOTAL $5,060.53 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden index 631cd85cfba..b556b7989a2 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden @@ -55,7 +55,7 @@ OVERALL TOTAL $5,184.93 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden index 8099c5421a0..cb1bfb903b1 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden @@ -46,7 +46,7 @@ OVERALL TOTAL $5,155.73 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden index eef1a56108e..f7820f8ab95 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $27,824.83 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden index f8cc2146af2..ab0ed3414fb 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden @@ -35,7 +35,7 @@ OVERALL TOTAL $74,657.61 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden index f43c06bda1e..82131d45c39 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden @@ -28,7 +28,7 @@ OVERALL TOTAL $32,762.33 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden index c40031a9c14..18dd2a24fd8 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $164.07 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden index 0b82d999ac2..f67db654561 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $1.13 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden index d4ef157c108..971e59d71d7 100644 --- a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $1,995.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden index 0e66d80206e..cc2ff5098b2 100644 --- a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden index df6f25164c6..bbfafb0f7c6 100644 --- a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden index 174364df2ec..b78637a750a 100644 --- a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden index 500c0acce96..007fd400886 100644 --- a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden index 15ee3af8ad8..72bd714a29e 100644 --- a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden index 793b188a582..62c27d8ae94 100644 --- a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden index c1131dca879..25297ed5913 100644 --- a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden index 569a090c6e1..1025ab4fbdb 100644 --- a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden index 94ec5850741..f6eb225c7a8 100644 --- a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden index 13f9e28a60d..1ba304b2369 100644 --- a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $1.04 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden index 14550939002..29d1d50512e 100644 --- a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden @@ -36,7 +36,7 @@ OVERALL TOTAL $24,911.58 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden index 97d72a50139..dc55bf3d51b 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $0.48 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden index ac4b71c5330..69b90e4e66b 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $0.48 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden index 9ce51342dea..20f4cb6b6fa 100644 --- a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $343.10 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden index 0e3f6e9d0a7..dfbff129942 100644 --- a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $1,226.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden index 2130bf20eb8..903d8885555 100644 --- a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden +++ b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden @@ -13,7 +13,7 @@ OVERALL TOTAL $1.95 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden index 1679a8a0bd9..d404ef7cea8 100644 --- a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden +++ b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden @@ -26,7 +26,7 @@ OVERALL TOTAL $6,256.15 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 11 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden index e226ec8855b..393e5d4836c 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $95.07 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden index d3e1e135ee7..7bc1dfc3e03 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $27,400.16 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden index ccdaea9ea6d..8d88298fb18 100644 --- a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden @@ -53,7 +53,7 @@ OVERALL TOTAL $1,134.69 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 16 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden index ddad350c8ef..fa63e919ef1 100644 --- a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden @@ -173,7 +173,7 @@ OVERALL TOTAL $13,366.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 63 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden index ae56b2b4f16..fbbb606c0d4 100644 --- a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden @@ -173,7 +173,7 @@ OVERALL TOTAL $13,366.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 63 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden index 436b56765e4..9e8bbec5bbf 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden @@ -24,7 +24,7 @@ OVERALL TOTAL $3,967.55 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden index e31ff93cdb9..036fa2aeb37 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $3,907.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden index d7dc151caf8..e53fdb14667 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $15,852.68 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden index 6c380e3c04a..05fa19c2a97 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden @@ -34,7 +34,7 @@ OVERALL TOTAL $27,535.31 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden index b9803271126..4848a6330ba 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $8,619.84 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/image_test/image_test.golden b/internal/providers/terraform/azure/testdata/image_test/image_test.golden index 224ffe0cf95..5e61c5afe6f 100644 --- a/internal/providers/terraform/azure/testdata/image_test/image_test.golden +++ b/internal/providers/terraform/azure/testdata/image_test/image_test.golden @@ -69,7 +69,7 @@ OVERALL TOTAL $334.19 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 20 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden index 4acdc256481..68246d4b389 100644 --- a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden @@ -13,7 +13,7 @@ OVERALL TOTAL $17,714.91 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden index 653508f0c2a..007c1337e95 100644 --- a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden +++ b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $126.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden index d3269b0ed35..e878c46d81e 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $600.60 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden index 9b865e6eeff..4157d0bffbe 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden @@ -53,7 +53,7 @@ OVERALL TOTAL $12,813.96 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden index 7abb680e01d..9d44f817b15 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $3,540.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden index ca072df6146..aa0b62096c9 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden @@ -50,7 +50,7 @@ OVERALL TOTAL $1,320.42 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 11 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden index 499dac50ca7..4be2b235ab0 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden @@ -46,7 +46,7 @@ OVERALL TOTAL $2,835.67 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden index 22cdb3f6770..a291b8df882 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden @@ -12,7 +12,7 @@ OVERALL TOTAL $9.93 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden index 93e52ddab36..79bea07cfec 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden @@ -12,7 +12,7 @@ OVERALL TOTAL $9.93 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden index 4ff547a26cf..0d20f2cae20 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $15.18 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden index 2254457def7..bef9d11e1c0 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $15.18 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden index 7b9768f06e4..7edd6b3ffcc 100644 --- a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $0.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden index 2d71d84d6c4..0c6d3af10fe 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $414.44 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden index c06d6bcebd4..2452d9072ed 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden @@ -50,7 +50,7 @@ OVERALL TOTAL $446.18 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden index 989370014d1..468c4d509c5 100644 --- a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden @@ -115,7 +115,7 @@ OVERALL TOTAL $22,989.80 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 22 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden index ccd03a8f644..93758a04840 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $1,300.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden index 10d4ada8d9e..c0262c16bd3 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden @@ -47,7 +47,7 @@ OVERALL TOTAL $4,119.83 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 11 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden index 464a4815178..d856cdde7e1 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden @@ -227,7 +227,7 @@ OVERALL TOTAL $498,345.89 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 92 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden index f6707cd50cc..719f36d3580 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden @@ -65,7 +65,7 @@ OVERALL TOTAL $17,164.81 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 21 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden index 6ae0bdc7ce8..4233fd91b3a 100644 --- a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden +++ b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $534.36 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden index b082468a60f..135dde78b3e 100644 --- a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden @@ -28,7 +28,7 @@ OVERALL TOTAL $5,041.69 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden index a51505f3953..8b8148b1b8b 100644 --- a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden @@ -43,7 +43,7 @@ OVERALL TOTAL $4,681.86 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden index cc7d3e899fb..0563809fa99 100644 --- a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $1.69 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden index 759b3271db7..b1b794fc693 100644 --- a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $325.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden index f6732d137a0..832394edf91 100644 --- a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $1.90 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden index bb16d375e3d..5527cf85129 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $3.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden index 978bec9d797..534904bbf6c 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden @@ -38,7 +38,7 @@ OVERALL TOTAL $14.95 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden index aa90903311e..c7cee7b4064 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden @@ -118,7 +118,7 @@ OVERALL TOTAL $31,585.37 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 20 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden index fb66698dd8c..16a93e46b53 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden @@ -8,7 +8,7 @@ OVERALL TOTAL $147.18 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden index f0fd989dad4..ffc6d02a6bf 100644 --- a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden @@ -39,7 +39,7 @@ OVERALL TOTAL $19,551.88 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden index 2336bcf8b48..85a0605a907 100644 --- a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden @@ -22,7 +22,7 @@ OVERALL TOTAL $12,558.78 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden index db47db01d5a..ac1f545ae81 100644 --- a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden @@ -29,7 +29,7 @@ OVERALL TOTAL $2,558.01 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden index c72a1f396ed..c491fa862cc 100644 --- a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden @@ -28,7 +28,7 @@ OVERALL TOTAL $5,041.69 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden index 7112d4fa767..2c209119be1 100644 --- a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $74.18 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden index 9367add65b4..e8a3a4b7417 100644 --- a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden +++ b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden @@ -21,7 +21,7 @@ OVERALL TOTAL $155,510.80 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden index 76455179b07..21441406e60 100644 --- a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden @@ -11,7 +11,7 @@ OVERALL TOTAL $6,034.27 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden index db7940cdb6f..c0f04b80b4a 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden @@ -25,7 +25,7 @@ OVERALL TOTAL $161.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden index e5c570154ce..c8012e3c4dc 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $9.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden index a78531410b6..fe20fc99e26 100644 --- a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden @@ -35,7 +35,7 @@ OVERALL TOTAL $2,815.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden index de4a9c91bfc..f4febbead28 100644 --- a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden @@ -10,7 +10,7 @@ OVERALL TOTAL $2,635.41 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden index 48f6270b806..056ba367bb8 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden @@ -33,7 +33,7 @@ OVERALL TOTAL $3,436.55 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden index a5fc3713e74..000384b8ce3 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden @@ -28,7 +28,7 @@ OVERALL TOTAL $5,041.69 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden index 69051ed8465..c6c94347c19 100644 --- a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden +++ b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $12,504.24 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden index 4a5a142ad07..ef03a498baf 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden index 9a175c79a34..51b5fc08557 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden index a5dec95136e..379b06a1a0b 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden index 6b401ba5d00..22c1831da61 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden index af0583e9abc..76f6fb6c2b2 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden index 861ec49d56b..bdbc133dba9 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $182.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden index c8f3da6edcd..a3954595428 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $180.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden index a9fb1d0fbcb..6f32d993cb6 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $180.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden index 24751603172..e7d535e8635 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden index cc11ead8a8b..15d8349faa0 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $900.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden index b4bb9dd1f52..f43e9414659 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $1.04 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden index f169aae2a5d..642ef141a4b 100644 --- a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden @@ -38,7 +38,7 @@ OVERALL TOTAL $68,991.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden index 59cc67d05cb..98fd8b234b2 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $4.38 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden index 68734186db4..510ee874080 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden @@ -12,7 +12,7 @@ OVERALL TOTAL $10.22 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden index 21db66c6d0f..11d5525db70 100644 --- a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden +++ b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden @@ -204,7 +204,7 @@ OVERALL TOTAL $1,549.46 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 79 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden index c41c0c1931a..0740101ed6f 100644 --- a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden +++ b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden @@ -24,7 +24,7 @@ OVERALL TOTAL $15,865.09 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden index 579c10f99c7..f157c4ed48a 100644 --- a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden +++ b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $16,130.98 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden index 9ad7325d17a..33106455bb0 100644 --- a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden +++ b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden @@ -91,7 +91,7 @@ OVERALL TOTAL $893.59 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 30 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden index 0a4b7f1e95a..0ed0f473287 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden index 822d0a19b9c..c3c32cb5e06 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden index d6be048a755..3e934450d67 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden index 23adab3d5c1..46aabefe8d3 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden index 7854153b768..02f4d3c2e0f 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden index 5559229f559..324e001fcab 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden index e2a78148fe4..83e82b32230 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden index 21f0117ff9b..d3106afd851 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $0.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden index e0360b0fa48..290bb5343e1 100644 --- a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden @@ -813,7 +813,7 @@ OVERALL TOTAL $611,320.98 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 334 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden index bd920f1a67c..ac411d2cb7d 100644 --- a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden @@ -53,7 +53,7 @@ OVERALL TOTAL $64,887.87 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 15 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden index ae80dbbb86c..e5ebf965d27 100644 --- a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden +++ b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $672.41 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden index bf44b9d0bf6..8623cc17423 100644 --- a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden +++ b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden @@ -19,7 +19,7 @@ OVERALL TOTAL $40.39 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden index bf238b41158..4b107b8df2a 100644 --- a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden @@ -79,7 +79,7 @@ OVERALL TOTAL $7,828.32 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 15 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden index 395b8b4af8d..9c8db6d1efa 100644 --- a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden @@ -14,7 +14,7 @@ OVERALL TOTAL $3,468.97 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden index c3a07c7e943..06afd575a6d 100644 --- a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden @@ -22,7 +22,7 @@ OVERALL TOTAL $12,558.78 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden index 21ba8cea49e..fae48b9373d 100644 --- a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden @@ -393,7 +393,7 @@ OVERALL TOTAL $7,635,980.70 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 51 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden index 0eae44a0c01..f377094ee74 100644 --- a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden @@ -113,7 +113,7 @@ OVERALL TOTAL $1,802.53 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 21 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden index 80d96d72dbe..d406013f122 100644 --- a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden @@ -130,7 +130,7 @@ OVERALL TOTAL $946,944.87 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 19 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden index 121bf1e3d28..71238cf2831 100644 --- a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden @@ -32,7 +32,7 @@ OVERALL TOTAL $97.66 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden index 4d3ec4fc85f..b3dad23620e 100644 --- a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden @@ -40,7 +40,7 @@ OVERALL TOTAL $6,771.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden index cf741668938..18087ecd213 100644 --- a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden @@ -65,7 +65,7 @@ OVERALL TOTAL $127.33 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden index 197782a8c45..233c576f0d0 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $3.80 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden index e23c4ef2624..82fba0d4f6f 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $6.70 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden index 93594b512b9..4f5364a5723 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden @@ -17,7 +17,7 @@ OVERALL TOTAL $3.80 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden index f3a3e526d09..ff0cc15a72b 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $652.65 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden index 3f3ff44a3be..e3609bd339f 100644 --- a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden @@ -10,7 +10,7 @@ OVERALL TOTAL $366.80 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden index 37296d1079a..2a69fd46134 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden @@ -27,7 +27,7 @@ OVERALL TOTAL $427.59 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden index 04790dec660..9e399015d99 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden @@ -43,7 +43,7 @@ OVERALL TOTAL $408.13 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden index 98d27fb17b6..926faf36e9b 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden @@ -59,7 +59,7 @@ OVERALL TOTAL $5,964.83 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 25 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden index c7c7567ad8b..95d1f00df03 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden @@ -41,7 +41,7 @@ OVERALL TOTAL $49,247.27 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 11 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden index 1a3385aeb1b..5c603c46abe 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden @@ -27,7 +27,7 @@ OVERALL TOTAL $215.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 13 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden index 6e6631f7f7c..96596c587b3 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $300.03 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden index 784a83a5ab2..48e265a4e0d 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $1,054.12 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden index ca0a2fa9c8d..c5862b605a9 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $690.38 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden index 9807d707666..08567993c3d 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden @@ -45,7 +45,7 @@ OVERALL TOTAL $1,958.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 7 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden index 63d45b3991a..7908fd77770 100644 --- a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden +++ b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden @@ -29,7 +29,7 @@ OVERALL TOTAL $147.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 6 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden index 60c904dce82..9a2a32a709e 100644 --- a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $626.88 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden index 531fd610de9..595adf96a0d 100644 --- a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden @@ -20,7 +20,7 @@ OVERALL TOTAL $1,164.05 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden index 119c09ce792..bbdf508fa22 100644 --- a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden +++ b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $29.88 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden index 946d6e4d45f..a0ca6e41294 100644 --- a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden +++ b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden @@ -33,7 +33,7 @@ OVERALL TOTAL $47.66 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 12 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden index 96cf19a6082..5bf3f6ff468 100644 --- a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden +++ b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden @@ -52,7 +52,7 @@ OVERALL TOTAL $18,982.32 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 15 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden index b0d5c798d11..35d688ef812 100644 --- a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden @@ -12,7 +12,7 @@ OVERALL TOTAL $3,245.18 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden index 789860354b8..58ed9dd7d71 100644 --- a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden +++ b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden @@ -15,7 +15,7 @@ OVERALL TOTAL $23.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden index 00de0aa184a..ba1c9907abd 100644 --- a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden @@ -13,7 +13,7 @@ OVERALL TOTAL $47.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden index ad8667bf561..8137570c0e4 100644 --- a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden @@ -30,7 +30,7 @@ OVERALL TOTAL $251.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 9 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden index 86caa9f82f0..39e8068beab 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $2,230.13 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden index b4935deee55..61cb09f6e2d 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden @@ -88,7 +88,7 @@ OVERALL TOTAL $10,250.32 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 19 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden index 1de50f9da73..a22634983d9 100644 --- a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden @@ -13,7 +13,7 @@ OVERALL TOTAL $274.86 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden index 1a9cf9f47f5..97084fb8ef4 100644 --- a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden @@ -7,7 +7,7 @@ OVERALL TOTAL $67.63 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden index df5870e68be..ef243e0be9f 100644 --- a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden @@ -8,7 +8,7 @@ OVERALL TOTAL $1,375.07 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden index 2c25cb7904d..a3c60b6ae83 100644 --- a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden @@ -7,7 +7,7 @@ OVERALL TOTAL $67.63 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden index 1144ce635e2..23d61cdfc09 100644 --- a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden +++ b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden @@ -14,7 +14,7 @@ OVERALL TOTAL $126.79 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden index ac1b010cea0..1def8428b44 100644 --- a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden +++ b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden @@ -12,7 +12,7 @@ OVERALL TOTAL $32.60 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden index 53b21bf7f09..984cb061e17 100644 --- a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden +++ b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden @@ -35,7 +35,7 @@ OVERALL TOTAL $1,308.65 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden index ea0be888d84..370bd2c52bd 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden @@ -13,7 +13,7 @@ OVERALL TOTAL $47.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden index 762b8d2bfd7..a933ea80a69 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $36.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden index ad7e29e8ef2..20f87a7cc7d 100644 --- a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden +++ b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden @@ -140,7 +140,7 @@ OVERALL TOTAL $28,098.84 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 16 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden index 1feeb782399..d93698ec202 100644 --- a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden +++ b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden @@ -124,7 +124,7 @@ OVERALL TOTAL $27,981.93 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 25 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden index fd02b67e548..4c3bd0f2ceb 100644 --- a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden @@ -39,7 +39,7 @@ OVERALL TOTAL $1,566.79 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden index a7cc2a28f52..3bf3cdb5e6c 100644 --- a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden +++ b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden @@ -6,7 +6,7 @@ OVERALL TOTAL $0.20 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 1 cloud resource was detected: diff --git a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden index 2929f4e2cd3..c2b0465d412 100644 --- a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden +++ b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $0.04 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden index 1f64e28de2a..8fd252af3b8 100644 --- a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden +++ b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden @@ -16,7 +16,7 @@ OVERALL TOTAL $8,001.74 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden index 35485a082c1..6f0fce241f8 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $50.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden index 2372c191af8..262e150882b 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $50.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden index ddf3030b6d2..c86b05f021e 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $50.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden index ecf45297a78..5350e3f2a2f 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $50.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden index 05d5a0aaf4d..0e2f58cb3c3 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $50.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden index 241f8857553..9986664abf3 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $50.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden index cc4d88ebbf3..bb028323b02 100644 --- a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $50.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden index 8c02d8b3088..ff6a74010ca 100644 --- a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $50.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden index f2f739072d9..681e630a303 100644 --- a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden +++ b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden @@ -13,7 +13,7 @@ OVERALL TOTAL $63,710.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden index 3bcec140241..c9a6087f3e6 100644 --- a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden @@ -13,7 +13,7 @@ OVERALL TOTAL $413.50 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden index e8fc94b1381..1d44d2e55ae 100644 --- a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden @@ -9,7 +9,7 @@ OVERALL TOTAL $400.00 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 2 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden index f0753cf8de7..18fc8fee198 100644 --- a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden +++ b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden @@ -33,7 +33,7 @@ OVERALL TOTAL $6,937.19 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 10 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden index 53683046a76..a7282129064 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden @@ -18,7 +18,7 @@ OVERALL TOTAL $785.57 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden index 76fefa0db55..5480f43d966 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden @@ -25,7 +25,7 @@ OVERALL TOTAL $0.38 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 5 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden index c77a915d35a..27cfda6a918 100644 --- a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden +++ b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden @@ -23,7 +23,7 @@ OVERALL TOTAL $47.40 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 4 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden index 12d6760b9c4..f45ff3f07c7 100644 --- a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden +++ b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden @@ -1108,7 +1108,7 @@ OVERALL TOTAL $221,764.39 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 162 cloud resources were detected: diff --git a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden index 4f2cb3aade4..5ff98f067cd 100644 --- a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden +++ b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden @@ -43,7 +43,7 @@ OVERALL TOTAL $3,136.28 -*Usage costs can be estimated by adding usage defaults from Infracost Cloud or an infracost-usage.yml. +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── 3 cloud resources were detected: From 875d0331e5b389d954fc06e034a07fd32ac1a4e0 Mon Sep 17 00:00:00 2001 From: tim775 <52185+tim775@users.noreply.github.com> Date: Thu, 4 Apr 2024 17:44:03 -0400 Subject: [PATCH 05/50] refactor: remove cruft --- internal/output/diff.go | 4 ---- internal/output/table.go | 2 -- 2 files changed, 6 deletions(-) diff --git a/internal/output/diff.go b/internal/output/diff.go index e4bf47dc92a..99f4fb4ce9c 100644 --- a/internal/output/diff.go +++ b/internal/output/diff.go @@ -116,8 +116,6 @@ func ToDiff(out Root, opts Options) ([]byte, error) { s += "──────────────────────────────────" } - // for now only show the new usage-costs-including comment if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old comment template if hasDiffProjects { s += "\n" s += usageCostsMessage(out, false) @@ -163,8 +161,6 @@ func projectTitle(project Project) string { } func tableForDiff(out Root, opts Options) string { - // for now only show the new usage-costs in the table if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old table t := table.NewWriter() t.SetStyle(table.StyleBold) t.Style().Format.Header = text.FormatDefault diff --git a/internal/output/table.go b/internal/output/table.go index d557def95a3..89ca92ffc53 100644 --- a/internal/output/table.go +++ b/internal/output/table.go @@ -384,8 +384,6 @@ func filterZeroValResources(resources []Resource, resourceName string) []Resourc } func breakdownSummaryTable(out Root, opts Options) string { - // for now only show the new usage-costs in the table if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old table t := table.NewWriter() t.SetStyle(table.StyleBold) t.Style().Format.Header = text.FormatDefault From f3301767b464d6f6d41f002d6308e6b9ad52f5c2 Mon Sep 17 00:00:00 2001 From: tim775 <52185+tim775@users.noreply.github.com> Date: Thu, 4 Apr 2024 17:44:17 -0400 Subject: [PATCH 06/50] enhance: comment show skipped by default --- cmd/infracost/comment.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/infracost/comment.go b/cmd/infracost/comment.go index 5d8c667817a..3a8267211ef 100644 --- a/cmd/infracost/comment.go +++ b/cmd/infracost/comment.go @@ -62,7 +62,7 @@ func commentCmd(ctx *config.RunContext) *cobra.Command { subCmd.Flags().StringArray("policy-path", nil, "Path to Infracost policy files, glob patterns need quotes (experimental)") subCmd.Flags().Bool("show-all-projects", false, "Show all projects in the table of the comment output") subCmd.Flags().Bool("show-changed", false, "Show only projects in the table that have code changes") - subCmd.Flags().Bool("show-skipped", false, "List unsupported resources") + subCmd.Flags().Bool("show-skipped", true, "List unsupported resources") _ = subCmd.Flags().MarkHidden("show-changed") subCmd.Flags().Bool("skip-no-diff", false, "Skip posting comment if there are no resource changes. Only applies to update, hide-and-new, and delete-and-new behaviors") _ = subCmd.Flags().MarkHidden("skip-no-diff") From 5f052956d62bc3b1c8b30637dcbbcdca208eb26e Mon Sep 17 00:00:00 2001 From: tim775 <52185+tim775@users.noreply.github.com> Date: Thu, 4 Apr 2024 17:44:42 -0400 Subject: [PATCH 07/50] test: update golden files --- .../comment_azure_repos_help.golden | 2 +- .../comment_bitbucket_help.golden | 2 +- .../comment_git_hub_help/comment_git_hub_help.golden | 2 +- .../comment_git_hub_no_diff.golden | 11 ++++++++++- .../comment_git_hub_show_all_projects.golden | 3 +++ .../comment_git_hub_show_changed_projects.golden | 3 +++ ...omment_git_hub_with_additional_comment_path.golden | 3 +++ .../comment_git_lab_help/comment_git_lab_help.golden | 2 +- 8 files changed, 23 insertions(+), 5 deletions(-) diff --git a/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden b/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden index d86aaf956ca..e92fb6dd446 100644 --- a/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden +++ b/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden @@ -22,7 +22,7 @@ FLAGS --pull-request int Pull request number to post comment on --repo-url string Repository URL, e.g. https://dev.azure.com/my-org/my-project/_git/my-repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources + --show-skipped List unsupported resources (default true) --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden b/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden index 42f15f6064c..46f404e7dc0 100644 --- a/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden +++ b/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden @@ -29,7 +29,7 @@ FLAGS --pull-request int Pull request number to post comment on --repo string Repository in format workspace/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources + --show-skipped List unsupported resources (default true) --tag string Customize special text used to detect comments posted by Infracost (placed at the bottom of a comment) GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden b/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden index 5b3fb703e4a..4f62f7db22d 100644 --- a/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden +++ b/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden @@ -32,7 +32,7 @@ FLAGS --pull-request int Pull request number to post comment on, mutually exclusive with commit --repo string Repository in format owner/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources + --show-skipped List unsupported resources (default true) --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden b/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden index b51f5cf0c71..35eda7b0b19 100644 --- a/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden +++ b/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden @@ -7,11 +7,20 @@ ``` ────────────────────────────────── +The following projects have no cost estimate changes: test (Module path: test) +Run the following command to see their breakdown: infracost breakdown --path=/path/to/code +────────────────────────────────── 189 cloud resources were detected: ∙ 31 were estimated ∙ 152 were free -∙ 6 are not supported yet, rerun with --show-skipped to see details +∙ 6 are not supported yet, see https://infracost.io/requested-resources: + ∙ 1 x aws_ami_from_instance + ∙ 1 x aws_appstream_fleet + ∙ 1 x aws_appstream_fleet_stack_association + ∙ 1 x aws_appstream_stack + ∙ 1 x aws_lightsail_instance_public_ports + ∙ 1 x aws_route53_vpc_association_authorization ```
diff --git a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden index 709812efdcd..3039c9ef353 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden @@ -122,7 +122,10 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +The following projects have no cost estimate changes: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_nochange_plan.json +Run the following command to see their breakdown: infracost breakdown --path=/path/to/code +────────────────────────────────── *Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: diff --git a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden index 1d6252beed4..85570544a25 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden @@ -30,7 +30,10 @@ ``` ────────────────────────────────── +The following projects have no cost estimate changes: infracost/infracost/internal/hcl/testdata/project_locator/multi_project_with_module/dev (Module path: dev), infracost/infracost/internal/hcl/testdata/project_locator/multi_project_with_module/prod (Module path: prod) +Run the following command to see their breakdown: infracost breakdown --path=/path/to/code +────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated ``` diff --git a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden index f6fe3f65ead..d4ea4854c83 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden @@ -30,7 +30,10 @@ ``` ────────────────────────────────── +The following projects have no cost estimate changes: infracost/infracost/internal/hcl/testdata/project_locator/multi_project_with_module/dev (Module path: dev), infracost/infracost/internal/hcl/testdata/project_locator/multi_project_with_module/prod (Module path: prod) +Run the following command to see their breakdown: infracost breakdown --path=/path/to/code +────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated ``` diff --git a/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden b/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden index 581895ab9fe..994cea64e6c 100644 --- a/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden +++ b/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden @@ -28,7 +28,7 @@ FLAGS --policy-path stringArray Path to Infracost policy files, glob patterns need quotes (experimental) --repo string Repository in format owner/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources + --show-skipped List unsupported resources (default true) --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS From bcd1bb97b85e4a1c1d5cbb879b729ccae1970a0c Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Tue, 9 Apr 2024 10:07:18 +0100 Subject: [PATCH 08/50] Revert "test: update golden files" This reverts commit 5f052956d62bc3b1c8b30637dcbbcdca208eb26e. --- .../comment_azure_repos_help.golden | 2 +- .../comment_bitbucket_help.golden | 2 +- .../comment_git_hub_help/comment_git_hub_help.golden | 2 +- .../comment_git_hub_no_diff.golden | 11 +---------- .../comment_git_hub_show_all_projects.golden | 3 --- .../comment_git_hub_show_changed_projects.golden | 3 --- ...omment_git_hub_with_additional_comment_path.golden | 3 --- .../comment_git_lab_help/comment_git_lab_help.golden | 2 +- 8 files changed, 5 insertions(+), 23 deletions(-) diff --git a/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden b/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden index e92fb6dd446..d86aaf956ca 100644 --- a/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden +++ b/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden @@ -22,7 +22,7 @@ FLAGS --pull-request int Pull request number to post comment on --repo-url string Repository URL, e.g. https://dev.azure.com/my-org/my-project/_git/my-repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources (default true) + --show-skipped List unsupported resources --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden b/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden index 46f404e7dc0..42f15f6064c 100644 --- a/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden +++ b/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden @@ -29,7 +29,7 @@ FLAGS --pull-request int Pull request number to post comment on --repo string Repository in format workspace/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources (default true) + --show-skipped List unsupported resources --tag string Customize special text used to detect comments posted by Infracost (placed at the bottom of a comment) GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden b/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden index 4f62f7db22d..5b3fb703e4a 100644 --- a/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden +++ b/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden @@ -32,7 +32,7 @@ FLAGS --pull-request int Pull request number to post comment on, mutually exclusive with commit --repo string Repository in format owner/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources (default true) + --show-skipped List unsupported resources --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden b/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden index 35eda7b0b19..b51f5cf0c71 100644 --- a/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden +++ b/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden @@ -7,20 +7,11 @@ ``` ────────────────────────────────── -The following projects have no cost estimate changes: test (Module path: test) -Run the following command to see their breakdown: infracost breakdown --path=/path/to/code -────────────────────────────────── 189 cloud resources were detected: ∙ 31 were estimated ∙ 152 were free -∙ 6 are not supported yet, see https://infracost.io/requested-resources: - ∙ 1 x aws_ami_from_instance - ∙ 1 x aws_appstream_fleet - ∙ 1 x aws_appstream_fleet_stack_association - ∙ 1 x aws_appstream_stack - ∙ 1 x aws_lightsail_instance_public_ports - ∙ 1 x aws_route53_vpc_association_authorization +∙ 6 are not supported yet, rerun with --show-skipped to see details ```
diff --git a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden index 3039c9ef353..709812efdcd 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden @@ -122,10 +122,7 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed -The following projects have no cost estimate changes: infracost/infracost/cmd/infracost/testdata/terraform_v0.14_nochange_plan.json -Run the following command to see their breakdown: infracost breakdown --path=/path/to/code -────────────────────────────────── *Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: diff --git a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden index 85570544a25..1d6252beed4 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden @@ -30,10 +30,7 @@ ``` ────────────────────────────────── -The following projects have no cost estimate changes: infracost/infracost/internal/hcl/testdata/project_locator/multi_project_with_module/dev (Module path: dev), infracost/infracost/internal/hcl/testdata/project_locator/multi_project_with_module/prod (Module path: prod) -Run the following command to see their breakdown: infracost breakdown --path=/path/to/code -────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated ``` diff --git a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden index d4ea4854c83..f6fe3f65ead 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden @@ -30,10 +30,7 @@ ``` ────────────────────────────────── -The following projects have no cost estimate changes: infracost/infracost/internal/hcl/testdata/project_locator/multi_project_with_module/dev (Module path: dev), infracost/infracost/internal/hcl/testdata/project_locator/multi_project_with_module/prod (Module path: prod) -Run the following command to see their breakdown: infracost breakdown --path=/path/to/code -────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated ``` diff --git a/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden b/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden index 994cea64e6c..581895ab9fe 100644 --- a/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden +++ b/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden @@ -28,7 +28,7 @@ FLAGS --policy-path stringArray Path to Infracost policy files, glob patterns need quotes (experimental) --repo string Repository in format owner/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources (default true) + --show-skipped List unsupported resources --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS From 36349ff1ed112a03d3cf642b09d0494430615a0a Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Tue, 9 Apr 2024 10:07:18 +0100 Subject: [PATCH 09/50] Revert "enhance: comment show skipped by default" This reverts commit f3301767b464d6f6d41f002d6308e6b9ad52f5c2. --- cmd/infracost/comment.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/infracost/comment.go b/cmd/infracost/comment.go index 3a8267211ef..5d8c667817a 100644 --- a/cmd/infracost/comment.go +++ b/cmd/infracost/comment.go @@ -62,7 +62,7 @@ func commentCmd(ctx *config.RunContext) *cobra.Command { subCmd.Flags().StringArray("policy-path", nil, "Path to Infracost policy files, glob patterns need quotes (experimental)") subCmd.Flags().Bool("show-all-projects", false, "Show all projects in the table of the comment output") subCmd.Flags().Bool("show-changed", false, "Show only projects in the table that have code changes") - subCmd.Flags().Bool("show-skipped", true, "List unsupported resources") + subCmd.Flags().Bool("show-skipped", false, "List unsupported resources") _ = subCmd.Flags().MarkHidden("show-changed") subCmd.Flags().Bool("skip-no-diff", false, "Skip posting comment if there are no resource changes. Only applies to update, hide-and-new, and delete-and-new behaviors") _ = subCmd.Flags().MarkHidden("skip-no-diff") From ffc038b02300380ce507d9f27b1d1b390f002aed Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Tue, 9 Apr 2024 10:07:18 +0100 Subject: [PATCH 10/50] Revert "refactor: remove cruft" This reverts commit 875d0331e5b389d954fc06e034a07fd32ac1a4e0. --- internal/output/diff.go | 4 ++++ internal/output/table.go | 2 ++ 2 files changed, 6 insertions(+) diff --git a/internal/output/diff.go b/internal/output/diff.go index 99f4fb4ce9c..e4bf47dc92a 100644 --- a/internal/output/diff.go +++ b/internal/output/diff.go @@ -116,6 +116,8 @@ func ToDiff(out Root, opts Options) ([]byte, error) { s += "──────────────────────────────────" } + // for now only show the new usage-costs-including comment if the usage api has been enabled + // once we have all the other usage cost stuff done this will replace the old comment template if hasDiffProjects { s += "\n" s += usageCostsMessage(out, false) @@ -161,6 +163,8 @@ func projectTitle(project Project) string { } func tableForDiff(out Root, opts Options) string { + // for now only show the new usage-costs in the table if the usage api has been enabled + // once we have all the other usage cost stuff done this will replace the old table t := table.NewWriter() t.SetStyle(table.StyleBold) t.Style().Format.Header = text.FormatDefault diff --git a/internal/output/table.go b/internal/output/table.go index 89ca92ffc53..d557def95a3 100644 --- a/internal/output/table.go +++ b/internal/output/table.go @@ -384,6 +384,8 @@ func filterZeroValResources(resources []Resource, resourceName string) []Resourc } func breakdownSummaryTable(out Root, opts Options) string { + // for now only show the new usage-costs in the table if the usage api has been enabled + // once we have all the other usage cost stuff done this will replace the old table t := table.NewWriter() t.SetStyle(table.StyleBold) t.Style().Format.Header = text.FormatDefault From 0b040e7908120f3e3f84fbe7f6e7b8372c20317d Mon Sep 17 00:00:00 2001 From: verytrap <166317454+verytrap@users.noreply.github.com> Date: Tue, 9 Apr 2024 20:29:41 +0800 Subject: [PATCH 11/50] chore: fix function names in comment (#3008) Signed-off-by: verytrap --- internal/comment/azure_repos.go | 2 +- internal/comment/bitbucket.go | 2 +- internal/resources/aws/sns_topic.go | 2 +- internal/vcs/metadata.go | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/comment/azure_repos.go b/internal/comment/azure_repos.go index 1f04060c692..80f17dc4501 100644 --- a/internal/comment/azure_repos.go +++ b/internal/comment/azure_repos.go @@ -107,7 +107,7 @@ func newAzureReposAPIClient(ctx context.Context, token string) (*http.Client, er return httpClient, nil } -// buildAPIURL converts repo URL to repo's API URL. +// buildAzureAPIURL converts repo URL to repo's API URL. func buildAzureAPIURL(repoURL string) (string, error) { apiURL, err := url.Parse(repoURL) if err != nil { diff --git a/internal/comment/bitbucket.go b/internal/comment/bitbucket.go index 92fb1a37633..2889a9f2d19 100644 --- a/internal/comment/bitbucket.go +++ b/internal/comment/bitbucket.go @@ -772,7 +772,7 @@ func (h *bitbucketServerPRHandler) AddMarkdownTags(s string, tags []CommentTag) return bitbucketAddMarkdownTags(s, tags) } -// fetchComment calls the Bitbucket Server API to retrieve a single comment. +// fetchServerComment calls the Bitbucket Server API to retrieve a single comment. func (h *bitbucketServerPRHandler) fetchServerComment(commentURL string) (*bitbucketServerAPIComment, error) { req, err := http.NewRequest("GET", commentURL, nil) if err != nil { diff --git a/internal/resources/aws/sns_topic.go b/internal/resources/aws/sns_topic.go index 5658bb1f303..6f8d9e33c02 100644 --- a/internal/resources/aws/sns_topic.go +++ b/internal/resources/aws/sns_topic.go @@ -303,7 +303,7 @@ var SNSFIFOTopicUsageSchema = []*schema.UsageItem{ // } // } -// publishAPIRequestCostComponent returns a cost component for Publish API request costs. +// publishAPIRequestsCostComponent returns a cost component for Publish API request costs. func (r *SNSFIFOTopic) publishAPIRequestsCostComponent(requests *int64) *schema.CostComponent { var q *decimal.Decimal if requests != nil { diff --git a/internal/vcs/metadata.go b/internal/vcs/metadata.go index 8777bbea811..1b05d296225 100644 --- a/internal/vcs/metadata.go +++ b/internal/vcs/metadata.go @@ -682,7 +682,7 @@ type azurePullRequestResponse struct { MergeId string `json:"mergeId"` } -// getAzureRepoPRInfo attempts to get the azurePullRequestResponse using Azure DevOps Pipeline variables. +// getAzureReposPRInfo attempts to get the azurePullRequestResponse using Azure DevOps Pipeline variables. // This method is expected to often fail as Azure DevOps requires users to explicitly pass System.AccessToken as // an env var on the job step. func (f *metadataFetcher) getAzureReposPRInfo() azurePullRequestResponse { From fa4ed050a6edb8908119585f93b8f9c24689774b Mon Sep 17 00:00:00 2001 From: Vadim Golub Date: Tue, 9 Apr 2024 15:14:37 +0200 Subject: [PATCH 12/50] enhance: Remove links from usage cost headers to reduce noise in comments (#3009) --- .../comment_azure_repos_pull_request.golden | 6 ++---- .../comment_bitbucket_commit.golden | 2 +- .../comment_bitbucket_exclude_details.golden | 2 +- .../comment_bitbucket_pull_request.golden | 2 +- .../comment_git_hub_commit/comment_git_hub_commit.golden | 6 ++---- .../comment_git_hub_pull_request.golden | 6 ++---- .../comment_git_hub_show_all_projects.golden | 6 ++---- .../comment_git_hub_show_changed_projects.golden | 6 ++---- .../comment_git_hub_with_additional_comment_path.golden | 6 ++---- .../comment_git_lab_commit/comment_git_lab_commit.golden | 6 ++---- .../comment_git_lab_merge_request.golden | 6 ++---- .../output_format_azure_repos_comment.golden | 6 ++---- ...utput_format_azure_repos_comment_multiple_skipped.golden | 6 ++---- ...utput_format_bitbucket_comment_with_project_names.golden | 2 +- .../output_format_git_hub_comment.golden | 6 ++---- .../output_format_git_hub_comment_multiple_skipped.golden | 6 ++---- .../output_format_git_hub_comment_show_all_projects.golden | 6 ++---- ...output_format_git_hub_comment_with_project_errors.golden | 6 ++---- .../output_format_git_hub_comment_with_project_names.golden | 6 ++---- ..._git_hub_comment_with_project_names_with_metadata.golden | 6 ++---- ...output_format_git_hub_comment_without_module_path.golden | 6 ++---- .../output_format_git_lab_comment.golden | 6 ++---- .../output_format_git_lab_comment_multiple_skipped.golden | 6 ++---- internal/output/templates/markdown-html-usage-api.tmpl | 6 ++---- internal/output/templates/markdown-usage-api.tmpl | 2 +- 25 files changed, 45 insertions(+), 85 deletions(-) diff --git a/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden b/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden index 21a4fe3043c..93e3997a2e4 100644 --- a/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden +++ b/cmd/infracost/testdata/comment_azure_repos_pull_request/comment_azure_repos_pull_request.golden @@ -4,10 +4,8 @@ - - + + diff --git a/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden b/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden index f56586ed28d..ccf7ca21bf5 100644 --- a/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden +++ b/cmd/infracost/testdata/comment_bitbucket_commit/comment_bitbucket_commit.golden @@ -4,7 +4,7 @@ #### Monthly cost will increase by $41 ↑ #### -| **Changed project** | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| **Changed project** | **Baseline cost** | **Usage cost*** | **Total change** | **New monthly cost** | | ----------- | --------------: | --------------: | --------------: | --------------: | | infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | diff --git a/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden b/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden index 70acca23c07..0b6b04c9fe6 100644 --- a/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden +++ b/cmd/infracost/testdata/comment_bitbucket_exclude_details/comment_bitbucket_exclude_details.golden @@ -4,7 +4,7 @@ #### Monthly cost will increase by $41 ↑ #### -| **Changed project** | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| **Changed project** | **Baseline cost** | **Usage cost*** | **Total change** | **New monthly cost** | | ----------- | --------------: | --------------: | --------------: | --------------: | | infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | diff --git a/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden b/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden index 2e219a98bf2..18571f862e4 100644 --- a/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden +++ b/cmd/infracost/testdata/comment_bitbucket_pull_request/comment_bitbucket_pull_request.golden @@ -4,7 +4,7 @@ #### Monthly cost will increase by $41 ↑ #### -| **Changed project** | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| **Changed project** | **Baseline cost** | **Usage cost*** | **Total change** | **New monthly cost** | | ----------- | --------------: | --------------: | --------------: | --------------: | | infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json | +$41 | - | +$41 (+100%) | $81 | diff --git a/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden b/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden index 9e69dea5dfc..f3a05d730a9 100644 --- a/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden +++ b/cmd/infracost/testdata/comment_git_hub_commit/comment_git_hub_commit.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden b/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden index 00fcc258719..901ad1a574a 100644 --- a/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden +++ b/cmd/infracost/testdata/comment_git_hub_pull_request/comment_git_hub_pull_request.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden index 709812efdcd..170f5e611cc 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden index 1d6252beed4..eff08418408 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden index f6fe3f65ead..a687cb29c83 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden b/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden index ea4e062b382..b13434f9428 100644 --- a/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden +++ b/cmd/infracost/testdata/comment_git_lab_commit/comment_git_lab_commit.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden b/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden index b86765d586d..3527107b86c 100644 --- a/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden +++ b/cmd/infracost/testdata/comment_git_lab_merge_request/comment_git_lab_merge_request.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden b/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden index 53ac29e528a..2a80890d4d4 100644 --- a/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden +++ b/cmd/infracost/testdata/output_format_azure_repos_comment/output_format_azure_repos_comment.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden index 53ac29e528a..2a80890d4d4 100644 --- a/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_azure_repos_comment_multiple_skipped/output_format_azure_repos_comment_multiple_skipped.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden b/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden index 2dd9ec4a3fd..fb54d30cf91 100644 --- a/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden +++ b/cmd/infracost/testdata/output_format_bitbucket_comment_with_project_names/output_format_bitbucket_comment_with_project_names.golden @@ -4,7 +4,7 @@ #### Monthly cost will decrease by $3,364 ↓ #### -| **Changed project** | **Module path** | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| **Changed project** | **Module path** | **Baseline cost** | **Usage cost*** | **Total change** | **New monthly cost** | | ----------- | ---------- | --------------: | --------------: | --------------: | --------------: | | my first project | | -$561 | - | -$561 (-43%) | $743 | | my first project again | | -$561 | - | -$561 (-43%) | $743 | diff --git a/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden b/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden index 53ac29e528a..2a80890d4d4 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment/output_format_git_hub_comment.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden index 53ac29e528a..2a80890d4d4 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_multiple_skipped/output_format_git_hub_comment_multiple_skipped.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden b/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden index cd547490f36..d02211a4329 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_show_all_projects/output_format_git_hub_comment_show_all_projects.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden index 6a243ffda69..5e7969f82ac 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_errors/output_format_git_hub_comment_with_project_errors.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden index a71b2c6232b..e9ba4afa8ef 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names/output_format_git_hub_comment_with_project_names.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden index 804d7883126..240d5382abb 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_with_project_names_with_metadata/output_format_git_hub_comment_with_project_names_with_metadata.golden @@ -6,10 +6,8 @@ - - + + diff --git a/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden b/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden index 9ab4ad18fea..b0002d569e9 100644 --- a/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden +++ b/cmd/infracost/testdata/output_format_git_hub_comment_without_module_path/output_format_git_hub_comment_without_module_path.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
Changed project Module path WorkspaceBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden b/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden index 53ac29e528a..2a80890d4d4 100644 --- a/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden +++ b/cmd/infracost/testdata/output_format_git_lab_comment/output_format_git_lab_comment.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden b/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden index 53ac29e528a..2a80890d4d4 100644 --- a/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden +++ b/cmd/infracost/testdata/output_format_git_lab_comment_multiple_skipped/output_format_git_lab_comment_multiple_skipped.golden @@ -4,10 +4,8 @@
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- - + + diff --git a/internal/output/templates/markdown-html-usage-api.tmpl b/internal/output/templates/markdown-html-usage-api.tmpl index 8b0ec1b23be..d39de088b1e 100644 --- a/internal/output/templates/markdown-html-usage-api.tmpl +++ b/internal/output/templates/markdown-html-usage-api.tmpl @@ -73,10 +73,8 @@ in project `{{ index .ProjectNames 0 }}` {{- range metadataHeaders }} {{- end }} - - + + diff --git a/internal/output/templates/markdown-usage-api.tmpl b/internal/output/templates/markdown-usage-api.tmpl index 86b43d444b6..35cbf17708f 100644 --- a/internal/output/templates/markdown-usage-api.tmpl +++ b/internal/output/templates/markdown-usage-api.tmpl @@ -46,7 +46,7 @@ #### {{ formatCostChangeSentence .Root.Currency .Root.PastTotalMonthlyCost .Root.TotalMonthlyCost false }} #### {{- if displayTable }} -| **Changed project**{{- range metadataHeaders }} | **{{ . }}** {{- end }} | **[Baseline cost](## "Baseline costs are consistent charges for provisioned resources, like the hourly cost for a virtual machine, which stays constant no matter how much it is used. Infracost estimates these resources assuming they are used for the whole month (730 hours).")** | **[Usage cost](## "Usage costs are charges based on actual usage, like the storage cost for an object storage bucket. Infracost estimates these resources using the monthly usage values in the usage-file.")*** | **Total change** | **New monthly cost** | +| **Changed project**{{- range metadataHeaders }} | **{{ . }}** {{- end }} | **Baseline cost** | **Usage cost*** | **Total change** | **New monthly cost** | | -----------{{- range metadataHeaders }} | ---------- {{- end }} | --------------: | --------------: | --------------: | --------------: | {{- if gt (len .Root.Projects) 1 }} From 9ca991dd205ba6c219d36bf96716c7a9e048eac9 Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:56:45 -0400 Subject: [PATCH 13/50] enhance: comment show skipped 2 (#3013) * Revert "Revert "refactor: remove cruft"" This reverts commit ffc038b02300380ce507d9f27b1d1b390f002aed. * Revert "Revert "enhance: comment show skipped by default"" This reverts commit 36349ff1ed112a03d3cf642b09d0494430615a0a. * enhance: show the number of no-change projects instead of listing their names * test: update golden tests * refactor: make lint --- cmd/infracost/comment.go | 2 +- .../comment_azure_repos_help.golden | 2 +- .../comment_bitbucket_help.golden | 2 +- .../comment_git_hub_help.golden | 2 +- .../comment_git_hub_no_diff.golden | 11 ++++++++++- .../comment_git_hub_show_all_projects.golden | 3 +++ .../comment_git_hub_show_changed_projects.golden | 3 +++ ...ment_git_hub_with_additional_comment_path.golden | 3 +++ .../comment_git_lab_help.golden | 2 +- .../diff_with_compare_to_preserve_summary.golden | 4 ++-- internal/output/diff.go | 13 +++++++------ internal/output/table.go | 2 -- 12 files changed, 33 insertions(+), 16 deletions(-) diff --git a/cmd/infracost/comment.go b/cmd/infracost/comment.go index 5d8c667817a..3a8267211ef 100644 --- a/cmd/infracost/comment.go +++ b/cmd/infracost/comment.go @@ -62,7 +62,7 @@ func commentCmd(ctx *config.RunContext) *cobra.Command { subCmd.Flags().StringArray("policy-path", nil, "Path to Infracost policy files, glob patterns need quotes (experimental)") subCmd.Flags().Bool("show-all-projects", false, "Show all projects in the table of the comment output") subCmd.Flags().Bool("show-changed", false, "Show only projects in the table that have code changes") - subCmd.Flags().Bool("show-skipped", false, "List unsupported resources") + subCmd.Flags().Bool("show-skipped", true, "List unsupported resources") _ = subCmd.Flags().MarkHidden("show-changed") subCmd.Flags().Bool("skip-no-diff", false, "Skip posting comment if there are no resource changes. Only applies to update, hide-and-new, and delete-and-new behaviors") _ = subCmd.Flags().MarkHidden("skip-no-diff") diff --git a/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden b/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden index d86aaf956ca..e92fb6dd446 100644 --- a/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden +++ b/cmd/infracost/testdata/comment_azure_repos_help/comment_azure_repos_help.golden @@ -22,7 +22,7 @@ FLAGS --pull-request int Pull request number to post comment on --repo-url string Repository URL, e.g. https://dev.azure.com/my-org/my-project/_git/my-repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources + --show-skipped List unsupported resources (default true) --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden b/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden index 42f15f6064c..46f404e7dc0 100644 --- a/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden +++ b/cmd/infracost/testdata/comment_bitbucket_help/comment_bitbucket_help.golden @@ -29,7 +29,7 @@ FLAGS --pull-request int Pull request number to post comment on --repo string Repository in format workspace/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources + --show-skipped List unsupported resources (default true) --tag string Customize special text used to detect comments posted by Infracost (placed at the bottom of a comment) GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden b/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden index 5b3fb703e4a..4f62f7db22d 100644 --- a/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden +++ b/cmd/infracost/testdata/comment_git_hub_help/comment_git_hub_help.golden @@ -32,7 +32,7 @@ FLAGS --pull-request int Pull request number to post comment on, mutually exclusive with commit --repo string Repository in format owner/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources + --show-skipped List unsupported resources (default true) --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS diff --git a/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden b/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden index b51f5cf0c71..bc5df92feda 100644 --- a/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden +++ b/cmd/infracost/testdata/comment_git_hub_no_diff/comment_git_hub_no_diff.golden @@ -7,11 +7,20 @@ ``` ────────────────────────────────── +1 project has no cost estimate change. +Run the following command to see its breakdown: infracost breakdown --path=/path/to/code +────────────────────────────────── 189 cloud resources were detected: ∙ 31 were estimated ∙ 152 were free -∙ 6 are not supported yet, rerun with --show-skipped to see details +∙ 6 are not supported yet, see https://infracost.io/requested-resources: + ∙ 1 x aws_ami_from_instance + ∙ 1 x aws_appstream_fleet + ∙ 1 x aws_appstream_fleet_stack_association + ∙ 1 x aws_appstream_stack + ∙ 1 x aws_lightsail_instance_public_ports + ∙ 1 x aws_route53_vpc_association_authorization ``` diff --git a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden index 170f5e611cc..3f82fc36d1d 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_all_projects/comment_git_hub_show_all_projects.golden @@ -120,7 +120,10 @@ Percent: +100% ────────────────────────────────── Key: * usage cost, ~ changed, + added, - removed +1 project has no cost estimate change. +Run the following command to see its breakdown: infracost breakdown --path=/path/to/code +────────────────────────────────── *Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. 26 cloud resources were detected: diff --git a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden index eff08418408..66ccf6e253d 100644 --- a/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden +++ b/cmd/infracost/testdata/comment_git_hub_show_changed_projects/comment_git_hub_show_changed_projects.golden @@ -28,7 +28,10 @@ ``` ────────────────────────────────── +2 projects have no cost estimate changes. +Run the following command to see their breakdown: infracost breakdown --path=/path/to/code +────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated ``` diff --git a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden index a687cb29c83..70e96509b9f 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_additional_comment_path/comment_git_hub_with_additional_comment_path.golden @@ -28,7 +28,10 @@ ``` ────────────────────────────────── +2 projects have no cost estimate changes. +Run the following command to see their breakdown: infracost breakdown --path=/path/to/code +────────────────────────────────── 3 cloud resources were detected: ∙ 3 were estimated ``` diff --git a/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden b/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden index 581895ab9fe..994cea64e6c 100644 --- a/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden +++ b/cmd/infracost/testdata/comment_git_lab_help/comment_git_lab_help.golden @@ -28,7 +28,7 @@ FLAGS --policy-path stringArray Path to Infracost policy files, glob patterns need quotes (experimental) --repo string Repository in format owner/repo --show-all-projects Show all projects in the table of the comment output - --show-skipped List unsupported resources + --show-skipped List unsupported resources (default true) --tag string Customize hidden markdown tag used to detect comments posted by Infracost GLOBAL FLAGS diff --git a/cmd/infracost/testdata/diff_with_compare_to_preserve_summary/diff_with_compare_to_preserve_summary.golden b/cmd/infracost/testdata/diff_with_compare_to_preserve_summary/diff_with_compare_to_preserve_summary.golden index 0e96571fb8d..4ee79f85fdf 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_preserve_summary/diff_with_compare_to_preserve_summary.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_preserve_summary/diff_with_compare_to_preserve_summary.golden @@ -1,6 +1,6 @@ ────────────────────────────────── -The following projects have no cost estimate changes: infracost/infracost/cmd/infracost/testdata/express_route_gateway_plan.json -Run the following command to see their breakdown: infracost breakdown --path=/path/to/code +1 project has no cost estimate change. +Run the following command to see its breakdown: infracost breakdown --path=/path/to/code ────────────────────────────────── 8 cloud resources were detected: diff --git a/internal/output/diff.go b/internal/output/diff.go index e4bf47dc92a..d93492d3da7 100644 --- a/internal/output/diff.go +++ b/internal/output/diff.go @@ -109,15 +109,18 @@ func ToDiff(out Root, opts Options) ([]byte, error) { s += "──────────────────────────────────\n" } - s += fmt.Sprintf("The following projects have no cost estimate changes: %s", strings.Join(noDiffProjects, ", ")) - s += fmt.Sprintf("\nRun the following command to see their breakdown: %s", ui.PrimaryString("infracost breakdown --path=/path/to/code")) + if len(noDiffProjects) == 1 { + s += "1 project has no cost estimate change.\n" + s += fmt.Sprintf("Run the following command to see its breakdown: %s", ui.PrimaryString("infracost breakdown --path=/path/to/code")) + } else { + s += fmt.Sprintf("%d projects have no cost estimate changes.\n", len(noDiffProjects)) + s += fmt.Sprintf("Run the following command to see their breakdown: %s", ui.PrimaryString("infracost breakdown --path=/path/to/code")) + } s += "\n\n" s += "──────────────────────────────────" } - // for now only show the new usage-costs-including comment if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old comment template if hasDiffProjects { s += "\n" s += usageCostsMessage(out, false) @@ -163,8 +166,6 @@ func projectTitle(project Project) string { } func tableForDiff(out Root, opts Options) string { - // for now only show the new usage-costs in the table if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old table t := table.NewWriter() t.SetStyle(table.StyleBold) t.Style().Format.Header = text.FormatDefault diff --git a/internal/output/table.go b/internal/output/table.go index d557def95a3..89ca92ffc53 100644 --- a/internal/output/table.go +++ b/internal/output/table.go @@ -384,8 +384,6 @@ func filterZeroValResources(resources []Resource, resourceName string) []Resourc } func breakdownSummaryTable(out Root, opts Options) string { - // for now only show the new usage-costs in the table if the usage api has been enabled - // once we have all the other usage cost stuff done this will replace the old table t := table.NewWriter() t.SetStyle(table.StyleBold) t.Style().Format.Header = text.FormatDefault From e2f7fe8db5827dad75767562e9334180608b46bd Mon Sep 17 00:00:00 2001 From: Vadim Golub Date: Thu, 11 Apr 2024 11:54:01 +0200 Subject: [PATCH 14/50] fix(azure): Fix filters for Dds v5 PostgreSQL Flexible Servers (#3014) * fix(azure): Fix filters for Dds v5 PostgreSQL Flexible Servers Product name is different for v5: - `Azure Database for PostgreSQL Flexible Server General Purpose Dadsv5 Series Compute` for Dads v5 - `Azure Database for PostgreSQL Flexible Server General Purpose - Ddsv5 Series Compute` for Dds v5 * fix(azure): Update product name filter for Es v3 PostgreSQL Flexible Servers --- .../postgresql_flexible_server_test.golden | 13 +++++++--- .../postgresql_flexible_server_test.tf | 8 ++++++ .../azure/postgresql_flexible_server.go | 26 ++++++++++++------- 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden index 056ba367bb8..2a0ba911a82 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden @@ -21,6 +21,11 @@ ├─ Storage 128 GB $17.66 └─ Additional backup storage 5,000 GB $475.00 * + azurerm_postgresql_flexible_server.d2ds_v5 + ├─ Compute (GP_Standard_D2ds_v5) 730 hours $148.19 + ├─ Storage Monthly cost depends on usage: $0.14 per GB + └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB + azurerm_postgresql_flexible_server.burstable_b2ms_vcore ├─ Compute (B_Standard_B2ms) 730 hours $128.48 ├─ Storage 128 GB $17.66 @@ -31,17 +36,17 @@ ├─ Storage Monthly cost depends on usage: $0.12 per GB └─ Additional backup storage Monthly cost depends on usage: $0.095 per GB - OVERALL TOTAL $3,436.55 + OVERALL TOTAL $3,584.74 *Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. ────────────────────────────────── -7 cloud resources were detected: -∙ 6 were estimated +8 cloud resources were detected: +∙ 7 were estimated ∙ 1 was free ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPostgreSQLFlexibleServer ┃ $2,012 ┃ $1,425 ┃ $3,437 ┃ +┃ TestPostgreSQLFlexibleServer ┃ $2,160 ┃ $1,425 ┃ $3,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.tf b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.tf index 92ff690b494..7b02c855d9a 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.tf +++ b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.tf @@ -58,3 +58,11 @@ resource "azurerm_postgresql_flexible_server" "readable_location_set" { location = "East US" sku_name = "B_Standard_B1ms" } + +resource "azurerm_postgresql_flexible_server" "d2ds_v5" { + name = "example-psqlflexibleserver" + resource_group_name = azurerm_resource_group.example.name + location = azurerm_resource_group.example.location + + sku_name = "GP_Standard_D2ds_v5" +} diff --git a/internal/resources/azure/postgresql_flexible_server.go b/internal/resources/azure/postgresql_flexible_server.go index 722da485227..48ba1f20176 100644 --- a/internal/resources/azure/postgresql_flexible_server.go +++ b/internal/resources/azure/postgresql_flexible_server.go @@ -77,7 +77,7 @@ func (r *PostgreSQLFlexibleServer) computeCostComponent() *schema.CostComponent Service: strPtr("Azure Database for PostgreSQL"), ProductFamily: strPtr("Databases"), AttributeFilters: []*schema.AttributeFilter{ - {Key: "productName", ValueRegex: strPtr(fmt.Sprintf("/^Azure Database for PostgreSQL Flexible Server %s %s/i", attrs.TierName, attrs.Series))}, + {Key: "productName", ValueRegex: strPtr(fmt.Sprintf("/^%s %s (?:-\\s)?%s/i", attrs.ProductName, attrs.TierName, attrs.Series))}, {Key: "skuName", ValueRegex: regexPtr(fmt.Sprintf("^%s$", attrs.SKUName))}, {Key: "meterName", ValueRegex: regexPtr(fmt.Sprintf("^%s$", attrs.MeterName))}, }, @@ -143,10 +143,11 @@ func (r *PostgreSQLFlexibleServer) backupCostComponent() *schema.CostComponent { // flexibleServerFilterAttributes defines CPAPI filter attributes for compute // cost component derived from IaC provider's SKU. type flexibleServerFilterAttributes struct { - SKUName string - TierName string - MeterName string - Series string + ProductName string + SKUName string + TierName string + MeterName string + Series string } // getFlexibleServerFilterAttributes returns a struct with CPAPI filter @@ -160,6 +161,8 @@ func getFlexibleServerFilterAttributes(tier, instanceType, instanceVersion strin "mo": "Memory Optimized", }[tier] + productName := "Azure Database for PostgreSQL Flexible Server" + if tier == "b" { meterName = fmt.Sprintf("%s[ vcore]*", instanceType) skuName = instanceType @@ -173,12 +176,17 @@ func getFlexibleServerFilterAttributes(tier, instanceType, instanceVersion strin skuName = fmt.Sprintf("%s vCore", cores) series = coreRegex.ReplaceAllString(instanceType, "") + instanceVersion + + if series == "Esv3" { + productName = "Az DB for PGSQL Flexible Server" + } } return flexibleServerFilterAttributes{ - SKUName: skuName, - TierName: tierName, - MeterName: meterName, - Series: series, + ProductName: productName, + SKUName: skuName, + TierName: tierName, + MeterName: meterName, + Series: series, } } From 5c50f47e434a1a3c7c80218e9f2d4c9b5d31377f Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Wed, 17 Apr 2024 08:50:38 -0400 Subject: [PATCH 15/50] refactor: remove unused non-usage-api templates; rename usage-api templates (#3020) --- internal/output/markdown.go | 4 +- .../templates/markdown-html-usage-api.tmpl | 158 ------------------ internal/output/templates/markdown-html.tmpl | 42 ++++- .../output/templates/markdown-usage-api.tmpl | 127 -------------- internal/output/templates/markdown.tmpl | 40 ++++- 5 files changed, 68 insertions(+), 303 deletions(-) delete mode 100644 internal/output/templates/markdown-html-usage-api.tmpl delete mode 100644 internal/output/templates/markdown-usage-api.tmpl diff --git a/internal/output/markdown.go b/internal/output/markdown.go index 01aa6dbcadc..59724e9c841 100644 --- a/internal/output/markdown.go +++ b/internal/output/markdown.go @@ -160,9 +160,9 @@ func ToMarkdown(out Root, opts Options, markdownOpts MarkdownOptions) (MarkdownO var buf bytes.Buffer bufw := bufio.NewWriter(&buf) - filename := "markdown-html-usage-api.tmpl" + filename := "markdown-html.tmpl" if markdownOpts.BasicSyntax { - filename = "markdown-usage-api.tmpl" + filename = "markdown.tmpl" } runQuotaMsg, exceeded := out.Projects.IsRunQuotaExceeded() diff --git a/internal/output/templates/markdown-html-usage-api.tmpl b/internal/output/templates/markdown-html-usage-api.tmpl deleted file mode 100644 index d39de088b1e..00000000000 --- a/internal/output/templates/markdown-html-usage-api.tmpl +++ /dev/null @@ -1,158 +0,0 @@ -{{- define "policyOutputTable" }} - {{- if or .Failure .Warning }} - {{- if .Failure }} -

{{ .Name }} (needs action)

- {{- else }} -

⚠️ {{ .Name }} (warning)

- {{- end }} -
Changed projectBaseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
{{ . }}Baseline costUsage cost*Baseline costUsage cost* Total change New monthly cost
- {{- if .Message }} - - - - {{- end }} - {{- range .Details }} - - - - {{- end}} - {{- range .ResourceDetails }} - -{{- /* This td and markdown need to be left aligned to work properly. */ -}} -{{- /* This td needs to be left aligned to work properly. */ -}} - - {{- end}} - {{- if .TruncatedCount }} - - - - {{- end}} -
-

{{ .Message }}

-
-

{{ . }}

-
- -**{{ .Address }}** {{- if .Path }} at `{{ .Path }}{{- if .Line }}:{{ .Line }}{{- end}}`{{- end}} -{{- range .Violations }} - {{- range .Details }} -* {{ . }} - {{- end}} - {{ "" }} - {{- if gt (len .ProjectNames) 1 }} -in projects `{{ stringsJoin .ProjectNames "`, `" }}` - {{- else }} -in project `{{ index .ProjectNames 0 }}` - {{- end }} - {{ "" }} -{{- end }} -
-

... and {{ .TruncatedCount }} more. {{ if cloudURL }}View in Infracost Cloud.{{- end }}

-
- {{- end }} -{{- end }} - -{{- define "summaryRow"}} - - {{ truncateMiddle .Name 64 "..." }} - {{- range .MetadataFields }} - {{ truncateMiddle . 64 "..." }} - {{- end }} - {{ formatCostChangeWithoutPercent .PastBaselineCost .BaselineCost }} - {{ formatCostChangeWithoutPercent .PastUsageCost .UsageCost }} - {{ formatCostChange .PastCost .Cost }} - {{ formatCost .Cost }} - -{{- end}} -

💰 Infracost report

-

{{ formatCostChangeSentence .Root.Currency .Root.PastTotalMonthlyCost .Root.TotalMonthlyCost true }}

-{{- if displayTable }} - - - - {{- range metadataHeaders }} - - {{- end }} - - - - - - {{- if gt (len .Root.Projects) 1 }} - - {{- range .Root.Projects }} - {{- if showProject . }} - {{- template "summaryRow" dict - "Name" .Name - "MetadataFields" (. | metadataFields) - "PastBaselineCost" .PastBreakdown.TotalMonthlyBaselineCost - "BaselineCost" .Breakdown.TotalMonthlyBaselineCost - "PastUsageCost" .PastBreakdown.TotalMonthlyUsageCost - "UsageCost" .Breakdown.TotalMonthlyUsageCost - "PastCost" .PastBreakdown.TotalMonthlyCost - "Cost" .Breakdown.TotalMonthlyCost }} - {{- end }} - {{- end }} - -
Changed project{{ . }}Baseline costUsage cost*Total changeNew monthly cost
- {{- else }} - - {{- range .Root.Projects }} - {{- template "summaryRow" dict - "Name" .Name - "MetadataFields" (. | metadataFields) - "PastBaselineCost" .PastBreakdown.TotalMonthlyBaselineCost - "BaselineCost" .Breakdown.TotalMonthlyBaselineCost - "PastUsageCost" .PastBreakdown.TotalMonthlyUsageCost - "UsageCost" .Breakdown.TotalMonthlyUsageCost - "PastCost" .PastBreakdown.TotalMonthlyCost - "Cost" .Breakdown.TotalMonthlyCost }} - {{- end }} - - - {{- end }} - {{- if .UsageCostsMsg }} - - -{{.UsageCostsMsg }} - {{- end }} -{{- end }} - -{{- if displayOutput }} -
- -Cost details {{ .CostDetailsMsg }} - -``` -{{ .DiffOutput }} -``` -
-{{- end }} - -{{- if gt (len .Options.PolicyOutput.Checks) 0 }} - {{- if or .Options.PolicyOutput.HasFailures .Options.PolicyOutput.HasWarnings }} -
- {{- if .Options.PolicyOutput.HasFailures }} - ❌ Policies failed (needs action) - {{- else }} - ⚠️ Policies warning - {{- end }} - {{- range .Options.PolicyOutput.Checks }} - {{- template "policyOutputTable" . }} - {{- end}} -
- {{- else }} -

✅ Policies passed

- {{- end }} -{{- end}} - -{{- if .MarkdownOptions.Additional }} -{{ .MarkdownOptions.Additional }} -{{- end }} -{{- if displaySub }} - -{{- if .Root.CloudURL }}View report in Infracost Cloud. {{ end }} -{{- if .MarkdownOptions.WillUpdate }}This comment will be updated when code changes.{{- end}} -{{- if .MarkdownOptions.WillReplace }}This comment will be replaced when code changes.{{- end}} - -{{- end }} diff --git a/internal/output/templates/markdown-html.tmpl b/internal/output/templates/markdown-html.tmpl index 17effc678e1..d39de088b1e 100644 --- a/internal/output/templates/markdown-html.tmpl +++ b/internal/output/templates/markdown-html.tmpl @@ -58,27 +58,39 @@ in project `{{ index .ProjectNames 0 }}` {{- range .MetadataFields }} {{ truncateMiddle . 64 "..." }} {{- end }} - {{ formatCostChange .PastCost .Cost }} + {{ formatCostChangeWithoutPercent .PastBaselineCost .BaselineCost }} + {{ formatCostChangeWithoutPercent .PastUsageCost .UsageCost }} + {{ formatCostChange .PastCost .Cost }} {{ formatCost .Cost }} {{- end}} -

Infracost report

-

💰 {{ formatCostChangeSentence .Root.Currency .Root.PastTotalMonthlyCost .Root.TotalMonthlyCost true }}

+

💰 Infracost report

+

{{ formatCostChangeSentence .Root.Currency .Root.PastTotalMonthlyCost .Root.TotalMonthlyCost true }}

{{- if displayTable }} - + {{- range metadataHeaders }} {{- end }} - + + + {{- if gt (len .Root.Projects) 1 }} {{- range .Root.Projects }} {{- if showProject . }} - {{- template "summaryRow" dict "Name" .Name "MetadataFields" (. | metadataFields) "PastCost" .PastBreakdown.TotalMonthlyCost "Cost" .Breakdown.TotalMonthlyCost }} + {{- template "summaryRow" dict + "Name" .Name + "MetadataFields" (. | metadataFields) + "PastBaselineCost" .PastBreakdown.TotalMonthlyBaselineCost + "BaselineCost" .Breakdown.TotalMonthlyBaselineCost + "PastUsageCost" .PastBreakdown.TotalMonthlyUsageCost + "UsageCost" .Breakdown.TotalMonthlyUsageCost + "PastCost" .PastBreakdown.TotalMonthlyCost + "Cost" .Breakdown.TotalMonthlyCost }} {{- end }} {{- end }} @@ -86,16 +98,30 @@ in project `{{ index .ProjectNames 0 }}` {{- else }} {{- range .Root.Projects }} - {{- template "summaryRow" dict "Name" .Name "MetadataFields" (. | metadataFields) "PastCost" .PastBreakdown.TotalMonthlyCost "Cost" .Breakdown.TotalMonthlyCost }} + {{- template "summaryRow" dict + "Name" .Name + "MetadataFields" (. | metadataFields) + "PastBaselineCost" .PastBreakdown.TotalMonthlyBaselineCost + "BaselineCost" .Breakdown.TotalMonthlyBaselineCost + "PastUsageCost" .PastBreakdown.TotalMonthlyUsageCost + "UsageCost" .Breakdown.TotalMonthlyUsageCost + "PastCost" .PastBreakdown.TotalMonthlyCost + "Cost" .Breakdown.TotalMonthlyCost }} {{- end }}
ProjectChanged project{{ . }}Cost changeBaseline costUsage cost*Total change New monthly cost
{{- end }} + {{- if .UsageCostsMsg }} + + +{{.UsageCostsMsg }} + {{- end }} {{- end }} {{- if displayOutput }}
-Cost details + +Cost details {{ .CostDetailsMsg }} ``` {{ .DiffOutput }} diff --git a/internal/output/templates/markdown-usage-api.tmpl b/internal/output/templates/markdown-usage-api.tmpl deleted file mode 100644 index 35cbf17708f..00000000000 --- a/internal/output/templates/markdown-usage-api.tmpl +++ /dev/null @@ -1,127 +0,0 @@ -{{- define "policyOutputTable" }} - {{- if or .Failure .Warning }} - {{ if .Failure }} -### ❌ {{ .Name }} (needs action) ### - {{ else }} -### ⚠️ {{ .Name }} (warning) ### - {{ end }} - {{ if .Message }} -{{ .Message }} - {{ end }} - {{- range .Details }} -> {{ . }} - - {{ end}} - {{- range .ResourceDetails }} - -> **{{ .Address }}** {{- if .Path }} at `{{ .Path }}{{- if .Line }}:{{ .Line }}{{- end}}`{{- end}} - {{- range .Violations }} - {{- range .Details }} -> -> * {{ . }} - {{- end}} - - {{- if gt (len .ProjectNames) 1 }} -> -> in projects `{{ stringsJoin .ProjectNames "`, `" }}` - {{- else }} -> -> in project `{{ index .ProjectNames 0 }}` - {{- end }} - {{- end}} - {{- end}} - {{- if .TruncatedCount }} - -> ... and {{ .TruncatedCount }} more. View in Infracost Cloud.

- {{- end}} - {{- end }} -{{- end }} - -{{- define "summaryRow"}} -| {{ truncateMiddle .Name 64 "..." }}{{- range .MetadataFields }} | {{ . }} {{- end }} | {{ formatCostChangeWithoutPercent .PastBaselineCost .BaselineCost }} | {{ formatCostChangeWithoutPercent .PastUsageCost .UsageCost }} | {{ formatCostChange .PastCost .Cost }} | {{ formatCost .Cost }} | -{{- end }} - -#### 💰 Infracost report #### - -#### {{ formatCostChangeSentence .Root.Currency .Root.PastTotalMonthlyCost .Root.TotalMonthlyCost false }} #### -{{- if displayTable }} - -| **Changed project**{{- range metadataHeaders }} | **{{ . }}** {{- end }} | **Baseline cost** | **Usage cost*** | **Total change** | **New monthly cost** | -| -----------{{- range metadataHeaders }} | ---------- {{- end }} | --------------: | --------------: | --------------: | --------------: | - - {{- if gt (len .Root.Projects) 1 }} - {{- range .Root.Projects }} - {{- if showProject . }} - {{- template "summaryRow" dict - "Name" .Name - "MetadataFields" (. | metadataFields) - "PastBaselineCost" .PastBreakdown.TotalMonthlyBaselineCost - "BaselineCost" .Breakdown.TotalMonthlyBaselineCost - "PastUsageCost" .PastBreakdown.TotalMonthlyUsageCost - "UsageCost" .Breakdown.TotalMonthlyUsageCost - "PastCost" .PastBreakdown.TotalMonthlyCost - "Cost" .Breakdown.TotalMonthlyCost }} - {{- end }} - {{- end }} - {{- else }} - {{- range .Root.Projects }} - {{- template "summaryRow" dict - "Name" .Name - "MetadataFields" (. | metadataFields) - "PastBaselineCost" .PastBreakdown.TotalMonthlyBaselineCost - "BaselineCost" .Breakdown.TotalMonthlyBaselineCost - "PastUsageCost" .PastBreakdown.TotalMonthlyUsageCost - "UsageCost" .Breakdown.TotalMonthlyUsageCost - "PastCost" .PastBreakdown.TotalMonthlyCost - "Cost" .Breakdown.TotalMonthlyCost }} - {{- end }} - {{- end }} - {{- if .UsageCostsMsg }} - -{{.UsageCostsMsg }} - {{- end }} -{{- end }} - - -{{- if displayOutput }} - -##### Cost details {{ .CostDetailsMsg }} ##### - -``` -{{ .DiffOutput }} -``` -{{- else }} - -Cost details were left out because expandable comment sections are not supported.{{ if .Root.CloudURL }} See [Infracost Cloud]({{.Root.CloudURL}}) for full cost details{{ if .CostDetailsMsg }} {{.CostDetailsMsg }}.{{ else }}.{{end}}{{end}} -{{- end }} - -{{- if gt (len .Options.PolicyOutput.Checks) 0 }} - {{- if or .Options.PolicyOutput.HasFailures .Options.PolicyOutput.HasWarnings }} - {{- if .Options.PolicyOutput.HasFailures }} -## ❌ Policies failed (needs action) ## - {{- else }} -## ⚠️ Policies warning ## - {{- end }} - {{- range .Options.PolicyOutput.Checks }} - {{- template "policyOutputTable" . }} - {{- end}} - {{- else }} -## ✅ Policies passed ## - {{- end }} -{{- end}} -{{- if .MarkdownOptions.Additional }} - -{{ .MarkdownOptions.Additional }} -{{- end }} -{{- if .Root.CloudURL }} - -View report in [Infracost Cloud]({{ .Root.CloudURL }}). -{{- end }} -{{- if .MarkdownOptions.WillUpdate }} - -This comment will be updated when code changes. -{{- end }} -{{- if .MarkdownOptions.WillReplace }} - -This comment will be replaced when code changes. -{{- end }} diff --git a/internal/output/templates/markdown.tmpl b/internal/output/templates/markdown.tmpl index c7f8493a519..35cbf17708f 100644 --- a/internal/output/templates/markdown.tmpl +++ b/internal/output/templates/markdown.tmpl @@ -38,37 +38,61 @@ {{- end }} {{- define "summaryRow"}} -| {{ truncateMiddle .Name 64 "..." }}{{- range .MetadataFields }} | {{ . }} {{- end }} | {{ formatCostChange .PastCost .Cost }} | {{ formatCost .Cost }} | +| {{ truncateMiddle .Name 64 "..." }}{{- range .MetadataFields }} | {{ . }} {{- end }} | {{ formatCostChangeWithoutPercent .PastBaselineCost .BaselineCost }} | {{ formatCostChangeWithoutPercent .PastUsageCost .UsageCost }} | {{ formatCostChange .PastCost .Cost }} | {{ formatCost .Cost }} | {{- end }} -# Infracost report # +#### 💰 Infracost report #### -## {{ formatCostChangeSentence .Root.Currency .Root.PastTotalMonthlyCost .Root.TotalMonthlyCost false }} ## +#### {{ formatCostChangeSentence .Root.Currency .Root.PastTotalMonthlyCost .Root.TotalMonthlyCost false }} #### {{- if displayTable }} -| **Project**{{- range metadataHeaders }} | **{{ . }}** {{- end }} | **Cost change** | **New monthly cost** | -| -----------{{- range metadataHeaders }} | ---------- {{- end }} | --------------: | -------------------- | +| **Changed project**{{- range metadataHeaders }} | **{{ . }}** {{- end }} | **Baseline cost** | **Usage cost*** | **Total change** | **New monthly cost** | +| -----------{{- range metadataHeaders }} | ---------- {{- end }} | --------------: | --------------: | --------------: | --------------: | {{- if gt (len .Root.Projects) 1 }} {{- range .Root.Projects }} {{- if showProject . }} - {{- template "summaryRow" dict "Name" .Name "MetadataFields" (. | metadataFields) "PastCost" .PastBreakdown.TotalMonthlyCost "Cost" .Breakdown.TotalMonthlyCost }} + {{- template "summaryRow" dict + "Name" .Name + "MetadataFields" (. | metadataFields) + "PastBaselineCost" .PastBreakdown.TotalMonthlyBaselineCost + "BaselineCost" .Breakdown.TotalMonthlyBaselineCost + "PastUsageCost" .PastBreakdown.TotalMonthlyUsageCost + "UsageCost" .Breakdown.TotalMonthlyUsageCost + "PastCost" .PastBreakdown.TotalMonthlyCost + "Cost" .Breakdown.TotalMonthlyCost }} {{- end }} {{- end }} {{- else }} {{- range .Root.Projects }} - {{- template "summaryRow" dict "Name" .Name "MetadataFields" (. | metadataFields) "PastCost" .PastBreakdown.TotalMonthlyCost "Cost" .Breakdown.TotalMonthlyCost }} + {{- template "summaryRow" dict + "Name" .Name + "MetadataFields" (. | metadataFields) + "PastBaselineCost" .PastBreakdown.TotalMonthlyBaselineCost + "BaselineCost" .Breakdown.TotalMonthlyBaselineCost + "PastUsageCost" .PastBreakdown.TotalMonthlyUsageCost + "UsageCost" .Breakdown.TotalMonthlyUsageCost + "PastCost" .PastBreakdown.TotalMonthlyCost + "Cost" .Breakdown.TotalMonthlyCost }} {{- end }} {{- end }} + {{- if .UsageCostsMsg }} + +{{.UsageCostsMsg }} + {{- end }} {{- end }} + {{- if displayOutput }} -### Cost details ### +##### Cost details {{ .CostDetailsMsg }} ##### ``` {{ .DiffOutput }} ``` +{{- else }} + +Cost details were left out because expandable comment sections are not supported.{{ if .Root.CloudURL }} See [Infracost Cloud]({{.Root.CloudURL}}) for full cost details{{ if .CostDetailsMsg }} {{.CostDetailsMsg }}.{{ else }}.{{end}}{{end}} {{- end }} {{- if gt (len .Options.PolicyOutput.Checks) 0 }} From dd396759ace33b85dff610070c20dbea28102e99 Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Wed, 17 Apr 2024 08:51:09 -0400 Subject: [PATCH 16/50] fix: don't remove child of errored prior projects that exist in current (#3019) If a nested terragrunt project has syntax errors, the error is reported at the parent project path. To prevent the child project from appearing as "removed" when diff'd against a baseline without the syntax error, we search for and remove child projects of the parent path. BUT, since some child projects may have been processed successfully, we should only remove past children that don't exist in the current. --- cmd/infracost/diff_test.go | 15 + .../baseline.withouterror.json | 620 ++++++++++++++++++ .../diff_terragrunt_syntax_error.golden | 16 + .../infracost.config.yml | 4 + .../terragrunt/dev/terragrunt.hcl | 15 + .../terragrunt/modules/example/main.tf | 49 ++ .../terragrunt/prod/terragrunt.hcl | 16 + .../terragrunt/terragrunt.hcl | 18 + internal/output/combined.go | 8 + 9 files changed, 761 insertions(+) create mode 100644 cmd/infracost/testdata/diff_terragrunt_syntax_error/baseline.withouterror.json create mode 100644 cmd/infracost/testdata/diff_terragrunt_syntax_error/diff_terragrunt_syntax_error.golden create mode 100644 cmd/infracost/testdata/diff_terragrunt_syntax_error/infracost.config.yml create mode 100644 cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/dev/terragrunt.hcl create mode 100644 cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/modules/example/main.tf create mode 100644 cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/prod/terragrunt.hcl create mode 100644 cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/terragrunt.hcl diff --git a/cmd/infracost/diff_test.go b/cmd/infracost/diff_test.go index de88712b475..b821bf7ad94 100644 --- a/cmd/infracost/diff_test.go +++ b/cmd/infracost/diff_test.go @@ -265,6 +265,21 @@ func TestDiffTerragruntNested(t *testing.T) { GoldenFileCommandTest(t, testutil.CalcGoldenFileTestdataDirName(), []string{"diff", "--path", "../../examples", "--terraform-force-cli"}, nil) } +func TestDiffTerragruntSyntaxError(t *testing.T) { + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "diff", + "--compare-to", filepath.Join(dir, "baseline.withouterror.json"), + "--config-file", filepath.Join(dir, "infracost.config.yml"), + }, + &GoldenFileOptions{}, + ) +} + func TestDiffWithTarget(t *testing.T) { GoldenFileCommandTest(t, testutil.CalcGoldenFileTestdataDirName(), []string{"diff", "--path", "./testdata/plan_with_target.json"}, nil) } diff --git a/cmd/infracost/testdata/diff_terragrunt_syntax_error/baseline.withouterror.json b/cmd/infracost/testdata/diff_terragrunt_syntax_error/baseline.withouterror.json new file mode 100644 index 00000000000..994b70a7346 --- /dev/null +++ b/cmd/infracost/testdata/diff_terragrunt_syntax_error/baseline.withouterror.json @@ -0,0 +1,620 @@ +{ + "version": "0.2", + "metadata": { + "infracostCommand": "breakdown", + "vcsBranch": "stub-branch", + "vcsCommitSha": "stub-sha", + "vcsCommitAuthorName": "stub-author", + "vcsCommitAuthorEmail": "stub@stub.com", + "vcsCommitTimestamp": "2024-04-16T11:47:36.976505Z", + "vcsCommitMessage": "stub-message", + "vcsRepositoryUrl": "https://github.com/infracost/infracost", + "configFilePath": "testdata/diff_terragrunt_syntax_error/infracost.config.yml" + }, + "currency": "USD", + "projects": [ + { + "name": "dems-ag1", + "metadata": { + "path": "testdata/diff_terragrunt_syntax_error/terragrunt/dev", + "type": "terragrunt_dir", + "terraformModulePath": "terragrunt/dev", + "vcsSubPath": "cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/dev" + }, + "pastBreakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_instance.web_app", + "endLine": 40, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 26 + } + ], + "checksum": "9d5686abb1504e7ea06a56c2c1997956424fb39d74039eee65d9fe33e848656e", + "endLine": 40, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 26 + }, + "hourlyCost": "0.0711890410958904115", + "monthlyCost": "51.968", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, t2.micro)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.0116", + "hourlyCost": "0.0116", + "monthlyCost": "8.468" + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.0527397260273972615", + "monthlyCost": "38.5", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "0.136986301369863", + "monthlyQuantity": "100", + "price": "0.125", + "hourlyCost": "0.017123287671232875", + "monthlyCost": "12.5" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "0.5479452054794521", + "monthlyQuantity": "400", + "price": "0.065", + "hourlyCost": "0.0356164383561643865", + "monthlyCost": "26" + } + ] + } + ] + }, + { + "name": "aws_lambda_function.hello_world", + "resourceType": "aws_lambda_function", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_lambda_function.hello_world", + "endLine": 49, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 42 + } + ], + "checksum": "eb537a4b85bd5ec02439f7e4c8efe78c79f0e9b92a338e9566df0595f4935344", + "endLine": 49, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 42 + }, + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.2", + "hourlyCost": null, + "monthlyCost": null, + "usageBased": true + }, + { + "name": "Ephemeral storage", + "unit": "GB-seconds", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.0000000309", + "hourlyCost": null, + "monthlyCost": null + }, + { + "name": "Duration (first 6B)", + "unit": "GB-seconds", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.0000166667", + "hourlyCost": null, + "monthlyCost": null, + "usageBased": true + } + ] + } + ], + "totalHourlyCost": "0.0711890410958904115", + "totalMonthlyCost": "51.968", + "totalMonthlyUsageCost": "0" + }, + "breakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_instance.web_app", + "endLine": 40, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 26 + } + ], + "checksum": "9d5686abb1504e7ea06a56c2c1997956424fb39d74039eee65d9fe33e848656e", + "endLine": 40, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 26 + }, + "hourlyCost": "0.0711890410958904115", + "monthlyCost": "51.968", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, t2.micro)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.0116", + "hourlyCost": "0.0116", + "monthlyCost": "8.468" + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.0527397260273972615", + "monthlyCost": "38.5", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "0.136986301369863", + "monthlyQuantity": "100", + "price": "0.125", + "hourlyCost": "0.017123287671232875", + "monthlyCost": "12.5" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "0.5479452054794521", + "monthlyQuantity": "400", + "price": "0.065", + "hourlyCost": "0.0356164383561643865", + "monthlyCost": "26" + } + ] + } + ] + }, + { + "name": "aws_lambda_function.hello_world", + "resourceType": "aws_lambda_function", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_lambda_function.hello_world", + "endLine": 49, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 42 + } + ], + "checksum": "eb537a4b85bd5ec02439f7e4c8efe78c79f0e9b92a338e9566df0595f4935344", + "endLine": 49, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 42 + }, + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.2", + "hourlyCost": null, + "monthlyCost": null, + "usageBased": true + }, + { + "name": "Ephemeral storage", + "unit": "GB-seconds", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.0000000309", + "hourlyCost": null, + "monthlyCost": null + }, + { + "name": "Duration (first 6B)", + "unit": "GB-seconds", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.0000166667", + "hourlyCost": null, + "monthlyCost": null, + "usageBased": true + } + ] + } + ], + "totalHourlyCost": "0.0711890410958904115", + "totalMonthlyCost": "51.968", + "totalMonthlyUsageCost": "0" + }, + "diff": { + "resources": [], + "totalHourlyCost": "0", + "totalMonthlyCost": "0", + "totalMonthlyUsageCost": "0" + }, + "summary": { + "totalDetectedResources": 2, + "totalSupportedResources": 2, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 2, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } + }, + { + "name": "dems-ag1", + "metadata": { + "path": "testdata/diff_terragrunt_syntax_error/terragrunt/prod", + "type": "terragrunt_dir", + "terraformModulePath": "terragrunt/prod", + "vcsSubPath": "cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/prod" + }, + "pastBreakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_instance.web_app", + "endLine": 40, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 26 + } + ], + "checksum": "68a408f4bf19420a57d0faab69d346b9c160280a7d3c172938837f9744a288c9", + "endLine": 40, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 26 + }, + "hourlyCost": "1.024164383561643829", + "monthlyCost": "747.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64" + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.0136986301369863", + "monthlyCost": "10", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.136986301369863", + "monthlyQuantity": "100", + "price": "0.1", + "hourlyCost": "0.0136986301369863", + "monthlyCost": "10" + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + }, + { + "name": "aws_lambda_function.hello_world", + "resourceType": "aws_lambda_function", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_lambda_function.hello_world", + "endLine": 49, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 42 + } + ], + "checksum": "60a2f83ce9c8af13318d4885d554022ed5896a97e8c930a156f612b7274eb8cc", + "endLine": 49, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 42 + }, + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.2", + "hourlyCost": null, + "monthlyCost": null, + "usageBased": true + }, + { + "name": "Ephemeral storage", + "unit": "GB-seconds", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.0000000309", + "hourlyCost": null, + "monthlyCost": null + }, + { + "name": "Duration (first 6B)", + "unit": "GB-seconds", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.0000166667", + "hourlyCost": null, + "monthlyCost": null, + "usageBased": true + } + ] + } + ], + "totalHourlyCost": "1.024164383561643829", + "totalMonthlyCost": "747.64", + "totalMonthlyUsageCost": "0" + }, + "breakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_instance.web_app", + "endLine": 40, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 26 + } + ], + "checksum": "68a408f4bf19420a57d0faab69d346b9c160280a7d3c172938837f9744a288c9", + "endLine": 40, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 26 + }, + "hourlyCost": "1.024164383561643829", + "monthlyCost": "747.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64" + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.0136986301369863", + "monthlyCost": "10", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.136986301369863", + "monthlyQuantity": "100", + "price": "0.1", + "hourlyCost": "0.0136986301369863", + "monthlyCost": "10" + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + }, + { + "name": "aws_lambda_function.hello_world", + "resourceType": "aws_lambda_function", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_lambda_function.hello_world", + "endLine": 49, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 42 + } + ], + "checksum": "60a2f83ce9c8af13318d4885d554022ed5896a97e8c930a156f612b7274eb8cc", + "endLine": 49, + "filename": "testdata/.infracost/.terragrunt-cache/Ry51B17-5L-TUeogwjy_Ie214sw-UE5g00fnu6Xl8bU4Czra1P4YRNg/modules/example/main.tf", + "startLine": 42 + }, + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.2", + "hourlyCost": null, + "monthlyCost": null, + "usageBased": true + }, + { + "name": "Ephemeral storage", + "unit": "GB-seconds", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.0000000309", + "hourlyCost": null, + "monthlyCost": null + }, + { + "name": "Duration (first 6B)", + "unit": "GB-seconds", + "hourlyQuantity": null, + "monthlyQuantity": null, + "price": "0.0000166667", + "hourlyCost": null, + "monthlyCost": null, + "usageBased": true + } + ] + } + ], + "totalHourlyCost": "1.024164383561643829", + "totalMonthlyCost": "747.64", + "totalMonthlyUsageCost": "0" + }, + "diff": { + "resources": [], + "totalHourlyCost": "0", + "totalMonthlyCost": "0", + "totalMonthlyUsageCost": "0" + }, + "summary": { + "totalDetectedResources": 2, + "totalSupportedResources": 2, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 2, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } + } + ], + "totalHourlyCost": "1.0953534246575342405", + "totalMonthlyCost": "799.608", + "totalMonthlyUsageCost": "0", + "pastTotalHourlyCost": "1.0953534246575342405", + "pastTotalMonthlyCost": "799.608", + "pastTotalMonthlyUsageCost": "0", + "diffTotalHourlyCost": "0", + "diffTotalMonthlyCost": "0", + "diffTotalMonthlyUsageCost": "0", + "timeGenerated": "2024-04-16T11:47:36.976505Z", + "summary": { + "totalDetectedResources": 4, + "totalSupportedResources": 4, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 4, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } +} diff --git a/cmd/infracost/testdata/diff_terragrunt_syntax_error/diff_terragrunt_syntax_error.golden b/cmd/infracost/testdata/diff_terragrunt_syntax_error/diff_terragrunt_syntax_error.golden new file mode 100644 index 00000000000..09a92b6387b --- /dev/null +++ b/cmd/infracost/testdata/diff_terragrunt_syntax_error/diff_terragrunt_syntax_error.golden @@ -0,0 +1,16 @@ +────────────────────────────────── +Project: dems-ag1 +Errors: + Error processing module at 'REPLACED_PROJECT_PATH/infracost/infracost/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/dev/terragrunt.hcl'. How this module was found: + Terragrunt config file found in a subdirectory of testdata/diff_terragrunt_syntax_error/terragrunt/dev. Underlying error: + REPLACED_PROJECT_PATH/infracost/infracost/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/dev/terragrunt.hcl:16,1-1: + Missing expression; Expected the start of an expression, but found the end of the file. + +────────────────────────────────── + +2 cloud resources were detected: +∙ 2 were estimated + +Err: + + diff --git a/cmd/infracost/testdata/diff_terragrunt_syntax_error/infracost.config.yml b/cmd/infracost/testdata/diff_terragrunt_syntax_error/infracost.config.yml new file mode 100644 index 00000000000..acf152d16dc --- /dev/null +++ b/cmd/infracost/testdata/diff_terragrunt_syntax_error/infracost.config.yml @@ -0,0 +1,4 @@ +version: 0.1 +projects: + - path: ./testdata/diff_terragrunt_syntax_error/terragrunt + name: dems-ag1 \ No newline at end of file diff --git a/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/dev/terragrunt.hcl b/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/dev/terragrunt.hcl new file mode 100644 index 00000000000..dc682493893 --- /dev/null +++ b/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/dev/terragrunt.hcl @@ -0,0 +1,15 @@ +include { + path = find_in_parent_folders() +} + +terraform { + source = "..//modules/example" +} + +inputs = { + instance_type = "t2.micro" + root_block_device_volume_size = 50 + block_device_volume_size = 100 + block_device_iops = 400 + hello_world_function_memory_size = 512 + diff --git a/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/modules/example/main.tf b/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/modules/example/main.tf new file mode 100644 index 00000000000..1e6da2c35ed --- /dev/null +++ b/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/modules/example/main.tf @@ -0,0 +1,49 @@ +variable "instance_type" { + description = "The EC2 instance type for the web app" + type = string +} + +variable "root_block_device_volume_size" { + description = "The size of the root block device volume for the web app EC2 instance" + type = number +} + +variable "block_device_volume_size" { + description = "The size of the block device volume for the web app EC2 instance" + type = number +} + +variable "block_device_iops" { + description = "The number of IOPS for the block device for the web app EC2 instance" + type = number +} + +variable "hello_world_function_memory_size" { + description = "The memory to allocate to the hello world Lambda function" + type = number +} + +resource "aws_instance" "web_app" { + ami = "ami-674cbc1e" + instance_type = var.instance_type + + root_block_device { + volume_size = var.root_block_device_volume_size + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" + volume_size = var.block_device_volume_size + iops = var.block_device_iops + } +} + +resource "aws_lambda_function" "hello_world" { + function_name = "hello_world" + role = "arn:aws:lambda:us-east-1:aws:resource-id" + handler = "exports.test" + runtime = "nodejs12.x" + filename = "function.zip" + memory_size = var.hello_world_function_memory_size +} diff --git a/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/prod/terragrunt.hcl b/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/prod/terragrunt.hcl new file mode 100644 index 00000000000..5b45e48c40c --- /dev/null +++ b/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/prod/terragrunt.hcl @@ -0,0 +1,16 @@ +include { + path = find_in_parent_folders() +} + +terraform { + source = "..//modules/example" +} + +inputs = { + instance_type = "m5.4xlarge" + root_block_device_volume_size = 100 + block_device_volume_size = 1000 + block_device_iops = 800 + + hello_world_function_memory_size = 1024 +} diff --git a/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/terragrunt.hcl b/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/terragrunt.hcl new file mode 100644 index 00000000000..b662c9f9acd --- /dev/null +++ b/cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/terragrunt.hcl @@ -0,0 +1,18 @@ +locals { + aws_region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs +} + +# Generate an AWS provider block +generate "provider" { + path = "provider.tf" + if_exists = "overwrite_terragrunt" + contents = < 0 { for _, child := range children { + if _, ok := currentProjectLabels[child]; ok { + // this child has a match in the current projects so it should not be deleted + continue + } delete(priorProjects, child) } } From 7cea35fd9e3962fd973dd9789751c2c9fa104dcf Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Wed, 17 Apr 2024 15:42:57 +0200 Subject: [PATCH 17/50] fix: `time_static` return values (#2981) Adds missing return values from `time_static` resource which was introduced in https://github.com/infracost/infracost/pull/2978. The resource should actually return: ``` day (Number) Number day of timestamp. hour (Number) Number hour of timestamp. id (String) RFC3339 format of the offset timestamp, e.g. 2020-02-12T06:36:13Z. minute (Number) Number minute of timestamp. month (Number) Number month of timestamp. second (Number) Number second of timestamp. unix (Number) Number of seconds since epoch time, e.g. 1581489373. year (Number) Number year of timestamp. ``` It uses a `rfc3339` attribute to configure the time that is returned. If this is blank it defaults to the current time. --- internal/hcl/block.go | 29 ++++++++++++++++++++++++++--- internal/hcl/parser_test.go | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 59 insertions(+), 5 deletions(-) diff --git a/internal/hcl/block.go b/internal/hcl/block.go index f98fd8d4952..7d0b9344835 100644 --- a/internal/hcl/block.go +++ b/internal/hcl/block.go @@ -1343,12 +1343,35 @@ var ( } ) -// timeStaticValues mocks the values returned from resource.time_static -// which is a resource that returns the current time in an RFC3339 format. +// timeStaticValues mocks the values returned from resource.time_static which is +// a resource that returns the attributes of the provided rfc3339 time. If none +// is provided, it defaults to the current time. +// // https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/static func timeStaticValues(b *Block) cty.Value { + now := time.Now() + var inputDateStr string + v := b.GetAttribute("rfc3339").Value() + _ = gocty.FromCtyValue(v, &inputDateStr) + if inputDateStr == "" { + inputDateStr = now.Format(time.RFC3339) + } + + inputDate, err := time.Parse(time.RFC3339, inputDateStr) + if err != nil { + inputDate = now + } + return cty.ObjectVal(map[string]cty.Value{ - "rfc3339": cty.StringVal(time.Now().Format(time.RFC3339)), + "rfc3339": cty.StringVal(inputDateStr), + "day": cty.NumberIntVal(int64(inputDate.Day())), + "hour": cty.NumberIntVal(int64(inputDate.Hour())), + "id": cty.StringVal(inputDate.Format(time.RFC3339)), + "minute": cty.NumberIntVal(int64(inputDate.Minute())), + "month": cty.NumberIntVal(int64(inputDate.Month())), + "second": cty.NumberIntVal(int64(inputDate.Second())), + "unix": cty.NumberIntVal(inputDate.Unix()), + "year": cty.NumberIntVal(int64(inputDate.Year())), }) } diff --git a/internal/hcl/parser_test.go b/internal/hcl/parser_test.go index 57cb856de01..a99fcc3d80f 100644 --- a/internal/hcl/parser_test.go +++ b/internal/hcl/parser_test.go @@ -1854,7 +1854,10 @@ resource "bar" "a" { func Test_TimeStaticResource(t *testing.T) { path := createTestFile("main.tf", ` -resource "time_static" "example" {} +resource "time_static" "input" { + rfc3339 = "2021-01-01T05:04:02Z" +} +resource "time_static" "default" {} `, ) @@ -1870,11 +1873,39 @@ resource "time_static" "example" {} module, err := parser.ParseDirectory() require.NoError(t, err) - resource := module.Blocks.Matching(BlockMatcher{Label: "time_static.example"}) + resource := module.Blocks.Matching(BlockMatcher{Label: "time_static.default"}) val := resource.Values().AsValueMap()["rfc3339"].AsString() current, err := time.Parse(time.RFC3339, val) require.NoError(t, err) assert.WithinDuration(t, time.Now(), current, 5*time.Minute) + + resource = module.Blocks.Matching(BlockMatcher{Label: "time_static.input"}) + valueMap := resource.Values().AsValueMap() + val = valueMap["rfc3339"].AsString() + current, err = time.Parse(time.RFC3339, val) + require.NoError(t, err) + assert.Equal(t, "2021-01-01T05:04:02Z", current.Format(time.RFC3339)) + day := valueMap["day"].AsBigFloat() + i, _ := day.Int64() + assert.Equal(t, 1, int(i)) + hour := valueMap["hour"].AsBigFloat() + i, _ = hour.Int64() + assert.Equal(t, 5, int(i)) + minute := valueMap["minute"].AsBigFloat() + i, _ = minute.Int64() + assert.Equal(t, 4, int(i)) + month := valueMap["month"].AsBigFloat() + i, _ = month.Int64() + assert.Equal(t, 1, int(i)) + second := valueMap["second"].AsBigFloat() + i, _ = second.Int64() + assert.Equal(t, 2, int(i)) + unix := valueMap["unix"].AsBigFloat() + i, _ = unix.Int64() + assert.Equal(t, int64(1609477442), i) + year := valueMap["year"].AsBigFloat() + i, _ = year.Int64() + assert.Equal(t, 2021, int(i)) } func BenchmarkParserEvaluate(b *testing.B) { From b17f3e00b657acbf52fab0e2a09bda8da4586b0a Mon Sep 17 00:00:00 2001 From: hidewrong <167099254+hidewrong@users.noreply.github.com> Date: Thu, 18 Apr 2024 00:51:30 +0800 Subject: [PATCH 18/50] chore: fix some comments (#3018) Signed-off-by: hidewrong --- internal/resources/aws/ec2_host.go | 2 +- internal/resources/azure/cognitive_account_language.go | 2 +- internal/resources/azure/cognitive_account_luis.go | 2 +- internal/resources/azure/monitor_metric_alert.go | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/resources/aws/ec2_host.go b/internal/resources/aws/ec2_host.go index 4364beebad1..a738c3007a7 100644 --- a/internal/resources/aws/ec2_host.go +++ b/internal/resources/aws/ec2_host.go @@ -11,7 +11,7 @@ import ( "github.com/infracost/infracost/internal/schema" ) -// Ec2Host defines an AWS EC2 dedicated host. It suppports multiple instance families & allows +// 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. // diff --git a/internal/resources/azure/cognitive_account_language.go b/internal/resources/azure/cognitive_account_language.go index 2d684958b92..a97a6d09c7f 100644 --- a/internal/resources/azure/cognitive_account_language.go +++ b/internal/resources/azure/cognitive_account_language.go @@ -14,7 +14,7 @@ import ( var validLanguageCommitmentTierTextAnalyticsRecords = []int64{1_000_000, 3_000_000, 10_000_000} var validLanguageCommitmentTierSummarizationRecords = []int64{3_000_000, 10_000_000} -// CognitiveAccountSpeech struct represents the Azure AI Language Service. +// CognitiveAccountLanguage struct represents the Azure AI Language Service. // This supports the pay-as-you pricing and the standard and connected container commitment tiers. // This doesn't currently support the disconnected container commitment tier. // diff --git a/internal/resources/azure/cognitive_account_luis.go b/internal/resources/azure/cognitive_account_luis.go index 6123f558594..cd61cc265ac 100644 --- a/internal/resources/azure/cognitive_account_luis.go +++ b/internal/resources/azure/cognitive_account_luis.go @@ -11,7 +11,7 @@ import ( var validLUISCommitmentTierRequests = []int64{1_000_000, 5_000_000, 25_000_000} -// CognitiveAccountSpeech struct represents the Azure LUIS AI resource. +// CognitiveAccountLUIS struct represents the Azure LUIS AI resource. // This supports the pay-as-you pricing and the standard and connected container commitment tiers. // This doesn't currently support the disconnected container commitment tier. // diff --git a/internal/resources/azure/monitor_metric_alert.go b/internal/resources/azure/monitor_metric_alert.go index 7a55d11a943..17801d2c677 100644 --- a/internal/resources/azure/monitor_metric_alert.go +++ b/internal/resources/azure/monitor_metric_alert.go @@ -6,7 +6,7 @@ import ( "github.com/shopspring/decimal" ) -// MonitorActionGroup struct represents an Azure Monitor Action Group. +// MonitorMetricAlert struct represents an Azure Monitor Metric Group. // // Resource information: https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-overview // Pricing information: https://azure.microsoft.com/en-us/pricing/details/monitor/ From e0010ee09520950253b6952d4dbd50f9eaa760a1 Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Fri, 19 Apr 2024 10:28:07 +0200 Subject: [PATCH 19/50] fix: dynamic block names in logs (#3021) Previously these appeared in logs as `block_name=content.` This now fixes it so it shows `block_name=aws_security_group.my_sg.dynamic.ingress.content`. We do this by looping through any parent blocks and prefixing the block name with their labels. --- internal/hcl/block.go | 16 +++++++++++- internal/hcl/block_test.go | 50 ++++++++++++++++++++++++++++++++++++++ internal/hcl/reference.go | 7 ++++-- 3 files changed, 70 insertions(+), 3 deletions(-) diff --git a/internal/hcl/block.go b/internal/hcl/block.go index 7d0b9344835..0f698fbdcec 100644 --- a/internal/hcl/block.go +++ b/internal/hcl/block.go @@ -1116,7 +1116,21 @@ func (b *Block) Reference() *Reference { var parts []string - if b.Type() != "resource" || b.parent != nil { + parent := b.parent + for parent != nil { + var parentParts []string + + if parent.Type() != "resource" { + parentParts = append(parentParts, parent.Type()) + } + + parentParts = append(parentParts, parent.Labels()...) + + parts = append(parentParts, parts...) + parent = parent.parent + } + + if b.Type() != "resource" { parts = append(parts, b.Type()) } diff --git a/internal/hcl/block_test.go b/internal/hcl/block_test.go index 15cb077a5a0..86714bad8de 100644 --- a/internal/hcl/block_test.go +++ b/internal/hcl/block_test.go @@ -46,6 +46,56 @@ func TestBlock_LocalName(t *testing.T) { }, want: "data.my-block.my-name", }, + { + name: "dynamic block inside resource blocks will return reference with parent blocks", + block: &Block{ + HCLBlock: &hcl.Block{ + Type: "content", + Labels: []string{}, + }, + parent: &Block{ + HCLBlock: &hcl.Block{ + Type: "dynamic", + Labels: []string{"my-dynamic-block"}, + }, + logger: newDiscardLogger(), + parent: &Block{ + HCLBlock: &hcl.Block{ + Type: "resource", + Labels: []string{"my-resource", "my-name"}, + }, + logger: newDiscardLogger(), + }, + }, + logger: newDiscardLogger(), + }, + want: "my-resource.my-name.dynamic.my-dynamic-block.content", + }, + { + name: "dynamic block inside data blocks will return reference with parent blocks", + block: &Block{ + HCLBlock: &hcl.Block{ + Type: "content", + Labels: []string{}, + }, + parent: &Block{ + HCLBlock: &hcl.Block{ + Type: "dynamic", + Labels: []string{"my-dynamic-block"}, + }, + logger: newDiscardLogger(), + parent: &Block{ + HCLBlock: &hcl.Block{ + Type: "data", + Labels: []string{"my-block", "my-name"}, + }, + logger: newDiscardLogger(), + }, + }, + logger: newDiscardLogger(), + }, + want: "data.my-block.my-name.dynamic.my-dynamic-block.content", + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/internal/hcl/reference.go b/internal/hcl/reference.go index 48b608b4045..42668783f0a 100644 --- a/internal/hcl/reference.go +++ b/internal/hcl/reference.go @@ -29,11 +29,14 @@ func newReference(parts []string) (*Reference, error) { ref.blockType = *blockType + remainderIndex := 3 + if ref.blockType.removeTypeInReference && parts[0] != blockType.name { ref.typeLabel = parts[0] if len(parts) > 1 { ref.nameLabel = parts[1] } + remainderIndex = 2 } else if len(parts) > 1 { ref.typeLabel = parts[1] if len(parts) > 2 { @@ -50,8 +53,8 @@ func newReference(parts []string) (*Reference, error) { ref.key = "[" + bits[1] } - if len(parts) > 3 { - ref.remainder = parts[3:] + if len(parts) > remainderIndex { + ref.remainder = parts[remainderIndex:] } return &ref, nil From 478a3feee9c77f546505b598b9475fe16891dbb5 Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Mon, 22 Apr 2024 11:33:08 +0200 Subject: [PATCH 20/50] fix: don't autodetect paths if `--terraform-var-file` is used explicitly (#3026) Changes `Detect` functionality to skip autodetection if a Terraform var file is explicitly provided by the user. Terraform var file paths are relative to the project root, so it doesn't make sense to autodetect directories if an explicit var path has been used. The original ticket for this change also mentioned that we should omit autodetect if `--terraform-var` was also used. I've decided not to do this, as I think this might be a valid case. For example providing a default variable across a set of autodetected projects, e.g. `git_sha`. --- cmd/infracost/breakdown_test.go | 16 ++++++++++ ...ection_if_terraform_var_file_passed.golden | 25 ++++++++++++++++ .../examples/dev.tfvars | 1 + .../examples/main.tf | 11 +++++++ .../main.tf | 11 +++++++ .../prod.tfvars | 1 + internal/hcl/project_locator.go | 30 +++++++++++-------- internal/providers/detect.go | 17 ++++++----- 8 files changed, 93 insertions(+), 19 deletions(-) create mode 100644 cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden create mode 100644 cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/examples/dev.tfvars create mode 100644 cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/examples/main.tf create mode 100644 cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/main.tf create mode 100644 cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/prod.tfvars diff --git a/cmd/infracost/breakdown_test.go b/cmd/infracost/breakdown_test.go index 5f65b4bcb2f..601ddc11fdd 100644 --- a/cmd/infracost/breakdown_test.go +++ b/cmd/infracost/breakdown_test.go @@ -1306,3 +1306,19 @@ func TestBreakdownEmptyAPIKey(t *testing.T) { }, ) } + +func TestBreakdownSkipAutodetectionIfTerraformVarFilePassed(t *testing.T) { + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + "--terraform-var-file", + "prod.tfvars", + }, + nil, + ) +} diff --git a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden new file mode 100644 index 00000000000..7fbb5155778 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden @@ -0,0 +1,25 @@ +Project: infracost/infracost/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m4.large) 730 hours $73.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $73.80 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +1 cloud resource was detected: +∙ 1 was estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_if_terraform_var_file_passed ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + diff --git a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/examples/dev.tfvars b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/examples/dev.tfvars new file mode 100644 index 00000000000..2d019c8c6cf --- /dev/null +++ b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/examples/dev.tfvars @@ -0,0 +1 @@ +instance_type = "t2.micro" diff --git a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/examples/main.tf b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/examples/main.tf new file mode 100644 index 00000000000..d2393d30558 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/examples/main.tf @@ -0,0 +1,11 @@ +provider "aws" { + region = "us-west-2" +} + +variable "instance_type" {} + +resource "aws_instance" "web_app" { + ami = "ami-0c55b159cbfafe1f0" + instance_type = var.instance_type +} + diff --git a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/main.tf b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/main.tf new file mode 100644 index 00000000000..d2393d30558 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/main.tf @@ -0,0 +1,11 @@ +provider "aws" { + region = "us-west-2" +} + +variable "instance_type" {} + +resource "aws_instance" "web_app" { + ami = "ami-0c55b159cbfafe1f0" + instance_type = var.instance_type +} + diff --git a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/prod.tfvars b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/prod.tfvars new file mode 100644 index 00000000000..e69369900a2 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/prod.tfvars @@ -0,0 +1 @@ +instance_type = "m4.large" diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index 9ca0a927019..35f9f7fe517 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -1059,13 +1059,6 @@ func (r *RootPath) AddVarFiles(v *VarFiles) { // FindRootModules returns a list of all directories that contain a full Terraform project under the given fullPath. // This list excludes any Terraform modules that have been found (if they have been called by a Module source). func (p *ProjectLocator) FindRootModules(fullPath string) []RootPath { - if p.skip { - return []RootPath{ - { - Path: fullPath, - }, - } - } p.basePath, _ = filepath.Abs(fullPath) p.modules = make(map[string]struct{}) p.projectDuplicates = make(map[string]bool) @@ -1073,12 +1066,25 @@ func (p *ProjectLocator) FindRootModules(fullPath string) []RootPath { p.wdContainsTerragrunt = false p.discoveredProjects = []discoveredProject{} p.discoveredVarFiles = make(map[string][]RootPathVarFile) - p.shouldSkipDir = buildDirMatcher(p.excludedDirs, fullPath) p.shouldIncludeDir = buildDirMatcher(p.includedDirs, fullPath) + if p.skip { + // if we are skipping auto-detection we just return the root path, but we still + // want to walk the paths to find any auto.tfvars or terraform.tfvars files. So + // let's just walk the top level directory. + p.walkPaths(fullPath, 0, 1) + + return []RootPath{ + { + Path: fullPath, + TerraformVarFiles: p.discoveredVarFiles[fullPath], + }, + } + } + p.findTerragruntDirs(fullPath) - p.walkPaths(fullPath, 0) + p.walkPaths(fullPath, 0, p.maxSearchDepth()) for _, project := range p.discoveredProjects { if _, ok := p.projectDuplicates[project.path]; ok { p.projectDuplicates[project.path] = true @@ -1306,10 +1312,10 @@ func (p *ProjectLocator) maxSearchDepth() int { return 7 } -func (p *ProjectLocator) walkPaths(fullPath string, level int) { +func (p *ProjectLocator) walkPaths(fullPath string, level int, maxSearchDepth int) { p.logger.Debug().Msgf("walking path %s to discover terraform files", fullPath) - if level >= p.maxSearchDepth() { + if level >= maxSearchDepth { p.logger.Debug().Msgf("exiting parsing directory %s as it is outside the maximum evaluation threshold", fullPath) return } @@ -1392,7 +1398,7 @@ func (p *ProjectLocator) walkPaths(fullPath string, level int) { continue } - p.walkPaths(filepath.Join(fullPath, info.Name()), level+1) + p.walkPaths(filepath.Join(fullPath, info.Name()), level+1, maxSearchDepth) } } } diff --git a/internal/providers/detect.go b/internal/providers/detect.go index a468d4a6087..c34f111f81d 100644 --- a/internal/providers/detect.go +++ b/internal/providers/detect.go @@ -60,13 +60,16 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource } locatorConfig := &hcl.ProjectLocatorConfig{ - ExcludedDirs: append(project.ExcludePaths, ctx.Config.Autodetect.ExcludeDirs...), - IncludedDirs: ctx.Config.Autodetect.IncludeDirs, - PathOverrides: pathOverrides, - EnvNames: ctx.Config.Autodetect.EnvNames, - ChangedObjects: ctx.VCSMetadata.Commit.ChangedObjects, - UseAllPaths: project.IncludeAllPaths, - SkipAutoDetection: project.SkipAutodetect, + ExcludedDirs: append(project.ExcludePaths, ctx.Config.Autodetect.ExcludeDirs...), + IncludedDirs: ctx.Config.Autodetect.IncludeDirs, + PathOverrides: pathOverrides, + EnvNames: ctx.Config.Autodetect.EnvNames, + ChangedObjects: ctx.VCSMetadata.Commit.ChangedObjects, + UseAllPaths: project.IncludeAllPaths, + // If the user has specified terraform var files, we should skip auto-detection + // as terraform var files are relative to the project root, so invalid path errors + // will occur if any autodetect projects are outside the current project path. + SkipAutoDetection: project.SkipAutodetect || len(project.TerraformVarFiles) > 0, FallbackToIncludePaths: ctx.IsAutoDetect(), MaxSearchDepth: ctx.Config.Autodetect.MaxSearchDepth, ForceProjectType: ctx.Config.Autodetect.ForceProjectType, From 1d45c80a425b5b03fdf88ded6769b142a4669f78 Mon Sep 17 00:00:00 2001 From: largemouth <167662830+largemouth@users.noreply.github.com> Date: Mon, 22 Apr 2024 20:51:57 +0800 Subject: [PATCH 21/50] Fix typo in comment (#3028) Signed-off-by: largemouth --- internal/providers/terraform/azure/registry.go | 2 +- internal/providers/terraform/terragrunt_hcl_provider.go | 2 +- internal/schema/project.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/providers/terraform/azure/registry.go b/internal/providers/terraform/azure/registry.go index 4e025a92ac0..9e0313712be 100644 --- a/internal/providers/terraform/azure/registry.go +++ b/internal/providers/terraform/azure/registry.go @@ -405,7 +405,7 @@ var FreeResources = []string{ "azurerm_iothub_route", "azurerm_iothub_shared_access_policy", - // Azure Lighthouse (Delegated Resoure Management) + // Azure Lighthouse (Delegated Resource Management) "azurerm_lighthouse_definition", "azurerm_lighthouse_assignment", diff --git a/internal/providers/terraform/terragrunt_hcl_provider.go b/internal/providers/terraform/terragrunt_hcl_provider.go index 5c1cce7fa0f..aee688de891 100644 --- a/internal/providers/terraform/terragrunt_hcl_provider.go +++ b/internal/providers/terraform/terragrunt_hcl_provider.go @@ -109,7 +109,7 @@ type TerragruntHCLProvider struct { logger zerolog.Logger } -// NewTerragruntHCLProvider creates a new provider intialized with the configured project path (usually the terragrunt +// NewTerragruntHCLProvider creates a new provider initialized with the configured project path (usually the terragrunt // root directory). func NewTerragruntHCLProvider(rootPath hcl.RootPath, ctx *config.ProjectContext) schema.Provider { logger := ctx.Logger().With().Str( diff --git a/internal/schema/project.go b/internal/schema/project.go index b0ef1518d64..f386225b62c 100644 --- a/internal/schema/project.go +++ b/internal/schema/project.go @@ -375,7 +375,7 @@ func NewProject(name string, metadata *ProjectMetadata) *Project { } } -// NameWithWorkspace returns the proect Name appended with the paranenthized workspace name +// NameWithWorkspace returns the project Name appended with the parenthesized workspace name // from Metadata if one exists. func (p *Project) NameWithWorkspace() string { if p.Metadata.WorkspaceLabel() == "" { From ba372260d1fcd46608c40159c6d3821320a31e5b Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Tue, 23 Apr 2024 13:28:30 +0200 Subject: [PATCH 22/50] refactor: log output (#3003) * refactor: remove spinner functionality Cleans out spinner functionality as we move to a more consistent log based approach. Lot's of old spinners have been demoted to `Debug` level log lines as we want to keep the `Info` level relatively clean of noise. * refactor: log output Refactors the progress/log output for the evaluation/project evaluation. Chnages the output of status lines so that they are simpler and more consistent across CLI and CI. * All fmt.Prints are now piped to the logs, this includes all the previous ui package interactions, appart from a few fatal errors. * Some Warn statements are now changed to debug * By default the log level is INFO and is not piped to io.Discard if not explicitly set. * The log formatter now checks if the env is CI and formats the log accordingly * Local logs have their timestamps omitted and additional colours * fix: change TFC warning log to debug Changes the remote variable log line to be debug level rather than warn. * fix: switch finished/starting log lines to debug * refactor: aggregate warning logs for no price resources (#3024) * refactor: aggregate warning logs for no price resources Changes the prices not found warnings so they are aggregated per run. This is deduped by resource type. In order to do this I've added a `parent` field to the schema `Resource` so that we can find the correct resource type from a sub resource, e.g. ebs_block -> aws_instance. The warning messaging changes based on log level, with debug level turned on we also augment the mesage with the resource addresses which are affected. In addition to the warning logging I've changed the table output to add `not found` to the components that have prices missing. This means users can see easily see wich cost components have no prices because of pricing lookups. * feat: add noPrice warnings to tracked env Removes `resourceWarnings` env in favour of `pricesNotFound` env key. The former was a nested map of counts and was pretty much impossible to use for our reporting stack. Additionally much of the warnings, e.g. "multiple prices" were noise. Removing gives clarity on what resource warnings we actually care about. The new warning key is scoped by resource type and cost component name, meaning we can scope reporting to individual cost components, which is more useful for bug triaging and fixing. * fix: relgate some technical warning lines to debug so that they do not pollute user * refactor: sort no price warnings by resource count * fix: change autodetect messaging if all projects are invalid * fix: add `PriceFetcher` to aggregate price warnings Changes the NoPrices functionality to instead work off a master `PriceFetcher` struct which manages all the pricing API interactions. * fix: update aws/azure tests following warning changes --- cmd/infracost/breakdown_test.go | 14 + cmd/infracost/cmd_test.go | 7 +- cmd/infracost/comment.go | 6 +- cmd/infracost/configure.go | 11 +- cmd/infracost/generate.go | 8 +- cmd/infracost/main.go | 8 +- cmd/infracost/output.go | 16 +- cmd/infracost/register.go | 5 +- cmd/infracost/run.go | 314 ++++++++++-------- ...wn_auto_with_multi_varfile_projects.golden | 20 +- .../breakdown_config_file.golden | 1 + ...n_config_file_with_skip_auto_detect.golden | 16 +- .../breakdown_format_json.golden | 127 ++++--- .../breakdown_format_json_with_tags.golden | 139 +++++--- ...eakdown_format_json_with_tags_azure.golden | 13 +- ...akdown_format_json_with_tags_google.golden | 37 ++- ...breakdown_format_json_with_warnings.golden | 3 +- .../breakdown_format_jsonshow_skipped.golden | 130 +++++--- .../breakdown_invalid_path.golden | 3 + .../breakdown_multi_project_autodetect.golden | 16 +- .../breakdown_multi_project_skip_paths.golden | 12 +- ...multi_project_skip_paths_root_level.golden | 12 +- ...kdown_multi_project_with_all_errors.golden | 16 +- .../breakdown_multi_project_with_error.golden | 16 +- ...ulti_project_with_error_output_json.golden | 50 ++- .../breakdown_no_prices_warnings.golden | 56 ++++ .../breakdown_no_prices_warnings/main.tf | 66 ++++ ...ection_if_terraform_var_file_passed.golden | 12 +- .../breakdown_terraform_directory.golden | 4 +- ...rm_directory_with_default_var_files.golden | 12 +- ...rm_directory_with_recursive_modules.golden | 12 +- .../breakdown_terraform_fields_invalid.golden | 4 +- .../infracost_output.golden | 39 +++ ...wn_terraform_usage_file_invalid_key.golden | 4 +- ...erraform_usage_file_wildcard_module.golden | 12 +- .../breakdown_terragrunt.golden | 8 +- .../breakdown_terragrunt_extra_args.golden | 12 +- .../breakdown_terragrunt_get_env.golden | 16 +- ...n_terragrunt_get_env_with_whitelist.golden | 4 +- ...breakdown_terragrunt_hcldeps_output.golden | 26 +- ...n_terragrunt_hcldeps_output_include.golden | 12 +- ...wn_terragrunt_hcldeps_output_mocked.golden | 20 +- ...grunt_hcldeps_output_single_project.golden | 12 +- ...erragrunt_hclmodule_output_for_each.golden | 12 +- .../breakdown_terragrunt_hclmulti.golden | 8 +- ...kdown_terragrunt_hclmulti_no_source.golden | 16 +- .../breakdown_terragrunt_hclsingle.golden | 4 +- .../breakdown_terragrunt_iamroles.golden | 12 +- .../breakdown_terragrunt_include_deps.golden | 16 +- .../breakdown_terragrunt_nested.golden | 8 +- .../breakdown_terragrunt_skip_paths.golden | 20 +- .../breakdown_terragrunt_source_map.golden | 12 +- ...n_terragrunt_with_dashboard_enabled.golden | 8 +- ...wn_terragrunt_with_mocked_functions.golden | 12 +- ...down_terragrunt_with_parent_include.golden | 12 +- ...kdown_terragrunt_with_remote_source.golden | 32 +- .../breakdown_with_actual_costs.golden | 12 +- ...reakdown_with_data_blocks_in_submod.golden | 12 +- .../breakdown_with_deep_merge_module.golden | 12 +- .../breakdown_with_default_tags.golden | 43 ++- .../breakdown_with_depends_upon_module.golden | 12 +- .../breakdown_with_dynamic_iterator.golden | 12 +- ...akdown_with_free_resources_checksum.golden | 25 +- ...reakdown_with_local_path_data_block.golden | 12 +- .../breakdown_with_mocked_merge.golden | 12 +- .../breakdown_with_multiple_providers.golden | 12 +- .../breakdown_with_nested_foreach.golden | 12 +- ...akdown_with_nested_provider_aliases.golden | 12 +- .../breakdown_with_optional_variables.golden | 12 +- ...eakdown_with_policy_data_upload_hcl.golden | 61 ++-- ...n_with_policy_data_upload_plan_json.golden | 61 ++-- ..._with_policy_data_upload_terragrunt.golden | 61 ++-- ...h_private_terraform_registry_module.golden | 12 +- ...rm_registry_module_populates_errors.golden | 2 +- ...wn_with_providers_depending_on_data.golden | 12 +- .../breakdown_with_workspace.golden | 12 +- .../catches_runtime_error.golden | 6 +- ...w_skip_no_diff_with_initial_comment.golden | 14 +- ...kip_no_diff_without_initial_comment.golden | 6 +- ...it_hub_guardrail_failure_with_block.golden | 12 +- ..._hub_guardrail_failure_with_comment.golden | 12 +- ...rail_failure_with_comment_and_block.golden | 12 +- ...il_failure_without_comment_or_block.golden | 10 +- ..._hub_guardrail_success_with_comment.golden | 10 +- ...b_guardrail_success_without_comment.golden | 8 +- ...e_skip_no_diff_with_initial_comment.golden | 14 +- ...kip_no_diff_without_initial_comment.golden | 6 +- ...b_skip_no_diff_with_initial_comment.golden | 6 +- ...kip_no_diff_without_initial_comment.golden | 6 +- .../comment_git_hub_with_no_guardrailt.golden | 6 +- .../config_file_nil_projects_errors.golden | 3 + .../diff_prior_empty_project.golden | 2 +- .../diff_prior_empty_project_json.golden | 25 +- .../diff_terraform_directory.golden | 2 +- .../diff_with_compare_to.golden | 2 +- .../diff_with_compare_to_format_json.golden | 52 ++- ...iff_with_compare_to_format_json.hcl.golden | 52 ++- ...with_current_and_past_project_error.golden | 26 +- ...mpare_to_with_current_project_error.golden | 26 +- ..._compare_to_with_past_project_error.golden | 26 +- .../diff_with_config_file_compare_to.golden | 4 +- ...fig_file_compare_to_deleted_project.golden | 2 +- .../diff_with_free_resources_checksum.golden | 25 +- .../diff_with_policy_data_upload.golden | 22 +- ...ig_file_and_terraform_workspace_env.golden | 4 +- ...rs_terraform_workspace_flag_and_env.golden | 4 +- .../force_project_type/expected.golden | 1 + .../generate/terragrunt/expected.golden | 6 + .../expected.golden | 6 + .../hcllocal_object_mock.golden | 12 +- .../hclmodule_count/hclmodule_count.golden | 12 +- .../hclmodule_for_each.golden | 12 +- .../hclmodule_output_counts.golden | 12 +- .../hclmodule_output_counts_nested.golden | 12 +- ...lmodule_reevaluated_on_input_change.golden | 12 +- .../hclmodule_relative_filesets.golden | 12 +- .../hclmulti_project_infra.hcl.golden | 16 +- .../hclmulti_var_files.golden | 12 +- .../hclmulti_workspace.golden | 16 +- .../hclprovider_alias.golden | 12 +- .../output_format_json.golden | 170 ++++++---- .../infracost_output.golden | 2 +- .../register_help_flag.golden | 4 +- ...ith_blocking_fin_ops_policy_failure.golden | 6 +- ...oad_with_blocking_guardrail_failure.golden | 6 +- ...ad_with_blocking_tag_policy_failure.golden | 6 +- .../upload_with_cloud_disabled.golden | 2 +- .../upload_with_fin_ops_policy_warning.golden | 2 +- .../upload_with_guardrail_failure.golden | 6 +- .../upload_with_guardrail_success.golden | 4 +- .../upload_with_path/upload_with_path.golden | 2 +- .../upload_with_path_format_json.golden | 14 +- .../upload_with_share_link.golden | 2 +- .../upload_with_tag_policy_warning.golden | 2 +- cmd/resourcecheck/main.go | 13 +- contributing/add_new_resource_guide.md | 2 +- internal/apiclient/auth.go | 8 +- internal/apiclient/client.go | 3 +- internal/apiclient/dashboard.go | 13 +- internal/apiclient/policy.go | 4 +- internal/apiclient/pricing.go | 11 +- internal/clierror/error.go | 5 +- internal/config/config.go | 60 +++- internal/config/configuration.go | 5 +- internal/config/credentials.go | 5 +- internal/config/migrate.go | 11 +- internal/config/run_context.go | 28 -- internal/credentials/terraform.go | 15 +- internal/extclient/authed_client.go | 3 +- internal/hcl/attribute.go | 6 +- internal/hcl/evaluator.go | 14 +- internal/hcl/graph.go | 1 - internal/hcl/graph_vertex_module_call.go | 1 - internal/hcl/modules/loader.go | 16 +- internal/hcl/parser.go | 42 +-- internal/hcl/project_locator.go | 4 +- internal/hcl/remote_variables_loader.go | 42 +-- internal/output/combined.go | 5 +- internal/output/html.go | 5 +- internal/output/output.go | 12 +- internal/output/table.go | 29 +- internal/prices/prices.go | 260 +++++++++++---- internal/prices/prices_test.go | 63 ++++ .../cloudformation/aws/dynamodb_table.go | 4 +- .../cloudformation/template_provider.go | 22 +- internal/providers/detect.go | 39 ++- .../terraform/aws/autoscaling_group.go | 4 +- internal/providers/terraform/aws/aws.go | 4 +- .../aws/directory_service_directory.go | 5 +- .../acm_certificate_test.golden | 2 +- .../acmpca_certificate_authority_test.golden | 2 +- .../api_gateway_rest_api_test.golden | 2 +- .../api_gateway_stage_test.golden | 2 +- .../apigatewayv2_api_test.golden | 2 +- .../autoscaling_group_test.golden | 6 +- .../backup_vault_test.golden | 2 +- .../cloudformation_stack_set_test.golden | 2 +- .../cloudformation_stack_test.golden | 2 +- .../cloudfront_distribution_test.golden | 2 +- .../cloudhsm_v2_hsm_test.golden | 2 +- .../cloudtrail_test/cloudtrail_test.golden | 2 +- .../cloudwatch_dashboard_test.golden | 2 +- .../cloudwatch_event_bus_test.golden | 2 +- .../cloudwatch_log_group_test.golden | 2 +- .../cloudwatch_metric_alarm_test.golden | 2 +- .../codebuild_project_test.golden | 2 +- .../config_config_rule_test.golden | 2 +- .../config_configuration_recorder_test.golden | 2 +- ...onfig_organization_custom_rule_test.golden | 2 +- ...nfig_organization_managed_rule_test.golden | 2 +- .../data_transfer_test.golden | 2 +- .../db_instance_test/db_instance_test.golden | 2 +- .../directory_service_directory_test.golden | 2 +- .../aws/testdata/dms_test/dms_test.golden | 2 +- .../docdb_cluster_instance_test.golden | 2 +- .../docdb_cluster_snapshot_test.golden | 2 +- .../docdb_cluster_test.golden | 2 +- .../dx_connection_test.golden | 2 +- .../dx_gateway_association_test.golden | 2 +- .../dynamodb_table_test.golden | 2 +- .../ebs_snapshot_copy_test.golden | 2 +- .../ebs_snapshot_test.golden | 2 +- .../ebs_volume_test/ebs_volume_test.golden | 2 +- .../ec2_client_vpn_endpoint_test.golden | 2 +- ...client_vpn_network_association_test.golden | 2 +- .../ec2_host_test/ec2_host_test.golden | 2 +- .../ec2_traffic_mirror_session_test.golden | 2 +- ...sit_gateway_peering_attachment_test.golden | 2 +- ...transit_gateway_vpc_attachment_test.golden | 2 +- .../ecr_repository_test.golden | 2 +- .../ecs_service_test/ecs_service_test.golden | 2 +- .../efs_file_system_test.golden | 2 +- .../aws/testdata/eip_test/eip_test.golden | 2 +- .../eks_cluster_test/eks_cluster_test.golden | 2 +- .../eks_fargate_profile_test.golden | 2 +- .../eks_node_group_test.golden | 2 +- .../elastic_beanstalk_environment_test.golden | 2 +- .../elasticache_cluster_test.golden | 2 +- .../elasticache_replication_group_test.golden | 2 +- .../elasticsearch_domain_test.golden | 2 +- .../aws/testdata/elb_test/elb_test.golden | 2 +- .../fsx_openzfs_file_system_test.golden | 2 +- .../fsx_windows_file_system_test.golden | 2 +- ...bal_accelerator_endpoint_group_test.golden | 2 +- .../global_accelerator_test.golden | 2 +- .../glue_catalog_database_test.golden | 2 +- .../glue_crawler_test.golden | 2 +- .../glue_job_test/glue_job_test.golden | 2 +- .../instance_test/instance_test.golden | 4 +- ...nesis_firehose_delivery_stream_test.golden | 2 +- .../kinesis_stream_test.golden | 2 +- .../kinesisanalytics_application_test.golden | 2 +- ...alyticsv2_application_snapshot_test.golden | 10 +- ...kinesisanalyticsv2_application_test.golden | 2 +- .../kms_external_key_test.golden | 2 +- .../testdata/kms_key_test/kms_key_test.golden | 2 +- .../lambda_function_test.golden | 2 +- ...provisioned_concurrency_config_test.golden | 2 +- .../aws/testdata/lb_test/lb_test.golden | 2 +- .../lightsail_instance_test.golden | 2 +- .../mq_broker_test/mq_broker_test.golden | 2 +- .../msk_cluster_test/msk_cluster_test.golden | 2 +- .../mwaa_environment_test.golden | 2 +- .../nat_gateway_test/nat_gateway_test.golden | 2 +- .../neptune_cluster_instance_test.golden | 2 +- .../neptune_cluster_snapshot_test.golden | 2 +- .../neptune_cluster_test.golden | 2 +- .../networkfirewall_firewall_test.golden | 2 +- .../opensearch_domain_test.golden | 2 +- .../rds_cluster_instance_test.golden | 2 +- .../rds_cluster_test/rds_cluster_test.golden | 2 +- .../redshift_cluster_test.golden | 2 +- .../route53_health_check_test.golden | 2 +- .../route53_record_test.golden | 2 +- .../route53_resolver_endpoint_test.golden | 2 +- .../route53_zone_test.golden | 2 +- ...bucket_analytics_configuration_test.golden | 2 +- .../s3_bucket_inventory_test.golden | 2 +- ...bucket_lifecycle_configuration_test.golden | 2 +- .../s3_bucket_test/s3_bucket_test.golden | 2 +- .../s3_bucket_v3_test.golden | 2 +- .../secretsmanager_secret_test.golden | 2 +- .../sfn_state_machine_test.golden | 2 +- .../sns_topic_subscription_test.golden | 2 +- .../sns_topic_test/sns_topic_test.golden | 2 +- .../sqs_queue_test/sqs_queue_test.golden | 2 +- .../ssm_activation_test.golden | 2 +- .../ssm_parameter_test.golden | 2 +- .../transfer_server_test.golden | 2 +- .../vpc_endpoint_test.golden | 2 +- .../vpn_connection_test.golden | 2 +- .../waf_web_acl_test/waf_web_acl_test.golden | 8 +- .../wafv2_web_acl_test.golden | 2 +- .../providers/terraform/azure/cdn_endpoint.go | 4 +- .../azure/cosmosdb_cassandra_keyspace.go | 6 +- .../azure/cosmosdb_cassandra_table.go | 7 +- .../azure/cosmosdb_mongo_collection.go | 7 +- .../terraform/azure/key_vault_certificate.go | 4 +- .../terraform/azure/key_vault_key.go | 4 +- .../terraform/azure/mariadb_server.go | 6 +- .../monitor_scheduled_query_rules_alert_v2.go | 4 +- .../terraform/azure/mssql_database.go | 5 +- .../terraform/azure/mysql_flexible_server.go | 9 +- .../providers/terraform/azure/mysql_server.go | 9 +- .../azure/postgresql_flexible_server.go | 9 +- .../terraform/azure/postgresql_server.go | 7 +- .../providers/terraform/azure/sql_database.go | 5 +- .../terraform/azure/storage_queue.go | 5 +- ...ory_domain_service_replica_set_test.golden | 2 +- ...ctive_directory_domain_service_test.golden | 2 +- .../api_management_test.golden | 2 +- .../app_configuration_test.golden | 2 +- ...pp_service_certificate_binding_test.golden | 2 +- .../app_service_certificate_order_test.golden | 2 +- ...ervice_custom_hostname_binding_test.golden | 2 +- .../app_service_environment_test.golden | 2 +- .../app_service_plan_test.golden | 2 +- .../application_gateway_test.golden | 2 +- ...cation_insights_standard_web_t_test.golden | 2 +- .../application_insights_test.golden | 2 +- .../application_insights_web_t_test.golden | 2 +- .../automation_account_test.golden | 2 +- .../automation_dsc_configuration_test.golden | 2 +- ...tomation_dsc_nodeconfiguration_test.golden | 2 +- .../automation_job_schedule_test.golden | 2 +- .../bastion_host_test.golden | 2 +- .../cdn_endpoint_test.golden | 2 +- .../cognitive_account_test.golden | 18 +- .../cognitive_deployment_test.golden | 4 +- .../container_registry_test.golden | 2 +- .../cosmosdb_cassandra_keyspace_test.golden | 2 +- ...yspace_test_with_blank_geo_location.golden | 2 +- .../cosmosdb_cassandra_table_test.golden | 8 +- .../cosmosdb_gremlin_database_test.golden | 2 +- .../cosmosdb_gremlin_graph_test.golden | 2 +- .../cosmosdb_mongo_collection_test.golden | 2 +- .../cosmosdb_mongo_database_test.golden | 2 +- .../cosmosdb_sql_container_test.golden | 2 +- .../cosmosdb_sql_database_test.golden | 2 +- .../cosmosdb_table_test.golden | 4 +- ...integration_runtime_azure_ssis_test.golden | 2 +- ...tory_integration_runtime_azure_test.golden | 14 +- ...ry_integration_runtime_managed_test.golden | 2 +- ...ntegration_runtime_self_hosted_test.golden | 2 +- .../data_factory_test.golden | 2 +- .../databricks_workspace_test.golden | 2 +- .../dns_a_record_test.golden | 2 +- .../dns_aaaa_record_test.golden | 2 +- .../dns_caa_record_test.golden | 2 +- .../dns_cname_record_test.golden | 2 +- .../dns_mx_record_test.golden | 2 +- .../dns_ns_record_test.golden | 2 +- .../dns_ptr_record_test.golden | 2 +- .../dns_srv_record_test.golden | 2 +- .../dns_txt_record_test.golden | 2 +- .../dns_zone_test/dns_zone_test.golden | 2 +- .../event_hubs_namespace_test.golden | 2 +- .../eventgrid_system_topic_test.golden | 2 +- .../eventgrid_topic_test.golden | 2 +- .../express_route_connection_test.golden | 2 +- .../express_route_gateway_test.golden | 2 +- .../federated_identity_credential_test.golden | 2 +- .../firewall_test/firewall_test.golden | 2 +- .../frontdoor_firewall_policy_test.golden | 2 +- .../frontdoor_test/frontdoor_test.golden | 2 +- .../function_app_test.golden | 2 +- .../function_linux_app_test.golden | 2 +- .../function_windows_app_test.golden | 2 +- .../hdinsight_hadoop_cluster_test.golden | 2 +- .../hdinsight_hbase_cluster_test.golden | 2 +- ...ight_interactive_query_cluster_test.golden | 10 +- .../hdinsight_kafka_cluster_test.golden | 2 +- .../hdinsight_spark_cluster_test.golden | 2 +- .../testdata/image_test/image_test.golden | 2 +- ...ntegration_service_environment_test.golden | 2 +- .../testdata/iothub_test/iothub_test.golden | 2 +- .../key_vault_certificate_test.golden | 2 +- .../key_vault_key_test.golden | 2 +- ...naged_hardware_security_module_test.golden | 2 +- .../kubernetes_cluster_node_pool_test.golden | 2 +- .../kubernetes_cluster_test.golden | 2 +- .../lb_outbound_rule_test.golden | 2 +- .../lb_outbound_rule_v2_test.golden | 2 +- .../testdata/lb_rule_test/lb_rule_test.golden | 2 +- .../lb_rule_v2_test/lb_rule_v2_test.golden | 2 +- .../azure/testdata/lb_test/lb_test.golden | 2 +- ...inux_virtual_machine_scale_set_test.golden | 2 +- .../linux_virtual_machine_test.golden | 2 +- .../log_analytics_workspace_test.golden | 10 +- .../logic_app_integration_account_test.golden | 2 +- .../logic_app_standard_test.golden | 2 +- ...chine_learning_compute_cluster_test.golden | 2 +- ...hine_learning_compute_instance_test.golden | 2 +- .../managed_disk_test.golden | 2 +- .../mariadb_server_test.golden | 2 +- .../monitor_action_group_test.golden | 2 +- .../monitor_data_collection_rule_test.golden | 2 +- .../monitor_diagnostic_setting_test.golden | 2 +- .../monitor_metric_alert_test.golden | 2 +- ...or_scheduled_query_rules_alert_test.golden | 2 +- ...scheduled_query_rules_alert_v2_test.golden | 2 +- .../mssql_database_test.golden | 34 +- ...l_database_test_with_blank_location.golden | 7 +- .../mssql_elasticpool_test.golden | 17 +- .../mssql_managed_instance_test.golden | 2 +- .../mysql_flexible_server_test.golden | 2 +- .../mysql_server_test.golden | 11 +- .../nat_gateway_test/nat_gateway_test.golden | 2 +- .../network_connection_monitor_test.golden | 2 +- .../network_ddos_protection_plan_test.golden | 2 +- .../network_watcher_flow_log_test.golden | 2 +- .../network_watcher_test.golden | 2 +- .../notification_hub_namespace_test.golden | 2 +- .../point_to_site_vpn_gateway_test.golden | 2 +- .../postgresql_flexible_server_test.golden | 2 +- .../postgresql_server_test.golden | 2 +- .../powerbi_embedded_test.golden | 2 +- .../private_dns_a_record_test.golden | 2 +- .../private_dns_aaaa_record_test.golden | 2 +- .../private_dns_cname_record_test.golden | 2 +- .../private_dns_mx_record_test.golden | 2 +- .../private_dns_ptr_record_test.golden | 2 +- ...esolver_dns_forwarding_ruleset_test.golden | 2 +- ..._dns_resolver_inbound_endpoint_test.golden | 2 +- ...dns_resolver_outbound_endpoint_test.golden | 2 +- .../private_dns_srv_record_test.golden | 2 +- .../private_dns_txt_record_test.golden | 2 +- .../private_dns_zone_test.golden | 2 +- .../private_endpoint_test.golden | 2 +- .../public_ip_prefix_test.golden | 2 +- .../public_ip_test/public_ip_test.golden | 2 +- .../recovery_services_vault_test.golden | 66 +--- .../redis_cache_test/redis_cache_test.golden | 2 +- .../search_service_test.golden | 2 +- ...ty_center_subscription_pricing_test.golden | 6 +- ...data_connector_aws_cloud_trail_test.golden | 2 +- ...nnector_azure_active_directory_test.golden | 2 +- ...ure_advanced_threat_protection_test.golden | 10 +- ...onnector_azure_security_center_test.golden | 2 +- ...r_microsoft_cloud_app_security_test.golden | 2 +- ...der_advanced_threat_protection_test.golden | 10 +- ...inel_data_connector_office_365_test.golden | 2 +- ..._connector_threat_intelligence_test.golden | 2 +- .../service_plan_test.golden | 12 +- .../servicebus_namespace_test.golden | 2 +- .../signalr_service_test.golden | 2 +- .../snapshot_test/snapshot_test.golden | 2 +- .../sql_database_test.golden | 26 +- .../sql_elasticpool_test.golden | 2 +- .../sql_managed_instance_test.golden | 2 +- .../storage_account_test.golden | 4 +- .../storage_queue_test.golden | 6 +- .../storage_share_test.golden | 4 +- .../synapse_spark_pool_test.golden | 2 +- .../synapse_sql_pool_test.golden | 2 +- .../synapse_workspace_test.golden | 2 +- ...traffic_manager_azure_endpoint_test.golden | 2 +- ...ffic_manager_external_endpoint_test.golden | 2 +- ...raffic_manager_nested_endpoint_test.golden | 2 +- .../traffic_manager_profile_test.golden | 2 +- .../virtual_hub_test/virtual_hub_test.golden | 2 +- .../virtual_machine_scale_set_test.golden | 2 +- .../virtual_machine_test.golden | 2 +- ...ual_network_gateway_connection_test.golden | 2 +- .../virtual_network_gateway_test.golden | 2 +- .../virtual_network_peering_test.golden | 2 +- .../vpn_gateway_connection_test.golden | 2 +- .../vpn_gateway_test/vpn_gateway_test.golden | 2 +- ...dows_virtual_machine_scale_set_test.golden | 2 +- .../windows_virtual_machine_test.golden | 2 +- internal/providers/terraform/azure/util.go | 4 +- internal/providers/terraform/cloud.go | 4 +- internal/providers/terraform/cmd.go | 13 +- internal/providers/terraform/dir_provider.go | 105 +++--- .../terraform/google/container_cluster.go | 4 +- .../terraform/google/container_node_pool.go | 4 +- .../artifact_registry_repository_test.golden | 2 +- .../bigquery_dataset_test.golden | 2 +- .../bigquery_table_test.golden | 2 +- .../cloudfunctions_function_test.golden | 2 +- .../compute_address_test.golden | 2 +- .../compute_disk_test.golden | 2 +- .../compute_external_vpn_gateway_test.golden | 2 +- .../compute_forwarding_rule_test.golden | 2 +- .../compute_ha_vpn_gateway_test.golden | 2 +- .../compute_image_test.golden | 2 +- ...compute_instance_group_manager_test.golden | 2 +- .../compute_instance_test.golden | 4 +- .../compute_machine_image_test.golden | 2 +- .../compute_per_instance_config_test.golden | 2 +- ..._region_instance_group_manager_test.golden | 2 +- ...ute_region_per_instance_config_test.golden | 2 +- .../compute_router_nat_test.golden | 2 +- .../compute_snapshot_test.golden | 2 +- .../compute_target_grpc_proxy_test.golden | 2 +- .../compute_vpn_gateway_test.golden | 2 +- .../compute_vpn_tunnel_test.golden | 2 +- .../container_cluster_test.golden | 4 +- .../container_node_pool_test.golden | 2 +- .../container_registry_test.golden | 2 +- .../dns_managed_zone_test.golden | 2 +- .../dns_record_set_test.golden | 2 +- .../kms_crypto_key_test.golden | 2 +- ..._billing_account_bucket_config_test.golden | 2 +- .../logging_billing_account_sink_test.golden | 2 +- .../logging_folder_bucket_config_test.golden | 2 +- .../logging_folder_sink_test.golden | 2 +- ...ing_organization_bucket_config_test.golden | 2 +- .../logging_organization_sink_test.golden | 2 +- .../logging_project_bucket_config_test.golden | 2 +- .../logging_project_sink_test.golden | 2 +- .../monitoring_metric_descriptor_test.golden | 2 +- .../pubsub_subscription_test.golden | 2 +- .../pubsub_topic_test.golden | 2 +- .../redis_instance_test.golden | 2 +- .../secret_manager_secret_test.golden | 2 +- .../secret_manager_secret_version_test.golden | 2 +- .../service_networking_connection_test.golden | 2 +- .../sql_database_instance_test.golden | 4 +- .../storage_bucket_test.golden | 2 +- internal/providers/terraform/hcl_provider.go | 30 +- internal/providers/terraform/plan_cache.go | 49 ++- .../providers/terraform/plan_json_provider.go | 28 +- internal/providers/terraform/plan_provider.go | 38 ++- .../terraform/state_json_provider.go | 26 +- .../terraform/terragrunt_hcl_provider.go | 30 +- .../terraform/terragrunt_provider.go | 59 ++-- internal/providers/terraform/tftest/tftest.go | 18 +- .../resources/aws/cloudfront_distribution.go | 6 +- internal/resources/aws/data_transfer.go | 4 +- internal/resources/aws/db_instance.go | 5 +- internal/resources/aws/dx_connection.go | 5 +- internal/resources/aws/ec2_host.go | 4 +- internal/resources/aws/elasticache_cluster.go | 6 +- internal/resources/aws/instance.go | 8 +- .../resources/aws/launch_configuration.go | 4 +- internal/resources/aws/launch_template.go | 4 +- internal/resources/aws/lightsail_instance.go | 5 +- .../resources/aws/rds_cluster_instance.go | 4 +- internal/resources/aws/s3_bucket.go | 4 +- .../s3_bucket_lifececycle_configuration.go | 4 +- internal/resources/aws/ssm_parameter.go | 5 +- .../data_factory_integration_runtime_azure.go | 3 - .../azure/kubernetes_cluster_node_pool.go | 6 +- .../azure/log_analytics_workspace.go | 4 +- internal/resources/azure/managed_disk.go | 8 +- internal/resources/azure/mssql_elasticpool.go | 3 - internal/resources/azure/sql_database.go | 11 +- internal/resources/core_resource.go | 5 +- .../resources/google/sql_database_instance.go | 13 +- internal/schema/cost_component.go | 8 + internal/schema/diff.go | 5 +- internal/schema/project.go | 1 + internal/schema/provider.go | 3 + internal/schema/resource.go | 36 +- internal/testutil/testutil.go | 9 - internal/ui/print.go | 34 +- internal/ui/promts.go | 63 ---- internal/ui/spin.go | 93 ------ internal/ui/strings.go | 11 + internal/ui/util.go | 7 - internal/update/update.go | 8 +- internal/usage/aws/autoscaling.go | 7 +- internal/usage/aws/dynamodb.go | 7 +- internal/usage/aws/ec2.go | 5 +- internal/usage/aws/eks.go | 5 +- internal/usage/aws/lambda.go | 7 +- internal/usage/aws/s3.go | 11 +- internal/usage/aws/util.go | 4 +- internal/usage/resource_usage.go | 12 +- internal/usage/sync.go | 4 +- internal/usage/usage_file.go | 6 +- schema/infracost.schema.json | 10 +- tools/describezones/main.go | 26 +- tools/release/main.go | 15 +- 555 files changed, 2943 insertions(+), 2439 deletions(-) create mode 100644 cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden create mode 100644 cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf create mode 100644 internal/prices/prices_test.go delete mode 100644 internal/ui/promts.go delete mode 100644 internal/ui/spin.go diff --git a/cmd/infracost/breakdown_test.go b/cmd/infracost/breakdown_test.go index 601ddc11fdd..06dd3fa890a 100644 --- a/cmd/infracost/breakdown_test.go +++ b/cmd/infracost/breakdown_test.go @@ -1322,3 +1322,17 @@ func TestBreakdownSkipAutodetectionIfTerraformVarFilePassed(t *testing.T) { nil, ) } + +func TestBreakdownNoPricesWarnings(t *testing.T) { + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + }, + nil, + ) +} diff --git a/cmd/infracost/cmd_test.go b/cmd/infracost/cmd_test.go index 4389fb01e41..16d525ac8c3 100644 --- a/cmd/infracost/cmd_test.go +++ b/cmd/infracost/cmd_test.go @@ -128,12 +128,7 @@ func GetCommandOutput(t *testing.T, args []string, testOptions *GoldenFileOption c.OutWriter = outBuf c.Exit = func(code int) {} - if testOptions.CaptureLogs { - logBuf = testutil.ConfigureTestToCaptureLogs(t, c) - } else { - testutil.ConfigureTestToFailOnLogs(t, c) - } - + logBuf = testutil.ConfigureTestToCaptureLogs(t, c) for _, option := range ctxOptions { option(c) } diff --git a/cmd/infracost/comment.go b/cmd/infracost/comment.go index 3a8267211ef..e8a0c41bc28 100644 --- a/cmd/infracost/comment.go +++ b/cmd/infracost/comment.go @@ -13,11 +13,11 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/apiclient" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/output" - "github.com/infracost/infracost/internal/ui" ) type CommentOutput struct { @@ -83,7 +83,7 @@ func buildCommentOutput(cmd *cobra.Command, ctx *config.RunContext, paths []stri combined, err := output.Combine(inputs) if errors.As(err, &clierror.WarningError{}) { - ui.PrintWarningf(cmd.ErrOrStderr(), err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } else if err != nil { return nil, err } @@ -96,7 +96,7 @@ func buildCommentOutput(cmd *cobra.Command, ctx *config.RunContext, paths []stri var result apiclient.AddRunResponse if ctx.IsCloudUploadEnabled() && !dryRun { if ctx.Config.IsSelfHosted() { - ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } else { combined.Metadata.InfracostCommand = "comment" commentFormat := apiclient.CommentFormatMarkdownHTML diff --git a/cmd/infracost/configure.go b/cmd/infracost/configure.go index 9cf8561e4b4..55ffc3eac71 100644 --- a/cmd/infracost/configure.go +++ b/cmd/infracost/configure.go @@ -9,6 +9,7 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -206,7 +207,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.CredentialsFilePath(), ui.PrimaryString("infracost configure set pricing_api_endpoint https://cloud-pricing-api"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "api_key": value = ctx.Config.Credentials.APIKey @@ -216,7 +217,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.CredentialsFilePath(), ui.PrimaryString("infracost configure set api_key MY_API_KEY"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "currency": value = ctx.Config.Configuration.Currency @@ -226,7 +227,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set currency CURRENCY"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "tls_insecure_skip_verify": if ctx.Config.Configuration.TLSInsecureSkipVerify == nil { @@ -240,7 +241,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set tls_insecure_skip_verify true"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "tls_ca_cert_file": value = ctx.Config.Configuration.TLSCACertFile @@ -250,7 +251,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set tls_ca_cert_file /path/to/ca.crt"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "enable_dashboard": if ctx.Config.Configuration.EnableDashboard == nil { diff --git a/cmd/infracost/generate.go b/cmd/infracost/generate.go index c4d5da044b5..eaf8e17f76e 100644 --- a/cmd/infracost/generate.go +++ b/cmd/infracost/generate.go @@ -94,7 +94,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { } var autoProjects []hcl.DetectedProject - autoProviders, err := providers.Detect(ctx, &config.Project{Path: repoPath}, false) + detectionOutput, err := providers.Detect(ctx, &config.Project{Path: repoPath}, false) if err != nil { if definedProjects { logging.Logger.Debug().Err(err).Msg("could not detect providers") @@ -103,7 +103,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { } } - for _, provider := range autoProviders { + for _, provider := range detectionOutput.Providers { if v, ok := provider.(hcl.DetectedProject); ok { autoProjects = append(autoProjects, v) } @@ -112,7 +112,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { if definedProjects { m, err := vcs.MetadataFetcher.Get(repoPath, nil) if err != nil { - ui.PrintWarningf(cmd.ErrOrStderr(), "could not fetch git metadata err: %s, default template variables will be blank", err) + logging.Logger.Warn().Msgf("could not fetch git metadata err: %s, default template variables will be blank", err) } detectedProjects := make([]template.DetectedProject, len(autoProjects)) @@ -124,7 +124,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { Name: p.ProjectName(), Path: relPath, Env: p.EnvName(), - TerraformVarFiles: p.TerraformVarFiles(), + TerraformVarFiles: p.VarFiles(), } if v, ok := detectedPaths[relPath]; ok { diff --git a/cmd/infracost/main.go b/cmd/infracost/main.go index 8236149fc1e..028fd629c8b 100644 --- a/cmd/infracost/main.go +++ b/cmd/infracost/main.go @@ -322,7 +322,7 @@ func handleCLIError(ctx *config.RunContext, cliErr error) { } func handleUnexpectedErr(ctx *config.RunContext, err error) { - ui.PrintUnexpectedErrorStack(ctx.ErrWriter, err) + ui.PrintUnexpectedErrorStack(err) err = apiclient.ReportCLIError(ctx, err, false) if err != nil { @@ -381,11 +381,7 @@ func saveOutFileWithMsg(ctx *config.RunContext, cmd *cobra.Command, outFile, suc return errors.Wrap(err, "Unable to save output") } - if ctx.Config.IsLogging() { - logging.Logger.Info().Msg(successMsg) - } else { - cmd.PrintErrf("%s\n", successMsg) - } + logging.Logger.Info().Msg(successMsg) return nil } diff --git a/cmd/infracost/output.go b/cmd/infracost/output.go index 4cbaf78c6eb..72eb39f0464 100644 --- a/cmd/infracost/output.go +++ b/cmd/infracost/output.go @@ -5,12 +5,12 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/spf13/cobra" "github.com/infracost/infracost/internal/apiclient" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/output" "github.com/infracost/infracost/internal/ui" ) @@ -96,7 +96,7 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { combined, err := output.Combine(inputs) if errors.As(err, &clierror.WarningError{}) { if format == "json" { - ui.PrintWarningf(cmd.ErrOrStderr(), err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } } else if err != nil { return err @@ -111,14 +111,14 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { if cmd.Flags().Changed("fields") { fields, _ = cmd.Flags().GetStringSlice("fields") if len(fields) == 0 { - ui.PrintWarningf(cmd.ErrOrStderr(), "fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) + logging.Logger.Warn().Msgf("fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) } else if len(fields) == 1 && fields[0] == includeAllFields { fields = validFields } else { vf := []string{} for _, f := range fields { if !contains(validFields, f) { - ui.PrintWarningf(cmd.ErrOrStderr(), "Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) + logging.Logger.Warn().Msgf("Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) } else { vf = append(vf, f) } @@ -139,12 +139,12 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { validFieldsFormats := []string{"table", "html"} if cmd.Flags().Changed("fields") && !contains(validFieldsFormats, format) { - ui.PrintWarning(cmd.ErrOrStderr(), "fields is only supported for table and html output formats") + logging.Logger.Warn().Msg("fields is only supported for table and html output formats") } if ctx.IsCloudUploadExplicitlyEnabled() { if ctx.Config.IsSelfHosted() { - ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } else { result := shareCombinedRun(ctx, combined, inputs, apiclient.CommentFormatMarkdownHTML) combined.RunID, combined.ShareURL, combined.CloudURL = result.RunID, result.ShareURL, result.CloudURL @@ -159,7 +159,7 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { pricingClient := apiclient.GetPricingAPIClient(ctx) err = pricingClient.AddEvent("infracost-output", ctx.EventEnv()) if err != nil { - log.Error().Msgf("Error reporting event: %s", err) + logging.Logger.Error().Msgf("Error reporting event: %s", err) } if outFile, _ := cmd.Flags().GetString("out-file"); outFile != "" { @@ -205,7 +205,7 @@ func shareCombinedRun(ctx *config.RunContext, combined output.Root, inputs []out dashboardClient := apiclient.NewDashboardAPIClient(ctx) result, err := dashboardClient.AddRun(ctx, combined, commentFormat) if err != nil { - log.Err(err).Msg("Failed to upload to Infracost Cloud") + logging.Logger.Err(err).Msg("Failed to upload to Infracost Cloud") } return result diff --git a/cmd/infracost/register.go b/cmd/infracost/register.go index e60f3eb758a..8392192502f 100644 --- a/cmd/infracost/register.go +++ b/cmd/infracost/register.go @@ -4,6 +4,7 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -15,7 +16,7 @@ func registerCmd(ctx *config.RunContext) *cobra.Command { Short: login.Short, Long: login.Long, RunE: func(cmd *cobra.Command, args []string) error { - ui.PrintWarningf(cmd.ErrOrStderr(), + logging.Logger.Warn().Msgf( "this command has been changed to %s, which does the same thing - we’ll run that for you now.\n", ui.PrimaryString("infracost auth login"), ) @@ -25,7 +26,7 @@ func registerCmd(ctx *config.RunContext) *cobra.Command { } cmd.SetHelpFunc(func(cmd *cobra.Command, strings []string) { - ui.PrintWarningf(cmd.ErrOrStderr(), + logging.Logger.Warn().Msgf( "this command has been changed to %s, which does the same thing - showing information for that command.\n", ui.PrimaryString("infracost auth login"), ) diff --git a/cmd/infracost/run.go b/cmd/infracost/run.go index ce7d7f414f4..dad6619491b 100644 --- a/cmd/infracost/run.go +++ b/cmd/infracost/run.go @@ -6,7 +6,7 @@ import ( "errors" "fmt" "io" - "os" + "path/filepath" "runtime/debug" "sort" "strings" @@ -14,7 +14,6 @@ import ( "time" "github.com/Rhymond/go-money" - "github.com/rs/zerolog/log" "github.com/spf13/cobra" "golang.org/x/sync/errgroup" @@ -83,7 +82,7 @@ func addRunFlags(cmd *cobra.Command) { func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { if runCtx.Config.IsSelfHosted() && runCtx.IsCloudEnabled() { - ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } repoPath := runCtx.Config.RepoPath() @@ -103,6 +102,10 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { return err } + // write an aggregate log line of cost components that have + // missing prices if any have been found. + pr.pricingFetcher.LogWarnings() + projects := make([]*schema.Project, 0) projectContexts := make([]*config.ProjectContext, 0) @@ -133,12 +136,12 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { dashboardClient := apiclient.NewDashboardAPIClient(runCtx) result, err := dashboardClient.AddRun(runCtx, r, apiclient.CommentFormatMarkdownHTML) if err != nil { - log.Err(err).Msg("Failed to upload to Infracost Cloud") + logging.Logger.Err(err).Msg("Failed to upload to Infracost Cloud") } r.RunID, r.ShareURL, r.CloudURL = result.RunID, result.ShareURL, result.CloudURL } else { - log.Debug().Msg("Skipping sending project results since Infracost Cloud upload is not enabled.") + logging.Logger.Debug().Msg("Skipping sending project results since Infracost Cloud upload is not enabled.") } format := strings.ToLower(runCtx.Config.Format) @@ -163,12 +166,12 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { runCtx.ContextValues.SetValue("lineCount", lines) } - env := buildRunEnv(runCtx, projectContexts, r) + env := pr.buildRunEnv(projectContexts, r) pricingClient := apiclient.GetPricingAPIClient(runCtx) err = pricingClient.AddEvent("infracost-run", env) if err != nil { - log.Error().Msgf("Error reporting event: %s", err) + logging.Logger.Error().Msgf("Error reporting event: %s", err) } if outFile, _ := cmd.Flags().GetString("out-file"); outFile != "" { @@ -178,9 +181,7 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { } } else { // Print a new line to separate the logs from the output - if runCtx.Config.IsLogging() { - cmd.PrintErrln() - } + cmd.PrintErrln() cmd.Println(string(b)) } @@ -192,11 +193,12 @@ type projectOutput struct { } type parallelRunner struct { - cmd *cobra.Command - runCtx *config.RunContext - pathMuxs map[string]*sync.Mutex - prior *output.Root - parallelism int + cmd *cobra.Command + runCtx *config.RunContext + pathMuxs map[string]*sync.Mutex + prior *output.Root + parallelism int + pricingFetcher *prices.PriceFetcher } func newParallelRunner(cmd *cobra.Command, runCtx *config.RunContext) (*parallelRunner, error) { @@ -227,38 +229,127 @@ func newParallelRunner(cmd *cobra.Command, runCtx *config.RunContext) (*parallel runCtx.ContextValues.SetValue("parallelism", parallelism) return ¶llelRunner{ - parallelism: parallelism, - runCtx: runCtx, - cmd: cmd, - pathMuxs: pathMuxs, - prior: prior, + parallelism: parallelism, + runCtx: runCtx, + cmd: cmd, + pathMuxs: pathMuxs, + prior: prior, + pricingFetcher: prices.NewPriceFetcher(runCtx), }, nil } func (r *parallelRunner) run() ([]projectResult, error) { var queue []projectJob - + var totalRootModules int var i int + + isAuto := r.runCtx.IsAutoDetect() for _, p := range r.runCtx.Config.Projects { - detected, err := providers.Detect(r.runCtx, p, r.prior == nil) + detectionOutput, err := providers.Detect(r.runCtx, p, r.prior == nil) if err != nil { m := fmt.Sprintf("%s\n\n", err) m += fmt.Sprintf(" Try adding a config-file to configure how Infracost should run. See %s for details and examples.", ui.LinkString("https://infracost.io/config-file")) queue = append(queue, projectJob{index: i, err: schema.NewEmptyPathTypeError(errors.New(m)), ctx: config.NewProjectContext(r.runCtx, p, map[string]interface{}{})}) + i++ continue } - for _, provider := range detected { + for _, provider := range detectionOutput.Providers { queue = append(queue, projectJob{index: i, provider: provider}) i++ } + + totalRootModules += detectionOutput.RootModules + } + projectCounts := make(map[string]int) + for _, job := range queue { + if job.err != nil { + continue + } + + provider := job.provider + if v, ok := projectCounts[provider.DisplayType()]; ok { + projectCounts[provider.DisplayType()] = v + 1 + continue + } + + projectCounts[provider.DisplayType()] = 1 + } + + var order []string + for displayType := range projectCounts { + order = append(order, displayType) } + + var summary string + sort.Strings(order) + for i, displayType := range order { + count := projectCounts[displayType] + desc := "project" + if count > 1 { + desc = "projects" + } + + if len(order) > 1 && i == len(order)-2 { + summary += fmt.Sprintf("%d %s %s and ", count, displayType, desc) + } else if i == len(order)-1 { + summary += fmt.Sprintf("%d %s %s", count, displayType, desc) + } else { + summary += fmt.Sprintf("%d %s %s, ", count, displayType, desc) + } + } + + moduleDesc := "module" + pathDesc := "path" + if totalRootModules > 1 { + moduleDesc = "modules" + } + + if len(r.runCtx.Config.Projects) > 1 { + pathDesc = "paths" + } + + if isAuto { + if summary == "" { + logging.Logger.Error().Msgf("Could not autodetect any projects from path %s", ui.DirectoryDisplayName(r.runCtx, r.runCtx.Config.RootPath)) + } else { + logging.Logger.Info().Msgf("Autodetected %s across %d root %s", summary, totalRootModules, moduleDesc) + } + } else { + if summary == "" { + logging.Logger.Error().Msg("All provided config file paths are invalid or do not contain any supported projects") + } else { + logging.Logger.Info().Msgf("Autodetected %s from %d %s in the config file", summary, len(r.runCtx.Config.Projects), pathDesc) + } + } + + for _, job := range queue { + if job.err != nil { + continue + } + + provider := job.provider + + name := provider.ProjectName() + displayName := ui.ProjectDisplayName(r.runCtx, name) + + if len(provider.VarFiles()) > 0 { + varString := "" + for _, s := range provider.VarFiles() { + varString += fmt.Sprintf("%s, ", ui.DirectoryDisplayName(r.runCtx, filepath.Join(provider.RelativePath(), s))) + } + varString = strings.TrimRight(varString, ", ") + + logging.Logger.Info().Msgf("Found %s project %s at directory %s using %s var files %v", provider.DisplayType(), displayName, ui.DirectoryDisplayName(r.runCtx, provider.RelativePath()), provider.DisplayType(), varString) + } else { + logging.Logger.Info().Msgf("Found %s project %s at directory %s", provider.DisplayType(), displayName, ui.DirectoryDisplayName(r.runCtx, provider.RelativePath())) + } + } + projectResultChan := make(chan projectResult, len(queue)) jobs := make(chan projectJob, len(queue)) - r.printParallelMsg(queue) - errGroup, _ := errgroup.WithContext(context.Background()) for i := 0; i < r.parallelism; i++ { errGroup.Go(func() (err error) { @@ -323,22 +414,9 @@ func (r *parallelRunner) run() ([]projectResult, error) { return projectResults, nil } -func (r *parallelRunner) printParallelMsg(queue []projectJob) { - runInParallel := r.parallelism > 1 && len(queue) > 1 - if (runInParallel || r.runCtx.IsCIRun()) && !r.runCtx.Config.IsLogging() { - if runInParallel { - r.cmd.PrintErrln("Running multiple projects in parallel, so log-level=info is enabled by default.") - r.cmd.PrintErrln("Run with INFRACOST_PARALLELISM=1 to disable parallelism to help debugging.") - r.cmd.PrintErrln() - } - - r.runCtx.Config.LogLevel = "info" - _ = logging.ConfigureBaseLogger(r.runCtx.Config) - } -} - -func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { - path := job.provider.Context().ProjectConfig.Path +func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err error) { + projectContext := job.provider.Context() + path := projectContext.ProjectConfig.Path mux := r.pathMuxs[path] if mux != nil { mux.Lock() @@ -352,20 +430,20 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { return nil, clierror.NewCLIError(errors.New(m), "Cannot use Terraform state JSON with the infracost diff command") } - m := fmt.Sprintf("Detected %s at %s", job.provider.DisplayType(), ui.DisplayPath(path)) - if job.provider.Type() == "terraform_dir" { - m = fmt.Sprintf("Evaluating %s at %s", job.provider.DisplayType(), ui.DisplayPath(path)) - } + name := job.provider.ProjectName() + displayName := ui.ProjectDisplayName(r.runCtx, name) - if r.runCtx.Config.IsLogging() { - log.Info().Msg(m) - } else { - fmt.Fprintln(os.Stderr, m) - } + logging.Logger.Debug().Msgf("Starting evaluation for project %s", displayName) + defer func() { + if err != nil { + logging.Logger.Debug().Msgf("Failed evaluation for project %s", displayName) + } + logging.Logger.Debug().Msgf("Finished evaluation for project %s", displayName) + }() // Generate usage file if r.runCtx.Config.SyncUsageFile { - err := r.generateUsageFile(job.provider) + err = r.generateUsageFile(job.provider) if err != nil { return nil, fmt.Errorf("Error generating usage file %w", err) } @@ -374,24 +452,24 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { // Load usage data var usageFile *usage.UsageFile - if job.provider.Context().ProjectConfig.UsageFile != "" { + if projectContext.ProjectConfig.UsageFile != "" { var err error - usageFile, err = usage.LoadUsageFile(job.provider.Context().ProjectConfig.UsageFile) + usageFile, err = usage.LoadUsageFile(projectContext.ProjectConfig.UsageFile) if err != nil { return nil, err } invalidKeys, err := usageFile.InvalidKeys() if err != nil { - log.Error().Msgf("Error checking usage file keys: %v", err) + logging.Logger.Error().Msgf("Error checking usage file keys: %v", err) } else if len(invalidKeys) > 0 { - ui.PrintWarningf(r.cmd.ErrOrStderr(), + logging.Logger.Warn().Msgf( "The following usage file parameters are invalid and will be ignored: %s\n", strings.Join(invalidKeys, ", "), ) } - job.provider.Context().ContextValues.SetValue("hasUsageFile", true) + projectContext.ContextValues.SetValue("hasUsageFile", true) } else { usageFile = usage.NewBlankUsageFile() } @@ -421,7 +499,7 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { } usageData := usageFile.ToUsageDataMap() - out := &projectOutput{} + out = &projectOutput{} t1 := time.Now() projects, err := job.provider.LoadResources(usageData) @@ -434,17 +512,11 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { r.buildResources(projects) - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - spinner := ui.NewSpinner("Retrieving cloud prices to calculate costs", spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Retrieving cloud prices to calculate costs") for _, project := range projects { - if err := prices.PopulatePrices(r.runCtx, project); err != nil { - spinner.Fail() + if err = r.pricingFetcher.PopulatePrices(project); err != nil { + logging.Logger.Debug().Err(err).Msgf("failed to populate prices for project %s", project.Name) r.cmd.PrintErrln() var apiErr *apiclient.APIError @@ -480,9 +552,7 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { t2 := time.Now() taken := t2.Sub(t1).Milliseconds() - job.provider.Context().ContextValues.SetValue("tfProjectRunTimeMs", taken) - - spinner.Success() + projectContext.ContextValues.SetValue("tfProjectRunTimeMs", taken) if r.runCtx.Config.UsageActualCosts { r.populateActualCosts(projects) @@ -490,10 +560,6 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { out.projects = projects - if !r.runCtx.Config.IsLogging() && !r.runCtx.Config.SkipErrLine { - r.cmd.PrintErrln() - } - return out, nil } @@ -504,13 +570,7 @@ func (r *parallelRunner) uploadCloudResourceIDs(projects []*schema.Project) erro r.runCtx.ContextValues.SetValue("uploadedResourceIds", true) - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - spinner := ui.NewSpinner("Sending resource IDs to Infracost Cloud for usage estimates", spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Sending resource IDs to Infracost Cloud for usage estimates") for _, project := range projects { if err := prices.UploadCloudResourceIDs(r.runCtx, project); err != nil { @@ -519,7 +579,6 @@ func (r *parallelRunner) uploadCloudResourceIDs(projects []*schema.Project) erro } } - spinner.Success() return nil } @@ -563,13 +622,7 @@ func (r *parallelRunner) fetchProjectUsage(projects []*schema.Project) map[*sche resourceStr += "s" } - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - spinner := ui.NewSpinner(fmt.Sprintf("Retrieving usage defaults for %s from Infracost Cloud", resourceStr), spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msgf("Retrieving usage defaults for %s from Infracost Cloud", resourceStr) projectPtrToUsageMap := make(map[*schema.Project]schema.UsageMap, len(projects)) @@ -583,20 +636,12 @@ func (r *parallelRunner) fetchProjectUsage(projects []*schema.Project) map[*sche projectPtrToUsageMap[project] = usageMap } - spinner.Success() - return projectPtrToUsageMap } func (r *parallelRunner) populateActualCosts(projects []*schema.Project) { if r.runCtx.Config.UsageAPIEndpoint != "" { - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - spinner := ui.NewSpinner("Retrieving actual costs from Infracost Cloud", spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Retrieving actual costs from Infracost Cloud") for _, project := range projects { if err := prices.PopulateActualCosts(r.runCtx, project); err != nil { @@ -604,12 +649,10 @@ func (r *parallelRunner) populateActualCosts(projects []*schema.Project) { return } } - - spinner.Success() } } -func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { +func (r *parallelRunner) generateUsageFile(provider schema.Provider) (err error) { ctx := provider.Context() if ctx.ProjectConfig.UsageFile == "" { @@ -620,7 +663,7 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { var usageFile *usage.UsageFile usageFilePath := ctx.ProjectConfig.UsageFile - err := usage.CreateUsageFile(usageFilePath) + err = usage.CreateUsageFile(usageFilePath) if err != nil { return fmt.Errorf("Error creating usage file %w", err) } @@ -638,37 +681,32 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { r.buildResources(providerProjects) - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - - spinner := ui.NewSpinner("Syncing usage data from cloud", spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Syncing usage data from cloud") + defer func() { + if err != nil { + logging.Logger.Debug().Err(err).Msg("Error syncing usage data") + } else { + logging.Logger.Debug().Msg("Finished syncing usage data") + } + }() syncResult, err := usage.SyncUsageData(ctx, usageFile, providerProjects) if err != nil { - spinner.Fail() return fmt.Errorf("Error synchronizing usage data %w", err) } ctx.SetFrom(syncResult) if err != nil { - spinner.Fail() return fmt.Errorf("Error summarizing usage %w", err) } err = usageFile.WriteToPath(ctx.ProjectConfig.UsageFile) if err != nil { - spinner.Fail() return fmt.Errorf("Error writing usage file %w", err) } - if syncResult == nil { - spinner.Fail() - } else { + if syncResult != nil { resources := syncResult.ResourceCount attempts := syncResult.EstimationCount errors := len(syncResult.EstimationErrors) @@ -679,17 +717,7 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { pluralized = "s" } - spinner.Success() - - if r.runCtx.Config.IsLogging() { - logging.Logger.Info().Msgf("synced %d of %d resource%s", successes, resources, pluralized) - } else { - r.cmd.PrintErrln(fmt.Sprintf(" %s Synced %d of %d resource%s", - ui.FaintString("└─"), - successes, - resources, - pluralized)) - } + logging.Logger.Info().Msgf("Synced %d of %d resource%s", successes, resources, pluralized) } return nil } @@ -797,16 +825,16 @@ func loadRunFlags(cfg *config.Config, cmd *cobra.Command) error { if cmd.Flags().Changed("fields") { fields, _ := cmd.Flags().GetStringSlice("fields") if len(fields) == 0 { - ui.PrintWarningf(cmd.ErrOrStderr(), "fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) + logging.Logger.Warn().Msgf("fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) } else if cfg.Fields != nil && !contains(validFieldsFormats, cfg.Format) { - ui.PrintWarning(cmd.ErrOrStderr(), "fields is only supported for table and html output formats") + logging.Logger.Warn().Msg("fields is only supported for table and html output formats") } else if len(fields) == 1 && fields[0] == includeAllFields { cfg.Fields = validFields } else { vf := []string{} for _, f := range fields { if !contains(validFields, f) { - ui.PrintWarningf(cmd.ErrOrStderr(), "Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) + logging.Logger.Warn().Msgf("Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) } else { vf = append(vf, f) } @@ -838,7 +866,7 @@ func tfVarsToMap(vars []string) map[string]string { func checkRunConfig(warningWriter io.Writer, cfg *config.Config) error { if cfg.Format == "json" && cfg.ShowSkipped { - ui.PrintWarning(warningWriter, "show-skipped is not needed with JSON output format as that always includes them.\n") + logging.Logger.Warn().Msg("show-skipped is not needed with JSON output format as that always includes them.") } if cfg.SyncUsageFile { @@ -849,29 +877,29 @@ func checkRunConfig(warningWriter io.Writer, cfg *config.Config) error { } } if len(missingUsageFile) == 1 { - ui.PrintWarning(warningWriter, "Ignoring sync-usage-file as no usage-file is specified.\n") + logging.Logger.Warn().Msg("Ignoring sync-usage-file as no usage-file is specified.") } else if len(missingUsageFile) == len(cfg.Projects) { - ui.PrintWarning(warningWriter, "Ignoring sync-usage-file since no projects have a usage-file specified.\n") + logging.Logger.Warn().Msg("Ignoring sync-usage-file since no projects have a usage-file specified.") } else if len(missingUsageFile) > 1 { - ui.PrintWarning(warningWriter, fmt.Sprintf("Ignoring sync-usage-file for following projects as no usage-file is specified for them: %s.\n", strings.Join(missingUsageFile, ", "))) + logging.Logger.Warn().Msgf("Ignoring sync-usage-file for following projects as no usage-file is specified for them: %s.", strings.Join(missingUsageFile, ", ")) } } if money.GetCurrency(cfg.Currency) == nil { - ui.PrintWarning(warningWriter, fmt.Sprintf("Ignoring unknown currency '%s', using USD.\n", cfg.Currency)) + logging.Logger.Warn().Msgf("Ignoring unknown currency '%s', using USD.\n", cfg.Currency) cfg.Currency = "USD" } return nil } -func buildRunEnv(runCtx *config.RunContext, projectContexts []*config.ProjectContext, r output.Root) map[string]interface{} { - env := runCtx.EventEnvWithProjectContexts(projectContexts) +func (r *parallelRunner) buildRunEnv(projectContexts []*config.ProjectContext, or output.Root) map[string]interface{} { + env := r.runCtx.EventEnvWithProjectContexts(projectContexts) - env["runId"] = r.RunID + env["runId"] = or.RunID env["projectCount"] = len(projectContexts) - env["runSeconds"] = time.Now().Unix() - runCtx.StartTime - env["currency"] = runCtx.Config.Currency + env["runSeconds"] = time.Now().Unix() - r.runCtx.StartTime + env["currency"] = r.runCtx.Config.Currency usingCache := make([]bool, 0, len(projectContexts)) cacheErrors := make([]string, 0, len(projectContexts)) @@ -882,7 +910,7 @@ func buildRunEnv(runCtx *config.RunContext, projectContexts []*config.ProjectCon env["usingCache"] = usingCache env["cacheErrors"] = cacheErrors - summary := r.FullSummary + summary := or.FullSummary env["supportedResourceCounts"] = summary.SupportedResourceCounts env["unsupportedResourceCounts"] = summary.UnsupportedResourceCounts env["noPriceResourceCounts"] = summary.NoPriceResourceCounts @@ -896,11 +924,11 @@ func buildRunEnv(runCtx *config.RunContext, projectContexts []*config.ProjectCon env["totalEstimatedUsages"] = summary.TotalEstimatedUsages env["totalUnestimatedUsages"] = summary.TotalUnestimatedUsages - if warnings := runCtx.GetResourceWarnings(); warnings != nil { - env["resourceWarnings"] = warnings + if r.pricingFetcher.MissingPricesLen() > 0 { + env["pricesNotFound"] = r.pricingFetcher.MissingPricesComponents() } - if n := r.ExampleProjectName(); n != "" { + if n := or.ExampleProjectName(); n != "" { env["exampleProjectName"] = n } diff --git a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden index 56d6ab4d6ec..426b2e62ff9 100644 --- a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden +++ b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/multi-dev +Project: multi-dev Module path: multi Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: multi Project total $747.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/multi-prod +Project: multi-prod Module path: multi Name Monthly Qty Unit Monthly Cost @@ -30,7 +30,7 @@ Module path: multi Project total $1,308.28 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/single +Project: single Module path: single Name Monthly Qty Unit Monthly Cost @@ -53,13 +53,13 @@ Module path: single 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...lti_varfile_projects/multi-dev ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...ti_varfile_projects/multi-prod ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ -┃ infracost/infracost/cmd/infraco..._multi_varfile_projects/single ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ multi-dev ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ multi-prod ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ single ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden b/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden index 8be1f9778ad..e610ff11f64 100644 --- a/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden +++ b/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden @@ -15,6 +15,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_config_file/dev", + "displayName": "dev", "metadata": { "path": "./testdata/breakdown_config_file/dev", "type": "terraform_dir", diff --git a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden index d27b8611892..63b90be8ee8 100644 --- a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden +++ b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/infra +Project: infra Module path: infra Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: infra Project total $1,303.28 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/infra/dev +Project: infra-dev Module path: infra/dev Name Monthly Qty Unit Monthly Cost @@ -37,12 +37,12 @@ Module path: infra/dev 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...le_with_skip_auto_detect/infra ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┃ infracost/infracost/cmd/infraco...ith_skip_auto_detect/infra/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infra ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┃ infra-dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden b/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden index fda6d0ee013..c5ee718bf15 100644 --- a/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden +++ b/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden @@ -15,6 +15,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/example_plan.json", + "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "type": "terraform_plan_json", @@ -48,7 +49,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -65,7 +67,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -82,7 +85,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -91,7 +95,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -114,7 +119,8 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -123,7 +129,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -133,7 +140,8 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -143,7 +151,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -162,7 +171,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -179,7 +189,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -196,7 +207,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -205,7 +217,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -228,7 +241,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -237,7 +251,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -247,7 +262,8 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -257,7 +273,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -285,7 +302,8 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -295,7 +313,8 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -305,7 +324,8 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data scanned", @@ -315,7 +335,8 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data returned", @@ -325,7 +346,8 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -354,7 +376,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -372,7 +395,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -390,7 +414,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -399,7 +424,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -422,7 +448,8 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -431,7 +458,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -441,7 +469,8 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -451,7 +480,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -471,7 +501,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -489,7 +520,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -507,7 +539,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -516,7 +549,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -539,7 +573,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -548,7 +583,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -558,7 +594,8 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -568,7 +605,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -596,7 +634,8 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -606,7 +645,8 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -616,7 +656,8 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data scanned", @@ -626,7 +667,8 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data returned", @@ -636,7 +678,8 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden index 85574adf9bd..a014b1adea3 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags", + "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags", "type": "terraform_dir", @@ -67,7 +68,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -84,7 +86,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -101,7 +104,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -110,7 +114,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -150,7 +155,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -167,7 +173,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -184,7 +191,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -193,7 +201,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -236,7 +245,8 @@ "monthlyQuantity": "2920", "price": "0.0441", "hourlyCost": "0.1764", - "monthlyCost": "128.772" + "monthlyCost": "128.772", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -245,7 +255,8 @@ "monthlyQuantity": "28", "price": "0.3", "hourlyCost": "0.01150684931506848", - "monthlyCost": "8.4" + "monthlyCost": "8.4", + "priceNotFound": false }, { "name": "CPU credits", @@ -254,7 +265,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -271,7 +283,8 @@ "monthlyQuantity": "40", "price": "0.125", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -280,7 +293,8 @@ "monthlyQuantity": "400", "price": "0.065", "hourlyCost": "0.0356164383561643865", - "monthlyCost": "26" + "monthlyCost": "26", + "priceNotFound": false } ] } @@ -323,7 +337,8 @@ "monthlyQuantity": "730", "price": "0.0441", "hourlyCost": "0.0441", - "monthlyCost": "32.193" + "monthlyCost": "32.193", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -332,7 +347,8 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1" + "monthlyCost": "2.1", + "priceNotFound": false }, { "name": "CPU credits", @@ -341,7 +357,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -358,7 +375,8 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8" + "monthlyCost": "0.8", + "priceNotFound": false } ] }, @@ -375,7 +393,8 @@ "monthlyQuantity": "10", "price": "0.125", "hourlyCost": "0.0017123287671232875", - "monthlyCost": "1.25" + "monthlyCost": "1.25", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -384,7 +403,8 @@ "monthlyQuantity": "100", "price": "0.065", "hourlyCost": "0.008904109589041095", - "monthlyCost": "6.5" + "monthlyCost": "6.5", + "priceNotFound": false } ] } @@ -437,7 +457,8 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -471,7 +492,8 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -506,7 +528,8 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -542,7 +565,8 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -615,7 +639,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -632,7 +657,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -649,7 +675,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -658,7 +685,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -698,7 +726,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -715,7 +744,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -732,7 +762,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -741,7 +772,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -784,7 +816,8 @@ "monthlyQuantity": "2920", "price": "0.0441", "hourlyCost": "0.1764", - "monthlyCost": "128.772" + "monthlyCost": "128.772", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -793,7 +826,8 @@ "monthlyQuantity": "28", "price": "0.3", "hourlyCost": "0.01150684931506848", - "monthlyCost": "8.4" + "monthlyCost": "8.4", + "priceNotFound": false }, { "name": "CPU credits", @@ -802,7 +836,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -819,7 +854,8 @@ "monthlyQuantity": "40", "price": "0.125", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -828,7 +864,8 @@ "monthlyQuantity": "400", "price": "0.065", "hourlyCost": "0.0356164383561643865", - "monthlyCost": "26" + "monthlyCost": "26", + "priceNotFound": false } ] } @@ -871,7 +908,8 @@ "monthlyQuantity": "730", "price": "0.0441", "hourlyCost": "0.0441", - "monthlyCost": "32.193" + "monthlyCost": "32.193", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -880,7 +918,8 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1" + "monthlyCost": "2.1", + "priceNotFound": false }, { "name": "CPU credits", @@ -889,7 +928,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -906,7 +946,8 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8" + "monthlyCost": "0.8", + "priceNotFound": false } ] }, @@ -923,7 +964,8 @@ "monthlyQuantity": "10", "price": "0.125", "hourlyCost": "0.0017123287671232875", - "monthlyCost": "1.25" + "monthlyCost": "1.25", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -932,7 +974,8 @@ "monthlyQuantity": "100", "price": "0.065", "hourlyCost": "0.008904109589041095", - "monthlyCost": "6.5" + "monthlyCost": "6.5", + "priceNotFound": false } ] } @@ -985,7 +1028,8 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -1019,7 +1063,8 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -1054,7 +1099,8 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -1090,7 +1136,8 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden index 58a94abd7da..f5547d79263 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags_azure", + "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags_azure", "type": "terraform_dir", @@ -59,7 +60,8 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5" + "monthlyCost": "328.5", + "priceNotFound": false } ] }, @@ -91,7 +93,8 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5" + "monthlyCost": "328.5", + "priceNotFound": false } ] } @@ -132,7 +135,8 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5" + "monthlyCost": "328.5", + "priceNotFound": false } ] }, @@ -164,7 +168,8 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5" + "monthlyCost": "328.5", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden index 369f3d1751c..71e110dba43 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags_google", + "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags_google", "type": "terraform_dir", @@ -59,7 +60,8 @@ "monthlyQuantity": "500", "price": "0.04", "hourlyCost": "0.027397260273972604", - "monthlyCost": "20" + "monthlyCost": "20", + "priceNotFound": false } ] }, @@ -91,7 +93,8 @@ "monthlyQuantity": "100", "price": "0.17", "hourlyCost": "0.02328767123287671", - "monthlyCost": "17" + "monthlyCost": "17", + "priceNotFound": false } ] }, @@ -125,7 +128,8 @@ "monthlyQuantity": "730", "price": "0.0105", "hourlyCost": "0.0105", - "monthlyCost": "7.665" + "monthlyCost": "7.665", + "priceNotFound": false }, { "name": "Storage (SSD, zonal)", @@ -134,7 +138,8 @@ "monthlyQuantity": "10", "price": "0.17", "hourlyCost": "0.002328767123287671", - "monthlyCost": "1.7" + "monthlyCost": "1.7", + "priceNotFound": false }, { "name": "Backups", @@ -144,7 +149,8 @@ "price": "0.08", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "IP address (if unused)", @@ -153,7 +159,8 @@ "monthlyQuantity": "730", "price": "0.01", "hourlyCost": "0.01", - "monthlyCost": "7.3" + "monthlyCost": "7.3", + "priceNotFound": false } ] } @@ -217,7 +224,8 @@ "monthlyQuantity": "500", "price": "0.04", "hourlyCost": "0.027397260273972604", - "monthlyCost": "20" + "monthlyCost": "20", + "priceNotFound": false } ] }, @@ -249,7 +257,8 @@ "monthlyQuantity": "100", "price": "0.17", "hourlyCost": "0.02328767123287671", - "monthlyCost": "17" + "monthlyCost": "17", + "priceNotFound": false } ] }, @@ -283,7 +292,8 @@ "monthlyQuantity": "730", "price": "0.0105", "hourlyCost": "0.0105", - "monthlyCost": "7.665" + "monthlyCost": "7.665", + "priceNotFound": false }, { "name": "Storage (SSD, zonal)", @@ -292,7 +302,8 @@ "monthlyQuantity": "10", "price": "0.17", "hourlyCost": "0.002328767123287671", - "monthlyCost": "1.7" + "monthlyCost": "1.7", + "priceNotFound": false }, { "name": "Backups", @@ -302,7 +313,8 @@ "price": "0.08", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "IP address (if unused)", @@ -311,7 +323,8 @@ "monthlyQuantity": "730", "price": "0.01", "hourlyCost": "0.01", - "monthlyCost": "7.3" + "monthlyCost": "7.3", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden b/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden index a0c203d594c..7e30292b202 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_warnings", + "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_warnings", "type": "terraform_dir", @@ -91,4 +92,4 @@ Err: Logs: -WRN Input values were not provided for following Terraform variables: "variable.not_provided". Use --terraform-var-file or --terraform-var to specify them. +WARN Input values were not provided for following Terraform variables: "variable.not_provided". Use --terraform-var-file or --terraform-var to specify them. diff --git a/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden b/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden index b9165b414be..2626834899d 100644 --- a/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden +++ b/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden @@ -15,6 +15,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/example_plan.json", + "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "type": "terraform_plan_json", @@ -48,7 +49,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -65,7 +67,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -82,7 +85,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -91,7 +95,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -114,7 +119,8 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -123,7 +129,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -133,7 +140,8 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -143,7 +151,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -162,7 +171,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -179,7 +189,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -196,7 +207,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -205,7 +217,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -228,7 +241,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -237,7 +251,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -247,7 +262,8 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -257,7 +273,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -285,7 +302,8 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -295,7 +313,8 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -305,7 +324,8 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data scanned", @@ -315,7 +335,8 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data returned", @@ -325,7 +346,8 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -354,7 +376,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -372,7 +395,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -390,7 +414,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -399,7 +424,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -422,7 +448,8 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -431,7 +458,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -441,7 +469,8 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -451,7 +480,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -471,7 +501,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -489,7 +520,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -507,7 +539,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -516,7 +549,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -539,7 +573,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -548,7 +583,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -558,7 +594,8 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -568,7 +605,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -596,7 +634,8 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -606,7 +645,8 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -616,7 +656,8 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data scanned", @@ -626,7 +667,8 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data returned", @@ -636,7 +678,8 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -680,6 +723,7 @@ } Err: -Warning: show-skipped is not needed with JSON output format as that always includes them. +Logs: +WARN show-skipped is not needed with JSON output format as that always includes them. diff --git a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden index 752e15ce86b..ec33ff13196 100644 --- a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden +++ b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden @@ -20,3 +20,6 @@ No cloud resources were detected Err: + +Logs: +ERROR Could not autodetect any projects from path invalid diff --git a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden index 0cfb7b45f40..f1ab3c15618 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_autodetect/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: dev Project total $742.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_autodetect/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -37,12 +37,12 @@ Module path: prod 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_multi_project_autodetect/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ -┃ infracost/infracost/cmd/infraco..._multi_project_autodetect/prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden index 96124683b04..95214b621f3 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_skip_paths/shown +Project: shown Module path: shown Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: shown 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...multi_project_skip_paths/shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden index 86760f1e61d..95214b621f3 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/shown +Project: shown Module path: shown Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: shown 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ct_skip_paths_root_level/shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden index d56f9177e2e..b8519d59dc9 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/dev +Project: dev Module path: dev Errors: @@ -8,7 +8,7 @@ Errors: Invalid block definition; Either a quoted string block label or an opening brace ("{") is expected here., and 1 other diagnostic(s) ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/prod +Project: prod Module path: prod Errors: @@ -24,12 +24,12 @@ Errors: ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ti_project_with_all_errors/dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco...i_project_with_all_errors/prod ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ prod ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden index 12d7d2d00b9..223d8164ba7 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/dev +Project: dev Module path: dev Errors: @@ -8,7 +8,7 @@ Errors: Invalid block definition; Either a quoted string block label or an opening brace ("{") is expected here., and 1 other diagnostic(s) ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -31,12 +31,12 @@ Module path: prod 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_multi_project_with_error/dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden b/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden index bdfbe62f4d2..880dee726c5 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/dev", + "displayName": "dev", "metadata": { "path": "testdata/breakdown_multi_project_with_error_output_json/dev", "type": "terraform_dir", @@ -58,7 +59,8 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32" + "monthlyCost": "280.32", + "priceNotFound": false } ], "subresources": [ @@ -75,7 +77,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -92,7 +95,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -101,7 +105,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -142,7 +147,8 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32" + "monthlyCost": "280.32", + "priceNotFound": false } ], "subresources": [ @@ -159,7 +165,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -176,7 +183,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -185,7 +193,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -214,6 +223,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/prod", + "displayName": "prod", "metadata": { "path": "testdata/breakdown_multi_project_with_error_output_json/prod", "type": "terraform_dir", @@ -258,7 +268,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -275,7 +286,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -292,7 +304,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -301,7 +314,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -342,7 +356,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -359,7 +374,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -376,7 +392,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -385,7 +402,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden b/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden new file mode 100644 index 00000000000..ea36d749925 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden @@ -0,0 +1,56 @@ +Project: main + + Name Monthly Qty Unit Monthly Cost + + aws_instance.valid + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_instance.ebs_invalid + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + └─ Storage (general purpose SSD, gp2) 1,000 GB not found + + aws_instance.instance_invalid + ├─ Instance usage (Linux/UNIX, on-demand, invalid_instance_type) 730 hours not found + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_db_instance.valid + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.invalid + ├─ Database instance (on-demand, Single-AZ, invalid_instance_class) 730 hours not found + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + OVERALL TOTAL $1,594.16 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +5 cloud resources were detected: +∙ 5 were estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $1,594 ┃ $0.00 ┃ $1,594 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + + +Logs: +WARN 2 aws_instance prices missing across 2 resources + 1 aws_db_instance price missing across 1 resource + diff --git a/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf b/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf new file mode 100644 index 00000000000..668205b4292 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf @@ -0,0 +1,66 @@ +provider "aws" { + region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +resource "aws_instance" "valid" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" + volume_size = 1000 + iops = 800 + } +} + +resource "aws_instance" "ebs_invalid" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "invalid" + volume_size = 1000 + iops = 800 + } +} + +resource "aws_instance" "instance_invalid" { + ami = "ami-674cbc1e" + instance_type = "invalid_instance_type" + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" + volume_size = 1000 + iops = 800 + } +} + +resource "aws_db_instance" "valid" { + engine = "mysql" + instance_class = "db.t3.large" +} + +resource "aws_db_instance" "invalid" { + engine = "mysql" + instance_class = "invalid_instance_class" +} + diff --git a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden index 7fbb5155778..218b9f571cc 100644 --- a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden +++ b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed +Project: main Name Monthly Qty Unit Monthly Cost @@ -15,11 +15,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_skip_autodetection 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_if_terraform_var_file_passed ┃ $74 ┃ $0.00 ┃ $74 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden index 89885f4ce6c..ea9e1a5a854 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terraform +Project: main Name Monthly Qty Unit Monthly Cost @@ -26,7 +26,7 @@ Project: infracost/infracost/examples/terraform ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden index c29e2acb904..4f2e4f169da 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files +Project: main Name Monthly Qty Unit Monthly Cost @@ -21,11 +21,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_director 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...rectory_with_default_var_files ┃ $758 ┃ $0.00 ┃ $758 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $758 ┃ $0.00 ┃ $758 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden index 7c0c36164bb..3594f0df313 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules +Project: main Name Monthly Qty Unit Monthly Cost @@ -99,11 +99,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_director 12 cloud resources were detected: ∙ 12 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...rectory_with_recursive_modules ┃ $10,384 ┃ $0.00 ┃ $10,384 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $10,384 ┃ $0.00 ┃ $10,384 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden index c5c7117456c..e8b16a2650f 100644 --- a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden +++ b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden @@ -37,5 +37,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: -Warning: Invalid field 'invalid' specified, valid fields are: [price monthlyQuantity unit hourlyCost monthlyCost] or 'all' to include all fields + +Logs: +WARN Invalid field 'invalid' specified, valid fields are: [price monthlyQuantity unit hourlyCost monthlyCost] or 'all' to include all fields diff --git a/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden b/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden index 3f5040c184a..b5ee5d3105a 100644 --- a/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden +++ b/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden @@ -29,6 +29,7 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", + "priceNotFound": false, "unit": "hours" } ], @@ -47,6 +48,7 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", + "priceNotFound": false, "unit": "GB" } ], @@ -64,6 +66,7 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", + "priceNotFound": false, "unit": "GB" }, { @@ -73,6 +76,7 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", + "priceNotFound": false, "unit": "IOPS" } ], @@ -93,6 +97,7 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", + "priceNotFound": false, "unit": "hours" } ], @@ -111,6 +116,7 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", + "priceNotFound": false, "unit": "GB" } ], @@ -128,6 +134,7 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", + "priceNotFound": false, "unit": "GB" }, { @@ -137,6 +144,7 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", + "priceNotFound": false, "unit": "IOPS" } ], @@ -157,6 +165,7 @@ "monthlyQuantity": null, "name": "Requests", "price": "0.2", + "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -167,6 +176,7 @@ "monthlyQuantity": null, "name": "Ephemeral storage", "price": "0.0000000309", + "priceNotFound": false, "unit": "GB-seconds" }, { @@ -176,6 +186,7 @@ "monthlyQuantity": null, "name": "Duration (first 6B)", "price": "0.0000166667", + "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -194,6 +205,7 @@ "monthlyQuantity": null, "name": "Requests", "price": "0.2", + "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -204,6 +216,7 @@ "monthlyQuantity": null, "name": "Ephemeral storage", "price": "0.0000000309", + "priceNotFound": false, "unit": "GB-seconds" }, { @@ -213,6 +226,7 @@ "monthlyQuantity": null, "name": "Duration (first 6B)", "price": "0.0000166667", + "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -236,6 +250,7 @@ "monthlyQuantity": null, "name": "Storage", "price": "0.023", + "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -246,6 +261,7 @@ "monthlyQuantity": null, "name": "PUT, COPY, POST, LIST requests", "price": "0.005", + "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -256,6 +272,7 @@ "monthlyQuantity": null, "name": "GET, SELECT, and all other requests", "price": "0.0004", + "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -266,6 +283,7 @@ "monthlyQuantity": null, "name": "Select data scanned", "price": "0.002", + "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -276,6 +294,7 @@ "monthlyQuantity": null, "name": "Select data returned", "price": "0.0007", + "priceNotFound": false, "unit": "GB", "usageBased": true } @@ -302,6 +321,7 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", + "priceNotFound": false, "unit": "hours" } ], @@ -321,6 +341,7 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", + "priceNotFound": false, "unit": "GB" } ], @@ -339,6 +360,7 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", + "priceNotFound": false, "unit": "GB" }, { @@ -348,6 +370,7 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", + "priceNotFound": false, "unit": "IOPS" } ], @@ -369,6 +392,7 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", + "priceNotFound": false, "unit": "hours" } ], @@ -388,6 +412,7 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", + "priceNotFound": false, "unit": "GB" } ], @@ -406,6 +431,7 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", + "priceNotFound": false, "unit": "GB" }, { @@ -415,6 +441,7 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", + "priceNotFound": false, "unit": "IOPS" } ], @@ -436,6 +463,7 @@ "monthlyQuantity": "0", "name": "Requests", "price": "0.2", + "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -446,6 +474,7 @@ "monthlyQuantity": "0", "name": "Ephemeral storage", "price": "0.0000000309", + "priceNotFound": false, "unit": "GB-seconds" }, { @@ -455,6 +484,7 @@ "monthlyQuantity": "0", "name": "Duration (first 6B)", "price": "0.0000166667", + "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -476,6 +506,7 @@ "monthlyQuantity": "0", "name": "Requests", "price": "0.2", + "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -486,6 +517,7 @@ "monthlyQuantity": "0", "name": "Ephemeral storage", "price": "0.0000000309", + "priceNotFound": false, "unit": "GB-seconds" }, { @@ -495,6 +527,7 @@ "monthlyQuantity": "0", "name": "Duration (first 6B)", "price": "0.0000166667", + "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -524,6 +557,7 @@ "monthlyQuantity": "0", "name": "Storage", "price": "0.023", + "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -534,6 +568,7 @@ "monthlyQuantity": "0", "name": "PUT, COPY, POST, LIST requests", "price": "0.005", + "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -544,6 +579,7 @@ "monthlyQuantity": "0", "name": "GET, SELECT, and all other requests", "price": "0.0004", + "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -554,6 +590,7 @@ "monthlyQuantity": "0", "name": "Select data scanned", "price": "0.002", + "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -564,6 +601,7 @@ "monthlyQuantity": "0", "name": "Select data returned", "price": "0.0007", + "priceNotFound": false, "unit": "GB", "usageBased": true } @@ -582,6 +620,7 @@ "totalMonthlyCost": "1485.28", "totalMonthlyUsageCost": "0" }, + "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "providers": [ diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden index 651261ad7d7..4bfdb6e8994 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden @@ -50,6 +50,8 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: -Warning: The following usage file parameters are invalid and will be ignored: dup_invalid_key, invalid_key_1, invalid_key_2, invalid_key_3 +Logs: +WARN The following usage file parameters are invalid and will be ignored: dup_invalid_key, invalid_key_1, invalid_key_2, invalid_key_3 + diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden index 6c0ba5fd64d..c56c6192d2d 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module +Project: main Name Monthly Qty Unit Monthly Cost @@ -92,11 +92,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_usage_fi 19 cloud resources were detected: ∙ 19 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...orm_usage_file_wildcard_module ┃ $0.00 ┃ $22,693 ┃ $22,693 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $22,693 ┃ $22,693 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden index feb186546d4..cc48bc03ba5 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terragrunt/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -50,8 +50,8 @@ Module path: prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden b/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden index 6addcd629b4..6fd06cb1d34 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_extra_args/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: dev 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...down_terragrunt_extra_args/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden index b112f2e6e9b..cc48bc03ba5 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -47,12 +47,12 @@ Module path: prod 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...eakdown_terragrunt_get_env/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/cmd/infraco...akdown_terragrunt_get_env/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden index 4b9e0b80b55..7a5689c8546 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden @@ -9,7 +9,7 @@ Errors: Required environment variable UNSAFE_VAR - not found. ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -41,7 +41,7 @@ Module path: prod ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ ┃ infracost/infracost/cmd/infraco...ragrunt_get_env_with_whitelist ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco...nt_get_env_with_whitelist/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden index 7e32ec93e0e..91fee234d6b 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $64.97 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -40,7 +40,7 @@ Module path: prod Project total $747.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/prod2 +Project: prod2 Module path: prod2 Name Monthly Qty Unit Monthly Cost @@ -61,7 +61,7 @@ Module path: prod2 Project total $747.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/stag +Project: stag Module path: stag Name Monthly Qty Unit Monthly Cost @@ -76,17 +76,17 @@ Module path: stag 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco..._terragrunt_hcldeps_output/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ -┃ infracost/infracost/cmd/infraco...terragrunt_hcldeps_output/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...erragrunt_hcldeps_output/prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...terragrunt_hcldeps_output/stag ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $65 ┃ $0.00 ┃ $65 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ stag ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: Logs: -WRN Input values were not provided for following Terraform variables: "variable.unspecified_variable". Use --terraform-var-file or --terraform-var to specify them. +WARN Input values were not provided for following Terraform variables: "variable.unspecified_variable". Use --terraform-var-file or --terraform-var to specify them. diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden index 556917a9854..160fb1a6ac2 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/dev +Project: main Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...unt_hcldeps_output_include/dev ┃ $91 ┃ $0.00 ┃ $91 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $91 ┃ $0.00 ┃ $91 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden index b260c7b09e7..ae22212e9ef 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $64.97 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -40,7 +40,7 @@ Module path: prod Project total $747.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/prod2 +Project: prod2 Module path: prod2 Name Monthly Qty Unit Monthly Cost @@ -68,13 +68,13 @@ Module path: prod2 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...runt_hcldeps_output_mocked/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ -┃ infracost/infracost/cmd/infraco...unt_hcldeps_output_mocked/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...nt_hcldeps_output_mocked/prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $65 ┃ $0.00 ┃ $65 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden index a9e5114bd3e..6517be5218c 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/dev +Project: main Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...deps_output_single_project/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $65 ┃ $0.00 ┃ $65 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden index 3a4e6c7af96..6bcfde524a8 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each +Project: main Name Monthly Qty Unit Monthly Cost @@ -20,11 +20,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmodu 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...runt_hclmodule_output_for_each ┃ $24 ┃ $0.00 ┃ $24 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $24 ┃ $0.00 ┃ $24 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden index feb186546d4..cc48bc03ba5 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terragrunt/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -50,8 +50,8 @@ Module path: prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden index df59926fa81..cc48bc03ba5 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/example/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/example/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -47,12 +47,12 @@ Module path: prod 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...hclmulti_no_source/example/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/cmd/infraco...clmulti_no_source/example/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden index 37650ed167e..f455aaac0c2 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terragrunt/prod +Project: main Name Monthly Qty Unit Monthly Cost @@ -26,7 +26,7 @@ Project: infracost/infracost/examples/terragrunt/prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ main ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden b/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden index a29f01469ae..ea9e1a5a854 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_iamroles +Project: main Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_iamrole 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco.../breakdown_terragrunt_iamroles ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden b/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden index 077f1e1d4b3..63e2d58472b 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_include_deps/eu/baz +Project: eu-baz Module path: eu/baz Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: eu/baz Project total $1,308.28 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_include_deps/eu/foo +Project: eu-foo Module path: eu/foo Name Monthly Qty Unit Monthly Cost @@ -37,12 +37,12 @@ Module path: eu/foo 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...terragrunt_include_deps/eu/baz ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ -┃ infracost/infracost/cmd/infraco...terragrunt_include_deps/eu/foo ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ eu-baz ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ eu-foo ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden b/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden index 9fa16689784..91b144c3527 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terragrunt/dev +Project: terragrunt-dev Module path: terragrunt/dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: terragrunt/dev Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod +Project: terragrunt-prod Module path: terragrunt/prod Name Monthly Qty Unit Monthly Cost @@ -50,8 +50,8 @@ Module path: terragrunt/prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ terragrunt-dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ terragrunt-prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden b/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden index 261b3d4823d..3d169b6416e 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/glob/test/shown +Project: glob-test-shown Module path: glob/test/shown Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: glob/test/shown Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/glob/test2/shown +Project: glob-test2-shown Module path: glob/test2/shown Name Monthly Qty Unit Monthly Cost @@ -40,7 +40,7 @@ Module path: glob/test2/shown Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/shown +Project: shown Module path: shown Name Monthly Qty Unit Monthly Cost @@ -68,13 +68,13 @@ Module path: shown 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...unt_skip_paths/glob/test/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/cmd/infraco...nt_skip_paths/glob/test2/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/cmd/infraco...wn_terragrunt_skip_paths/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ glob-test-shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ glob-test2-shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden b/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden index f49d24f8066..ea9e1a5a854 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_source_map +Project: main Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_source_ 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...reakdown_terragrunt_source_map ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden index 62a69b792c0..ed6762af1c7 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terragrunt/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -52,8 +52,8 @@ Share this cost estimate: https://dashboard.infracost.io/share/REPLACED_SHARE_CO ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden index 952d3e56be7..aa00c8402c0 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -24,11 +24,11 @@ Module path: prod 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...unt_with_mocked_functions/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden index 4bb8af97f48..992f69e4159 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/infra/us-east-1/dev +Project: infra-us-east-1-dev Module path: infra/us-east-1/dev Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: infra/us-east-1/dev 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...nt_include/infra/us-east-1/dev ┃ $630 ┃ $0.00 ┃ $630 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infra-us-east-1-dev ┃ $630 ┃ $0.00 ┃ $630 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden index 7d4f32cdcb5..366aca29a5b 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref1 +Project: submod-ref1 Module path: submod-ref1 Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: submod-ref1 Project total $2,429.56 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref1-2 +Project: submod-ref1-2 Module path: submod-ref1-2 Name Monthly Qty Unit Monthly Cost @@ -40,7 +40,7 @@ Module path: submod-ref1-2 Project total $747.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref3 +Project: submod-ref3 Module path: submod-ref3 Name Monthly Qty Unit Monthly Cost @@ -61,7 +61,7 @@ Module path: submod-ref3 Project total $1,308.28 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref1 +Project: ref1 Module path: ref1 Name Monthly Qty Unit Monthly Cost @@ -102,7 +102,7 @@ Module path: ref1 Project total $386.17 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref1-submod +Project: ref1-submod Module path: ref1-submod Name Monthly Qty Unit Monthly Cost @@ -114,7 +114,7 @@ Module path: ref1-submod Project total $32.80 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref2 +Project: ref2 Module path: ref2 Name Monthly Qty Unit Monthly Cost @@ -164,16 +164,16 @@ Module path: ref2 ∙ 93 were free ∙ 1 is not supported yet, rerun with --show-skipped to see details -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...with_remote_source/submod-ref1 ┃ $2,430 ┃ $0.00 ┃ $2,430 ┃ -┃ infracost/infracost/cmd/infraco...th_remote_source/submod-ref1-2 ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...with_remote_source/submod-ref3 ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ -┃ infracost/infracost/cmd/infraco...agrunt_with_remote_source/ref1 ┃ $386 ┃ $0.00 ┃ $386 ┃ -┃ infracost/infracost/cmd/infraco...with_remote_source/ref1-submod ┃ $33 ┃ $0.00 ┃ $33 ┃ -┃ infracost/infracost/cmd/infraco...agrunt_with_remote_source/ref2 ┃ $386 ┃ $0.00 ┃ $386 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ submod-ref1 ┃ $2,430 ┃ $0.00 ┃ $2,430 ┃ +┃ submod-ref1-2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ submod-ref3 ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ ref1 ┃ $386 ┃ $0.00 ┃ $386 ┃ +┃ ref1-submod ┃ $33 ┃ $0.00 ┃ $33 ┃ +┃ ref2 ┃ $386 ┃ $0.00 ┃ $386 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden b/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden index 1d9e7c360d6..71513fee1db 100644 --- a/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden +++ b/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_actual_costs +Project: main Name Monthly Qty Unit Monthly Cost @@ -24,11 +24,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_actual_costs 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ta/breakdown_with_actual_costs ┃ $0.00 ┃ $70,002 ┃ $70,002 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $70,002 ┃ $70,002 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden b/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden index e61a7f6de23..1d05cd6dff7 100644 --- a/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden +++ b/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod +Project: main Name Monthly Qty Unit Monthly Cost @@ -37,11 +37,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_data_blocks_i 9 cloud resources were detected: ∙ 9 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...own_with_data_blocks_in_submod ┃ $33 ┃ $0.00 ┃ $33 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $33 ┃ $0.00 ┃ $33 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden b/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden index b515684357e..3dea76a23c8 100644 --- a/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden +++ b/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_deep_merge_module +Project: main Name Monthly Qty Unit Monthly Cost @@ -9,11 +9,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_deep_merge_mo ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...eakdown_with_deep_merge_module ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_default_tags/breakdown_with_default_tags.golden b/cmd/infracost/testdata/breakdown_with_default_tags/breakdown_with_default_tags.golden index 17dd0805574..3f1a25da8ac 100644 --- a/cmd/infracost/testdata/breakdown_with_default_tags/breakdown_with_default_tags.golden +++ b/cmd/infracost/testdata/breakdown_with_default_tags/breakdown_with_default_tags.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_default_tags", + "displayName": "main", "metadata": { "path": "testdata/breakdown_with_default_tags", "type": "terraform_dir", @@ -78,7 +79,8 @@ "monthlyQuantity": "730", "price": "0.0416", "hourlyCost": "0.0416", - "monthlyCost": "30.368" + "monthlyCost": "30.368", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -87,7 +89,8 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1" + "monthlyCost": "2.1", + "priceNotFound": false }, { "name": "CPU credits", @@ -96,7 +99,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -113,7 +117,8 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8" + "monthlyCost": "0.8", + "priceNotFound": false } ] } @@ -157,7 +162,8 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -166,7 +172,8 @@ "monthlyQuantity": null, "price": "0.0000000309", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -176,7 +183,8 @@ "price": "0.0000166667", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -228,7 +236,8 @@ "monthlyQuantity": "730", "price": "0.0416", "hourlyCost": "0.0416", - "monthlyCost": "30.368" + "monthlyCost": "30.368", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -237,7 +246,8 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1" + "monthlyCost": "2.1", + "priceNotFound": false }, { "name": "CPU credits", @@ -246,7 +256,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -263,7 +274,8 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8" + "monthlyCost": "0.8", + "priceNotFound": false } ] } @@ -307,7 +319,8 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -316,7 +329,8 @@ "monthlyQuantity": null, "price": "0.0000000309", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -326,7 +340,8 @@ "price": "0.0000166667", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden b/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden index c9b9441c26a..243429b4bdb 100644 --- a/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden +++ b/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_depends_upon_module +Project: main Name Monthly Qty Unit Monthly Cost @@ -16,11 +16,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_depends_upon_ 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...kdown_with_depends_upon_module ┃ $7 ┃ $0.00 ┃ $7 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $7 ┃ $0.00 ┃ $7 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden b/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden index 08eeb05d1be..4fe4062f0d3 100644 --- a/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden +++ b/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_dynamic_iterator +Project: main Name Monthly Qty Unit Monthly Cost @@ -32,11 +32,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_dynamic_itera 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...reakdown_with_dynamic_iterator ┃ $1,662 ┃ $0.00 ┃ $1,662 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $1,662 ┃ $0.00 ┃ $1,662 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_free_resources_checksum/breakdown_with_free_resources_checksum.golden b/cmd/infracost/testdata/breakdown_with_free_resources_checksum/breakdown_with_free_resources_checksum.golden index 419fe964c58..b3742154bc4 100644 --- a/cmd/infracost/testdata/breakdown_with_free_resources_checksum/breakdown_with_free_resources_checksum.golden +++ b/cmd/infracost/testdata/breakdown_with_free_resources_checksum/breakdown_with_free_resources_checksum.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_free_resources_checksum", + "displayName": "main", "metadata": { "path": "testdata/breakdown_with_free_resources_checksum", "type": "terraform_dir", @@ -57,7 +58,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -74,7 +76,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -91,7 +94,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -100,7 +104,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -162,7 +167,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -179,7 +185,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -196,7 +203,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -205,7 +213,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden b/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden index 7ca2d282eea..9bc3dc934ae 100644 --- a/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden +++ b/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_local_path_data_block/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -24,11 +24,11 @@ Module path: dev 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...with_local_path_data_block/dev ┃ $1,581 ┃ $0.00 ┃ $1,581 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $1,581 ┃ $0.00 ┃ $1,581 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden b/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden index aac681a9277..2cdbc2c3614 100644 --- a/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden +++ b/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_mocked_merge +Project: main Name Monthly Qty Unit Monthly Cost @@ -20,11 +20,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_mocked_merge 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ta/breakdown_with_mocked_merge ┃ $1,123 ┃ $0.00 ┃ $1,123 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $1,123 ┃ $0.00 ┃ $1,123 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden b/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden index 093fcb7572a..0637a4bd051 100644 --- a/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden +++ b/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_multiple_providers +Project: main Name Monthly Qty Unit Monthly Cost @@ -34,11 +34,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_multiple_prov 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...akdown_with_multiple_providers ┃ $1,684 ┃ $0.00 ┃ $1,684 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $1,684 ┃ $0.00 ┃ $1,684 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden b/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden index 77f64579add..a06552c5954 100644 --- a/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden +++ b/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_foreach +Project: main Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_foreac ∙ 2 were estimated ∙ 6 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco.../breakdown_with_nested_foreach ┃ $66 ┃ $0.00 ┃ $66 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $66 ┃ $0.00 ┃ $66 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden b/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden index ed6cf382cf3..31891b29fe4 100644 --- a/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden +++ b/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_provider_aliases +Project: main Name Monthly Qty Unit Monthly Cost @@ -15,11 +15,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_provid 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_with_nested_provider_aliases ┃ $11 ┃ $0.00 ┃ $11 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $11 ┃ $0.00 ┃ $11 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden b/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden index 64ee3683fd0..0c46d50a5be 100644 --- a/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden +++ b/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_optional_variables-dev +Project: main-dev Name Monthly Qty Unit Monthly Cost @@ -34,11 +34,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_optional_vari 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...wn_with_optional_variables-dev ┃ $29 ┃ $0.00 ┃ $29 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main-dev ┃ $29 ┃ $0.00 ┃ $29 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl/breakdown_with_policy_data_upload_hcl.golden b/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl/breakdown_with_policy_data_upload_hcl.golden index b7b40e49914..2dcdee098aa 100644 --- a/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl/breakdown_with_policy_data_upload_hcl.golden +++ b/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl/breakdown_with_policy_data_upload_hcl.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl", + "displayName": "main", "metadata": { "path": "testdata/breakdown_with_policy_data_upload_hcl", "type": "terraform_dir", @@ -69,7 +70,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -86,7 +88,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -103,7 +106,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -143,7 +147,8 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Read capacity unit (RCU)", @@ -152,7 +157,8 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847" + "monthlyCost": "2.847", + "priceNotFound": false }, { "name": "Data storage", @@ -162,7 +168,8 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -172,7 +179,8 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "On-demand backup storage", @@ -182,7 +190,8 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Table data restored", @@ -192,7 +201,8 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Streams read request unit (sRRU)", @@ -202,7 +212,8 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -293,7 +304,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -310,7 +322,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -327,7 +340,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -367,7 +381,8 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Read capacity unit (RCU)", @@ -376,7 +391,8 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847" + "monthlyCost": "2.847", + "priceNotFound": false }, { "name": "Data storage", @@ -386,7 +402,8 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -396,7 +413,8 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "On-demand backup storage", @@ -406,7 +424,8 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Table data restored", @@ -416,7 +435,8 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Streams read request unit (sRRU)", @@ -426,7 +446,8 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, diff --git a/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/breakdown_with_policy_data_upload_plan_json.golden b/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/breakdown_with_policy_data_upload_plan_json.golden index 9c97ab0769a..17469a49d74 100644 --- a/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/breakdown_with_policy_data_upload_plan_json.golden +++ b/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/breakdown_with_policy_data_upload_plan_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/plan.json", + "displayName": "", "metadata": { "path": "testdata/breakdown_with_policy_data_upload_plan_json/plan.json", "type": "terraform_plan_json", @@ -60,7 +61,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -77,7 +79,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -94,7 +97,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -122,7 +126,8 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Read capacity unit (RCU)", @@ -131,7 +136,8 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847" + "monthlyCost": "2.847", + "priceNotFound": false }, { "name": "Data storage", @@ -141,7 +147,8 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -151,7 +158,8 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "On-demand backup storage", @@ -161,7 +169,8 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Table data restored", @@ -171,7 +180,8 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Streams read request unit (sRRU)", @@ -181,7 +191,8 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -235,7 +246,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -253,7 +265,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -271,7 +284,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -297,7 +311,8 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Read capacity unit (RCU)", @@ -306,7 +321,8 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847" + "monthlyCost": "2.847", + "priceNotFound": false }, { "name": "Data storage", @@ -316,7 +332,8 @@ "price": "0.25", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -326,7 +343,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "On-demand backup storage", @@ -336,7 +354,8 @@ "price": "0.1", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Table data restored", @@ -346,7 +365,8 @@ "price": "0.15", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Streams read request unit (sRRU)", @@ -356,7 +376,8 @@ "price": "0.0000002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt/breakdown_with_policy_data_upload_terragrunt.golden b/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt/breakdown_with_policy_data_upload_terragrunt.golden index fa982ea3d54..47fa28b10bf 100644 --- a/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt/breakdown_with_policy_data_upload_terragrunt.golden +++ b/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt/breakdown_with_policy_data_upload_terragrunt.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt", + "displayName": "main", "metadata": { "path": "testdata/breakdown_with_policy_data_upload_terragrunt", "type": "terragrunt_dir", @@ -57,7 +58,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -74,7 +76,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -91,7 +94,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -131,7 +135,8 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Read capacity unit (RCU)", @@ -140,7 +145,8 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847" + "monthlyCost": "2.847", + "priceNotFound": false }, { "name": "Data storage", @@ -150,7 +156,8 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -160,7 +167,8 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "On-demand backup storage", @@ -170,7 +178,8 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Table data restored", @@ -180,7 +189,8 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Streams read request unit (sRRU)", @@ -190,7 +200,8 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -281,7 +292,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -298,7 +310,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -315,7 +328,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -355,7 +369,8 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Read capacity unit (RCU)", @@ -364,7 +379,8 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847" + "monthlyCost": "2.847", + "priceNotFound": false }, { "name": "Data storage", @@ -374,7 +390,8 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -384,7 +401,8 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "On-demand backup storage", @@ -394,7 +412,8 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Table data restored", @@ -404,7 +423,8 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Streams read request unit (sRRU)", @@ -414,7 +434,8 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, diff --git a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden index 8db00b4c594..e88193b7385 100644 --- a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden +++ b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module +Project: main Name Monthly Qty Unit Monthly Cost @@ -40,11 +40,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terra 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...vate_terraform_registry_module ┃ $57 ┃ $0.00 ┃ $57 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $57 ┃ $0.00 ┃ $57 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors/breakdown_with_private_terraform_registry_module_populates_errors.golden b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors/breakdown_with_private_terraform_registry_module_populates_errors.golden index 170c4f2eab0..fc1d050480a 100644 --- a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors/breakdown_with_private_terraform_registry_module_populates_errors.golden +++ b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors/breakdown_with_private_terraform_registry_module_populates_errors.golden @@ -1,4 +1,4 @@ -{"version":"0.2","metadata":{"infracostCommand":"breakdown","vcsBranch":"stub-branch","vcsCommitSha":"stub-sha","vcsCommitAuthorName":"stub-author","vcsCommitAuthorEmail":"stub@stub.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"stub-message","vcsRepositoryUrl":"https://github.com/infracost/infracost"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors","metadata":{"path":"testdata/breakdown_with_private_terraform_registry_module_populates_errors","type":"terraform_dir","vcsSubPath":"cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors","errors":[{"code":301,"message":"Failed to lookup module \"app.terraform.io/infracost-test/ec2-instance/aws\" - Module versions endpoint returned status code 401","data":{"moduleLocation":null,"moduleSource":"app.terraform.io/infracost-test/ec2-instance/aws"},"isError":true}]},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"breakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"diff":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"summary":{"totalDetectedResources":0,"totalSupportedResources":0,"totalUnsupportedResources":0,"totalUsageBasedResources":0,"totalNoPriceResources":0,"unsupportedResourceCounts":{},"noPriceResourceCounts":{}}}],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0","pastTotalHourlyCost":"0","pastTotalMonthlyCost":"0","pastTotalMonthlyUsageCost":"0","diffTotalHourlyCost":"0","diffTotalMonthlyCost":"0","diffTotalMonthlyUsageCost":"0","timeGenerated":"REPLACED_TIME","summary":{"totalDetectedResources":0,"totalSupportedResources":0,"totalUnsupportedResources":0,"totalUsageBasedResources":0,"totalNoPriceResources":0,"unsupportedResourceCounts":{},"noPriceResourceCounts":{}}} +{"version":"0.2","metadata":{"infracostCommand":"breakdown","vcsBranch":"stub-branch","vcsCommitSha":"stub-sha","vcsCommitAuthorName":"stub-author","vcsCommitAuthorEmail":"stub@stub.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"stub-message","vcsRepositoryUrl":"https://github.com/infracost/infracost"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors","displayName":"main","metadata":{"path":"testdata/breakdown_with_private_terraform_registry_module_populates_errors","type":"terraform_dir","vcsSubPath":"cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors","errors":[{"code":301,"message":"Failed to lookup module \"app.terraform.io/infracost-test/ec2-instance/aws\" - Module versions endpoint returned status code 401","data":{"moduleLocation":null,"moduleSource":"app.terraform.io/infracost-test/ec2-instance/aws"},"isError":true}]},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"breakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"diff":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"summary":{"totalDetectedResources":0,"totalSupportedResources":0,"totalUnsupportedResources":0,"totalUsageBasedResources":0,"totalNoPriceResources":0,"unsupportedResourceCounts":{},"noPriceResourceCounts":{}}}],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0","pastTotalHourlyCost":"0","pastTotalMonthlyCost":"0","pastTotalMonthlyUsageCost":"0","diffTotalHourlyCost":"0","diffTotalMonthlyCost":"0","diffTotalMonthlyUsageCost":"0","timeGenerated":"REPLACED_TIME","summary":{"totalDetectedResources":0,"totalSupportedResources":0,"totalUnsupportedResources":0,"totalUsageBasedResources":0,"totalNoPriceResources":0,"unsupportedResourceCounts":{},"noPriceResourceCounts":{}}} Err: diff --git a/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden b/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden index 39397f8bef2..36fb203fe83 100644 --- a/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden +++ b/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_providers_depending_on_data +Project: main Name Monthly Qty Unit Monthly Cost @@ -20,11 +20,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_providers_dep 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...th_providers_depending_on_data ┃ $19 ┃ $0.00 ┃ $19 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $19 ┃ $0.00 ┃ $19 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden b/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden index 524ea47e898..27c42cfce79 100644 --- a/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden +++ b/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_workspace +Project: main-prod Workspace: prod Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Workspace: prod 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...tdata/breakdown_with_workspace ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main-prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/catches_runtime_error/catches_runtime_error.golden b/cmd/infracost/testdata/catches_runtime_error/catches_runtime_error.golden index 25eaf5d11b8..052dca8a0a6 100644 --- a/cmd/infracost/testdata/catches_runtime_error/catches_runtime_error.golden +++ b/cmd/infracost/testdata/catches_runtime_error/catches_runtime_error.golden @@ -1,10 +1,10 @@ -Err: - -Error: An unexpected error occurred +Logs: +ERROR An unexpected error occurred runtime error: REPLACED ERROR Environment: Infracost vREPLACED_VERSION An unexpected error occurred. We've been notified of it and will investigate it soon. If you would like to follow-up, please copy the above output and create an issue at: https://github.com/infracost/infracost/issues/new + diff --git a/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment.golden index abb2c81f002..1d71960a55d 100644 --- a/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment.golden @@ -1,10 +1,10 @@ Comment posted to GitHub Logs: -INF Finding matching comments for tag infracost-comment -INF Found 1 matching comment -INF Deleting 1 comment -INF Deleting comment -WRN SkipNoDiff option is not supported for new comments -INF Creating new comment -INF Created new comment: +INFO Finding matching comments for tag infracost-comment +INFO Found 1 matching comment +INFO Deleting 1 comment +INFO Deleting comment +WARN SkipNoDiff option is not supported for new comments +INFO Creating new comment +INFO Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment.golden index 3f4caed8804..73ced48e3d9 100644 --- a/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment.golden @@ -1,6 +1,6 @@ Comment not posted to GitHub: Not creating initial comment since there is no resource or cost difference Logs: -INF Finding matching comments for tag infracost-comment -INF Found 0 matching comments -INF Not creating initial comment since there is no resource or cost difference +INFO Finding matching comments for tag infracost-comment +INFO Found 0 matching comments +INFO Not creating initial comment since there is no resource or cost difference diff --git a/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_block/comment_git_hub_guardrail_failure_with_block.golden b/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_block/comment_git_hub_guardrail_failure_with_block.golden index c00e7b9a336..da8148e4ddd 100644 --- a/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_block/comment_git_hub_guardrail_failure_with_block.golden +++ b/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_block/comment_git_hub_guardrail_failure_with_block.golden @@ -8,9 +8,9 @@ Error: Governance check failed: Logs: -INF Estimate uploaded to Infracost Cloud -INF 1 guardrail checked -INF guardrail check unblocked: Unblocked ge -INF guardrail check failed: Stand by your estimate -INF Creating new comment -INF Created new comment: +INFO Estimate uploaded to Infracost Cloud +INFO 1 guardrail checked +INFO guardrail check unblocked: Unblocked ge +INFO guardrail check failed: Stand by your estimate +INFO Creating new comment +INFO Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_comment/comment_git_hub_guardrail_failure_with_comment.golden b/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_comment/comment_git_hub_guardrail_failure_with_comment.golden index 4793ec9256b..87a2ca8ef98 100644 --- a/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_comment/comment_git_hub_guardrail_failure_with_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_comment/comment_git_hub_guardrail_failure_with_comment.golden @@ -1,9 +1,9 @@ Comment posted to GitHub Logs: -INF Estimate uploaded to Infracost Cloud -INF 1 guardrail checked -INF guardrail check failed: Stand by your estimate -INF Creating new comment -WRN >\n⚠️ Guardrails triggered\n\n> - Warning: Stand by your estimate\n\n⚠️ Guardrails triggered\n\n> - Warning: Stand by your estimate\n\n❌ Guardrails triggered (needs action)\nThis change is blocked, either reduce the costs or wait for an admin to review and unblock it.\n\n> - Blocked: Stand by your estimate\n\n❌ Guardrails triggered (needs action)\nThis change is blocked, either reduce the costs or wait for an admin to review and unblock it.\n\n> - Blocked: Stand by your estimate\n\n

✅ Guardrails passed

\n"} +INFO Estimate uploaded to Infracost Cloud +INFO 1 guardrail checked +INFO Creating new comment +WARN >\n

✅ Guardrails passed

\n"} -INF Created new comment: +INFO Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden b/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden index 28dcdf40a98..4edad5b088f 100644 --- a/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden @@ -1,7 +1,7 @@ Comment posted to GitHub Logs: -INF Estimate uploaded to Infracost Cloud -INF 1 guardrail checked -INF Creating new comment -INF Created new comment: +INFO Estimate uploaded to Infracost Cloud +INFO 1 guardrail checked +INFO Creating new comment +INFO Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden index ff1a9e6742b..d7bd3d41aa0 100644 --- a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden @@ -1,10 +1,10 @@ Comment posted to GitHub Logs: -INF Finding matching comments for tag infracost-comment -INF Found 1 matching comment -INF Hiding 1 comment -INF Hiding comment -WRN SkipNoDiff option is not supported for new comments -INF Creating new comment -INF Created new comment: +INFO Finding matching comments for tag infracost-comment +INFO Found 1 matching comment +INFO Hiding 1 comment +INFO Hiding comment +WARN SkipNoDiff option is not supported for new comments +INFO Creating new comment +INFO Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden index 3f4caed8804..73ced48e3d9 100644 --- a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden @@ -1,6 +1,6 @@ Comment not posted to GitHub: Not creating initial comment since there is no resource or cost difference Logs: -INF Finding matching comments for tag infracost-comment -INF Found 0 matching comments -INF Not creating initial comment since there is no resource or cost difference +INFO Finding matching comments for tag infracost-comment +INFO Found 0 matching comments +INFO Not creating initial comment since there is no resource or cost difference diff --git a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden index ef3309f6f66..21321bf572c 100644 --- a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden @@ -1,6 +1,6 @@ Comment posted to GitHub Logs: -INF Finding matching comments for tag infracost-comment -INF Found 1 matching comment -INF Updating comment +INFO Finding matching comments for tag infracost-comment +INFO Found 1 matching comment +INFO Updating comment diff --git a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden index 3f4caed8804..73ced48e3d9 100644 --- a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden @@ -1,6 +1,6 @@ Comment not posted to GitHub: Not creating initial comment since there is no resource or cost difference Logs: -INF Finding matching comments for tag infracost-comment -INF Found 0 matching comments -INF Not creating initial comment since there is no resource or cost difference +INFO Finding matching comments for tag infracost-comment +INFO Found 0 matching comments +INFO Not creating initial comment since there is no resource or cost difference diff --git a/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden b/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden index 75d0105961e..0ebe6105063 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden @@ -1,6 +1,6 @@ Comment posted to GitHub Logs: -INF Estimate uploaded to Infracost Cloud -INF Creating new comment -INF Created new comment: +INFO Estimate uploaded to Infracost Cloud +INFO Creating new comment +INFO Created new comment: diff --git a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden index 95a7ea072b4..5ca2fe01aac 100644 --- a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden +++ b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden @@ -6,3 +6,6 @@ Err: + +Logs: +ERROR All provided config file paths are invalid or do not contain any supported projects diff --git a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden index 7ced48c2851..90afbb30319 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_prior_empty_project +Project: main + aws_instance.web_app +$743 diff --git a/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden b/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden index c3d1a3d7a60..701d9255676 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_prior_empty_project_json", + "displayName": "main", "metadata": { "path": "testdata/diff_prior_empty_project_json", "type": "terraform_dir", @@ -63,7 +64,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -80,7 +82,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -97,7 +100,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -106,7 +110,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -147,7 +152,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -164,7 +170,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -181,7 +188,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -190,7 +198,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden index 0bd6f359d4a..2a2812c7d16 100644 --- a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden +++ b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: infracost/infracost/examples/terraform +Project: main + aws_instance.web_app +$743 diff --git a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden index ebfd902c22d..422ceb02ed9 100644 --- a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_with_compare_to +Project: main ~ aws_instance.web_app +$561 ($743 → $1,303) diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden index 2081fa0d7d9..f11acaf8930 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_format_json", + "displayName": "main", "metadata": { "path": "testdata/diff_with_compare_to_format_json", "type": "terraform_cli", @@ -40,7 +41,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -57,7 +59,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -74,7 +77,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -83,7 +87,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -102,7 +107,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -119,7 +125,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -136,7 +143,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -145,7 +153,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -173,7 +182,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -190,7 +200,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -207,7 +218,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -216,7 +228,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -245,7 +258,8 @@ "monthlyQuantity": "0", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ] }, @@ -263,7 +277,8 @@ "monthlyQuantity": "-730", "price": "-1.536", "hourlyCost": "-1.536", - "monthlyCost": "-1121.28" + "monthlyCost": "-1121.28", + "priceNotFound": false } ], "subresources": [ @@ -281,7 +296,8 @@ "monthlyQuantity": "-50", "price": "-0.1", "hourlyCost": "-0.00684931506849315", - "monthlyCost": "-5" + "monthlyCost": "-5", + "priceNotFound": false } ] }, @@ -299,7 +315,8 @@ "monthlyQuantity": "-1000", "price": "-0.125", "hourlyCost": "-0.1712328767123287625", - "monthlyCost": "-125" + "monthlyCost": "-125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -308,7 +325,8 @@ "monthlyQuantity": "-800", "price": "-0.065", "hourlyCost": "-0.0712328767123287665", - "monthlyCost": "-52" + "monthlyCost": "-52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden index 7e2ee9a4c56..d7c2236fd70 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_format_json", + "displayName": "main", "metadata": { "path": "testdata/diff_with_compare_to_format_json", "type": "terraform_dir", @@ -42,7 +43,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -59,7 +61,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -76,7 +79,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -85,7 +89,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -104,7 +109,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -121,7 +127,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -138,7 +145,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -147,7 +155,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -188,7 +197,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -205,7 +215,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -222,7 +233,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -231,7 +243,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -260,7 +273,8 @@ "monthlyQuantity": "0", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ] }, @@ -278,7 +292,8 @@ "monthlyQuantity": "-730", "price": "-1.536", "hourlyCost": "-1.536", - "monthlyCost": "-1121.28" + "monthlyCost": "-1121.28", + "priceNotFound": false } ], "subresources": [ @@ -296,7 +311,8 @@ "monthlyQuantity": "-50", "price": "-0.1", "hourlyCost": "-0.00684931506849315", - "monthlyCost": "-5" + "monthlyCost": "-5", + "priceNotFound": false } ] }, @@ -314,7 +330,8 @@ "monthlyQuantity": "-1000", "price": "-0.125", "hourlyCost": "-0.1712328767123287625", - "monthlyCost": "-125" + "monthlyCost": "-125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -323,7 +340,8 @@ "monthlyQuantity": "-800", "price": "-0.065", "hourlyCost": "-0.0712328767123287665", - "monthlyCost": "-52" + "monthlyCost": "-52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden index c874ed57e8e..cca84d14dfe 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/dev", + "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_current_and_past_project_error/dev", "type": "terraform_dir", @@ -64,6 +65,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/prod", + "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_current_and_past_project_error/prod", "type": "terraform_dir", @@ -102,7 +104,8 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32" + "monthlyCost": "280.32", + "priceNotFound": false } ], "subresources": [ @@ -119,7 +122,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -136,7 +140,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -145,7 +150,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -186,7 +192,8 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32" + "monthlyCost": "280.32", + "priceNotFound": false } ], "subresources": [ @@ -203,7 +210,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -220,7 +228,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -229,7 +238,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden index ebe3c631322..484e5d31c84 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/dev", + "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_current_project_error/dev", "type": "terraform_dir", @@ -58,6 +59,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/prod", + "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_current_project_error/prod", "type": "terraform_dir", @@ -96,7 +98,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -113,7 +116,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -130,7 +134,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -139,7 +144,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -180,7 +186,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -197,7 +204,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -214,7 +222,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -223,7 +232,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden index 4924779ddc2..afbbe5a03e5 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/dev", + "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_past_project_error/dev", "type": "terraform_dir", @@ -56,6 +57,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/prod", + "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_past_project_error/prod", "type": "terraform_dir", @@ -94,7 +96,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -111,7 +114,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -128,7 +132,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -137,7 +142,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -178,7 +184,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -195,7 +202,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -212,7 +220,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -221,7 +230,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden index b685256e698..98642e5c6fc 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/dev +Project: dev Module path: dev ~ aws_instance.web_app @@ -15,7 +15,7 @@ Amount: -$210 ($462 → $252) Percent: -45% ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/prod +Project: prod Module path: prod ~ aws_instance.web_app diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden index b28c34dac86..aee3876a16b 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden @@ -27,7 +27,7 @@ Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_con Amount: -$462 ($462 → $0.00) ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prod +Project: prod Module path: prod ~ aws_instance.web_app diff --git a/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden b/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden index dc738266a97..4e7305b7a09 100644 --- a/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden +++ b/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_free_resources_checksum", + "displayName": "main", "metadata": { "path": "testdata/diff_with_free_resources_checksum", "type": "terraform_dir", @@ -55,7 +56,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -72,7 +74,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -89,7 +92,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -98,7 +102,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -158,7 +163,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -175,7 +181,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -192,7 +199,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -201,7 +209,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden b/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden index d9218689a70..0d5639fb704 100644 --- a/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden +++ b/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_policy_data_upload", + "displayName": "main", "metadata": { "path": "testdata/diff_with_policy_data_upload", "type": "terraform_dir", @@ -68,7 +69,8 @@ "monthlyQuantity": "730", "price": "0.192", "hourlyCost": "0.192", - "monthlyCost": "140.16" + "monthlyCost": "140.16", + "priceNotFound": false } ], "subresources": [ @@ -85,7 +87,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -102,7 +105,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -149,7 +153,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -166,7 +171,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -183,7 +189,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -217,7 +224,8 @@ "monthlyQuantity": "0", "price": "0.576", "hourlyCost": "0.576", - "monthlyCost": "420.48" + "monthlyCost": "420.48", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden index 1662ccf56ee..6303c777b2d 100644 --- a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden +++ b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terraform +Project: ..-..-..-examples-terraform-dev Module path: ../../../examples/terraform Workspace: dev @@ -28,7 +28,7 @@ Workspace: dev ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ ..-..-..-examples-terraform-dev ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden index ceda1a63654..65c51745cdd 100644 --- a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden +++ b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terraform +Project: main-prod Workspace: prod Name Monthly Qty Unit Monthly Cost @@ -27,7 +27,7 @@ Workspace: prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ main-prod ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/generate/force_project_type/expected.golden b/cmd/infracost/testdata/generate/force_project_type/expected.golden index 05074bde438..ec60d5c578c 100644 --- a/cmd/infracost/testdata/generate/force_project_type/expected.golden +++ b/cmd/infracost/testdata/generate/force_project_type/expected.golden @@ -12,4 +12,5 @@ projects: - prod.tfvars skip_autodetect: true - path: nondup +name: nondup diff --git a/cmd/infracost/testdata/generate/terragrunt/expected.golden b/cmd/infracost/testdata/generate/terragrunt/expected.golden index 15b2e33e6a2..ff44a328566 100644 --- a/cmd/infracost/testdata/generate/terragrunt/expected.golden +++ b/cmd/infracost/testdata/generate/terragrunt/expected.golden @@ -2,6 +2,12 @@ version: 0.1 projects: - path: apps/bar +name: apps-bar - path: apps/baz/bip +name: apps-baz-bip - path: apps/foo +name: apps-foo + +Err: +Error: could not validate generated config file, check file syntax: yaml: line 6: mapping values are not allowed in this context diff --git a/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden b/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden index bb14cc89a73..c5d113fe632 100644 --- a/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden +++ b/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden @@ -2,7 +2,9 @@ version: 0.1 projects: - path: apps/bar +name: apps-bar - path: apps/baz/bip +name: apps-baz-bip - path: apps/fez name: apps-fez-dev terraform_var_files: @@ -14,4 +16,8 @@ projects: - ../envs/prod.tfvars skip_autodetect: true - path: apps/foo +name: apps-foo + +Err: +Error: could not validate generated config file, check file syntax: yaml: line 6: mapping values are not allowed in this context diff --git a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden index d50e0820e3c..8a9e5991ba2 100644 --- a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden +++ b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock +Project: main Name Monthly Qty Unit Monthly Cost @@ -15,11 +15,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock ┃ $74 ┃ $0.00 ┃ $74 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden index 831d9b408ef..a1a1a73106a 100644 --- a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden +++ b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_count +Project: main Name Monthly Qty Unit Monthly Cost @@ -26,11 +26,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_count 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmodule_count ┃ $933 ┃ $0.00 ┃ $933 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $933 ┃ $0.00 ┃ $933 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden index 0cbba79bde7..a1a1a73106a 100644 --- a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden +++ b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_for_each +Project: main Name Monthly Qty Unit Monthly Cost @@ -26,11 +26,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_for_each 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmodule_for_each ┃ $933 ┃ $0.00 ┃ $933 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $933 ┃ $0.00 ┃ $933 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden index 90bd0a403d4..3dea76a23c8 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts +Project: main Name Monthly Qty Unit Monthly Cost @@ -9,11 +9,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...stdata/hclmodule_output_counts ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden index d2b41ebafc7..3dea76a23c8 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts_nested +Project: main Name Monthly Qty Unit Monthly Cost @@ -9,11 +9,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts_nest ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...hclmodule_output_counts_nested ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden index 699d160972c..ae59f26bada 100644 --- a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden +++ b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change +Project: main Name Monthly Qty Unit Monthly Cost @@ -18,11 +18,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_reevaluated_on_inp 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...le_reevaluated_on_input_change ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden index 310ef7e4f54..9e3a70ca97a 100644 --- a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden +++ b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_relative_filesets +Project: main Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_relative_filesets ∙ 3 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ta/hclmodule_relative_filesets ┃ $206 ┃ $0.00 ┃ $206 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $206 ┃ $0.00 ┃ $206 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden index 4d657c46b5f..78d04dfd857 100644 --- a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden +++ b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_project_infra/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -52,7 +52,7 @@ Module path: dev Project total $112.35 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_project_infra/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -114,12 +114,12 @@ Module path: prod ∙ 14 were estimated ∙ 38 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ata/hclmulti_project_infra/dev ┃ $112 ┃ $0.00 ┃ $112 ┃ -┃ infracost/infracost/cmd/infraco...ta/hclmulti_project_infra/prod ┃ $152 ┃ $0.00 ┃ $152 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $112 ┃ $0.00 ┃ $112 ┃ +┃ prod ┃ $152 ┃ $0.00 ┃ $152 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden index 1e33be8297a..6f94dbd5a6c 100644 --- a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden +++ b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_var_files +Project: main Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmulti_var_files 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_var_files ┃ $1,836 ┃ $0.00 ┃ $1,836 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $1,836 ┃ $0.00 ┃ $1,836 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden index 37ceb41d1e8..106f8783838 100644 --- a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden +++ b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_workspace +Project: main-blue Workspace: blue Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Workspace: blue Project total $742.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_workspace +Project: main-yellow Workspace: yellow Name Monthly Qty Unit Monthly Cost @@ -47,12 +47,12 @@ Workspace: yellow 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ $0.00 ┃ $743 ┃ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main-blue ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ main-yellow ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden index 7a7a5c5d5dd..19a5a9a5a7b 100644 --- a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden +++ b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclprovider_alias +Project: main Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclprovider_alias ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclprovider_alias ┃ $101 ┃ $0.00 ┃ $101 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $101 ┃ $0.00 ┃ $101 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/output_format_json/output_format_json.golden b/cmd/infracost/testdata/output_format_json/output_format_json.golden index b2f7e5447be..24113241922 100644 --- a/cmd/infracost/testdata/output_format_json/output_format_json.golden +++ b/cmd/infracost/testdata/output_format_json/output_format_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata", + "displayName": "", "metadata": { "path": "./cmd/infracost/testdata/", "type": "terraform_dir", @@ -42,7 +43,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -60,7 +62,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -78,7 +81,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -87,7 +91,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -107,7 +112,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -125,7 +131,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -143,7 +150,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -152,7 +160,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -172,7 +181,8 @@ "monthlyQuantity": "100", "price": "0.2", "hourlyCost": "0.02739726027397260273972", - "monthlyCost": "20" + "monthlyCost": "20", + "priceNotFound": false }, { "name": "Duration", @@ -181,7 +191,8 @@ "monthlyQuantity": "25000000", "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", - "monthlyCost": "416.6675" + "monthlyCost": "416.6675", + "priceNotFound": false } ] }, @@ -199,7 +210,8 @@ "monthlyQuantity": "0", "price": "0.2", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration", @@ -208,7 +220,8 @@ "monthlyQuantity": "0", "price": "0.0000166667", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -233,7 +246,8 @@ "monthlyQuantity": "0", "price": "0.023", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -242,7 +256,8 @@ "monthlyQuantity": "0", "price": "0.005", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -251,7 +266,8 @@ "monthlyQuantity": "0", "price": "0.0004", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Select data scanned", @@ -260,7 +276,8 @@ "monthlyQuantity": "0", "price": "0.002", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Select data returned", @@ -269,7 +286,8 @@ "monthlyQuantity": "0", "price": "0.0007", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] } @@ -296,7 +314,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -314,7 +333,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -332,7 +352,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -341,7 +362,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -361,7 +383,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -379,7 +402,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -397,7 +421,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -406,7 +431,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -426,7 +452,8 @@ "monthlyQuantity": "100", "price": "0.2", "hourlyCost": "0.02739726027397260273972", - "monthlyCost": "20" + "monthlyCost": "20", + "priceNotFound": false }, { "name": "Duration", @@ -435,7 +462,8 @@ "monthlyQuantity": "25000000", "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", - "monthlyCost": "416.6675" + "monthlyCost": "416.6675", + "priceNotFound": false } ] }, @@ -453,7 +481,8 @@ "monthlyQuantity": "0", "price": "0.2", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration", @@ -462,7 +491,8 @@ "monthlyQuantity": "0", "price": "0.0000166667", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -487,7 +517,8 @@ "monthlyQuantity": "0", "price": "0.023", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -496,7 +527,8 @@ "monthlyQuantity": "0", "price": "0.005", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -505,7 +537,8 @@ "monthlyQuantity": "0", "price": "0.0004", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Select data scanned", @@ -514,7 +547,8 @@ "monthlyQuantity": "0", "price": "0.002", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Select data returned", @@ -523,7 +557,8 @@ "monthlyQuantity": "0", "price": "0.0007", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] } @@ -540,6 +575,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/azure_firewall_plan.json", + "displayName": "", "metadata": { "path": "./cmd/infracost/testdata/azure_firewall_plan.json", "type": "terraform_plan_json", @@ -567,7 +603,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -576,7 +613,8 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -594,7 +632,8 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75" + "monthlyCost": "638.75", + "priceNotFound": false }, { "name": "Data processed", @@ -603,7 +642,8 @@ "monthlyQuantity": null, "price": "0.008", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -621,7 +661,8 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75" + "monthlyCost": "638.75", + "priceNotFound": false }, { "name": "Data processed", @@ -630,7 +671,8 @@ "monthlyQuantity": null, "price": "0.008", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -648,7 +690,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -657,7 +700,8 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -675,7 +719,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -684,7 +729,8 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -702,7 +748,8 @@ "monthlyQuantity": "730", "price": "0.005", "hourlyCost": "0.005", - "monthlyCost": "3.65" + "monthlyCost": "3.65", + "priceNotFound": false } ] } @@ -727,7 +774,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -736,7 +784,8 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -754,7 +803,8 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75" + "monthlyCost": "638.75", + "priceNotFound": false }, { "name": "Data processed", @@ -763,7 +813,8 @@ "monthlyQuantity": "0", "price": "0.008", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -781,7 +832,8 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75" + "monthlyCost": "638.75", + "priceNotFound": false }, { "name": "Data processed", @@ -790,7 +842,8 @@ "monthlyQuantity": "0", "price": "0.008", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -808,7 +861,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -817,7 +871,8 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -835,7 +890,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -844,7 +900,8 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -862,7 +919,8 @@ "monthlyQuantity": "730", "price": "0.005", "hourlyCost": "0.005", - "monthlyCost": "3.65" + "monthlyCost": "3.65", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden b/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden index 5edc430a747..290962073ba 100644 --- a/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden +++ b/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden @@ -1 +1 @@ -{"version":"0.2","metadata":{"infracostCommand":"output","vcsBranch":"test","vcsCommitSha":"1234","vcsCommitAuthorName":"hugo","vcsCommitAuthorEmail":"hugo@test.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"mymessage","vcsRepositoryUrl":"https://github.com/infracost/infracost.git"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata","metadata":{"path":"./cmd/infracost/testdata/","type":"terraform_dir","terraformWorkspace":"default","vcsSubPath":"cmd/infracost/testdata"},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":null},"breakdown":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675"}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0"}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0"},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0"},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0"}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"diff":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675"}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0"}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0"},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0"},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0"}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"summary":{"unsupportedResourceCounts":{}}}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","pastTotalHourlyCost":null,"pastTotalMonthlyCost":null,"diffTotalHourlyCost":null,"diffTotalMonthlyCost":null,"timeGenerated":"REPLACED_TIME","summary":{"unsupportedResourceCounts":{}}} \ No newline at end of file +{"version":"0.2","metadata":{"infracostCommand":"output","vcsBranch":"test","vcsCommitSha":"1234","vcsCommitAuthorName":"hugo","vcsCommitAuthorEmail":"hugo@test.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"mymessage","vcsRepositoryUrl":"https://github.com/infracost/infracost.git"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata","displayName":"","metadata":{"path":"./cmd/infracost/testdata/","type":"terraform_dir","terraformWorkspace":"default","vcsSubPath":"cmd/infracost/testdata"},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":null},"breakdown":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675","priceNotFound":false}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"diff":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675","priceNotFound":false}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"summary":{"unsupportedResourceCounts":{}}}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","pastTotalHourlyCost":null,"pastTotalMonthlyCost":null,"diffTotalHourlyCost":null,"diffTotalMonthlyCost":null,"timeGenerated":"REPLACED_TIME","summary":{"unsupportedResourceCounts":{}}} \ No newline at end of file diff --git a/cmd/infracost/testdata/register_help_flag/register_help_flag.golden b/cmd/infracost/testdata/register_help_flag/register_help_flag.golden index 4ca505168c7..8fbe78a1724 100644 --- a/cmd/infracost/testdata/register_help_flag/register_help_flag.golden +++ b/cmd/infracost/testdata/register_help_flag/register_help_flag.golden @@ -1,4 +1,4 @@ -Err: -Warning: this command has been changed to infracost auth login, which does the same thing - showing information for that command. +Logs: +WARN this command has been changed to infracost auth login, which does the same thing - showing information for that command. diff --git a/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden b/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden index 7997be2cb62..f9d77f00e17 100644 --- a/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden @@ -1,5 +1,5 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 finops policies checked -INF finops policy check failed: should show as failing +INFO Estimate uploaded to Infracost Cloud +INFO 2 finops policies checked +INFO finops policy check failed: should show as failing diff --git a/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden b/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden index cd176cb7de0..976530ffdfd 100644 --- a/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden @@ -1,5 +1,5 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 guardrails checked -INF guardrail check failed: medical problems +INFO Estimate uploaded to Infracost Cloud +INFO 2 guardrails checked +INFO guardrail check failed: medical problems diff --git a/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden b/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden index 34049b7e50a..ce859a2c4d2 100644 --- a/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden @@ -1,5 +1,5 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 tag policies checked -INF tag policy check failed: should show as failing +INFO Estimate uploaded to Infracost Cloud +INFO 2 tag policies checked +INFO tag policy check failed: should show as failing diff --git a/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden b/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden index d21d209ef3a..447987bf957 100644 --- a/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden +++ b/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden @@ -1,3 +1,3 @@ Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden b/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden index d21d209ef3a..447987bf957 100644 --- a/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden +++ b/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden @@ -1,3 +1,3 @@ Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden b/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden index cd176cb7de0..976530ffdfd 100644 --- a/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden +++ b/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden @@ -1,5 +1,5 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 guardrails checked -INF guardrail check failed: medical problems +INFO Estimate uploaded to Infracost Cloud +INFO 2 guardrails checked +INFO guardrail check failed: medical problems diff --git a/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden b/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden index b9d5f882416..9875f03c4d0 100644 --- a/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden +++ b/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden @@ -1,4 +1,4 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 guardrails checked +INFO Estimate uploaded to Infracost Cloud +INFO 2 guardrails checked diff --git a/cmd/infracost/testdata/upload_with_path/upload_with_path.golden b/cmd/infracost/testdata/upload_with_path/upload_with_path.golden index d21d209ef3a..447987bf957 100644 --- a/cmd/infracost/testdata/upload_with_path/upload_with_path.golden +++ b/cmd/infracost/testdata/upload_with_path/upload_with_path.golden @@ -1,3 +1,3 @@ Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden b/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden index 9a891859e5d..118f1ca5ca2 100644 --- a/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden +++ b/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden @@ -36,10 +36,10 @@ ] } Logs: -INF Estimate uploaded to Infracost Cloud -INF 1 tag policy checked -INF tag policy check failed: Timtags -INF 48 finops policies checked -INF finops policy check failed: Cloudwatch - consider using a retention policy to reduce storage costs -INF finops policy check failed: EBS - consider upgrading gp2 volumes to gp3 -INF finops policy check failed: S3 - consider using a lifecycle policy to reduce storage costs +INFO Estimate uploaded to Infracost Cloud +INFO 1 tag policy checked +INFO tag policy check failed: Timtags +INFO 48 finops policies checked +INFO finops policy check failed: Cloudwatch - consider using a retention policy to reduce storage costs +INFO finops policy check failed: EBS - consider upgrading gp2 volumes to gp3 +INFO finops policy check failed: S3 - consider using a lifecycle policy to reduce storage costs diff --git a/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden b/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden index 48eeacefe65..a55c97b53f5 100644 --- a/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden +++ b/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden @@ -1,4 +1,4 @@ Share this cost estimate: http://localhost:3000/share/1234 Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden b/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden index d21d209ef3a..447987bf957 100644 --- a/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden +++ b/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden @@ -1,3 +1,3 @@ Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/resourcecheck/main.go b/cmd/resourcecheck/main.go index 30ea31775fd..7d8717677a5 100644 --- a/cmd/resourcecheck/main.go +++ b/cmd/resourcecheck/main.go @@ -4,7 +4,6 @@ import ( "context" "go/parser" "go/token" - "log" "os" "strings" @@ -14,6 +13,8 @@ import ( "github.com/dave/dst" "github.com/dave/dst/decorator" "github.com/slack-go/slack" + + "github.com/infracost/infracost/internal/logging" ) var ( @@ -23,7 +24,7 @@ var ( func main() { cfg, err := config.LoadDefaultConfig(context.Background()) if err != nil { - log.Fatalf("error loading aws config %s", err) + logging.Logger.Fatal().Msgf("error loading aws config %s", err) } svc := ec2.NewFromConfig(cfg) @@ -32,12 +33,12 @@ func main() { AllRegions: aws.Bool(true), }) if err != nil { - log.Fatalf("error describing ec2 regions %s", err) + logging.Logger.Fatal().Msgf("error describing ec2 regions %s", err) } f, err := decorator.ParseFile(token.NewFileSet(), "internal/resources/aws/util.go", nil, parser.ParseComments) if err != nil { - log.Fatalf("error loading aws util file %s", err) + logging.Logger.Fatal().Msgf("error loading aws util file %s", err) } currentRegions := make(map[string]struct{}) @@ -57,7 +58,7 @@ func main() { } if len(currentRegions) == 0 { - log.Fatal("error parsing aws RegionMapping from util.go, empty list found") + logging.Logger.Fatal().Msg("error parsing aws RegionMapping from util.go, empty list found") } notFound := strings.Builder{} @@ -86,6 +87,6 @@ func sendSlackMessage(regions string) { slack.MsgOptionAsUser(true), ) if err != nil { - log.Fatalf("error sending slack notifications %s", err) + logging.Logger.Fatal().Msgf("error sending slack notifications %s", err) } } diff --git a/contributing/add_new_resource_guide.md b/contributing/add_new_resource_guide.md index 66d8acd32ed..4f3369d6cee 100644 --- a/contributing/add_new_resource_guide.md +++ b/contributing/add_new_resource_guide.md @@ -1098,7 +1098,7 @@ The following edge cases can be handled in the resource files: ```go if d.Get("placement_tenancy").String() == "host" { - log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", d.Address) return nil } ``` diff --git a/internal/apiclient/auth.go b/internal/apiclient/auth.go index 1907ad87109..1b54a80a8d1 100644 --- a/internal/apiclient/auth.go +++ b/internal/apiclient/auth.go @@ -9,8 +9,8 @@ import ( "github.com/google/uuid" "github.com/pkg/browser" - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -85,21 +85,21 @@ func (a AuthClient) startCallbackServer(listener net.Listener, generatedState st redirectTo := query.Get("redirect_to") if state != generatedState { - log.Debug().Msg("Invalid state received") + logging.Logger.Debug().Msg("Invalid state received") w.WriteHeader(400) return } u, err := url.Parse(redirectTo) if err != nil { - log.Debug().Msg("Unable to parse redirect_to URL") + logging.Logger.Debug().Msg("Unable to parse redirect_to URL") w.WriteHeader(400) return } origin := fmt.Sprintf("%s://%s", u.Scheme, u.Host) if origin != a.Host { - log.Debug().Msg("Invalid redirect_to URL") + logging.Logger.Debug().Msg("Invalid redirect_to URL") w.WriteHeader(400) return } diff --git a/internal/apiclient/client.go b/internal/apiclient/client.go index da8a4ef1722..55cc47ff975 100644 --- a/internal/apiclient/client.go +++ b/internal/apiclient/client.go @@ -11,7 +11,6 @@ import ( "github.com/google/uuid" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" "github.com/infracost/infracost/internal/logging" @@ -59,7 +58,7 @@ type APIErrorResponse struct { func (c *APIClient) DoQueries(queries []GraphQLQuery) ([]gjson.Result, error) { if len(queries) == 0 { - log.Debug().Msg("Skipping GraphQL request as no queries have been specified") + logging.Logger.Debug().Msg("Skipping GraphQL request as no queries have been specified") return []gjson.Result{}, nil } diff --git a/internal/apiclient/dashboard.go b/internal/apiclient/dashboard.go index 13b65907771..cb783629f9b 100644 --- a/internal/apiclient/dashboard.go +++ b/internal/apiclient/dashboard.go @@ -9,7 +9,6 @@ import ( json "github.com/json-iterator/go" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/logging" @@ -185,11 +184,7 @@ func (c *DashboardAPIClient) AddRun(ctx *config.RunContext, out output.Root, com } successMsg := fmt.Sprintf("Estimate uploaded to %sInfracost Cloud", orgMsg) - if ctx.Config.IsLogging() { - log.Info().Msg(successMsg) - } else { - fmt.Fprintf(ctx.ErrWriter, "%s\n", successMsg) - } + logging.Logger.Info().Msg(successMsg) err = json.Unmarshal([]byte(cloudRun.Raw), &response) if err != nil { @@ -224,11 +219,7 @@ func (c *DashboardAPIClient) AddRun(ctx *config.RunContext, out output.Root, com } func outputGovernanceMessages(ctx *config.RunContext, msg string) { - if ctx.Config.IsLogging() { - log.Info().Msg(msg) - } else { - fmt.Fprintf(ctx.ErrWriter, "%s\n", msg) - } + logging.Logger.Info().Msg(msg) } func (c *DashboardAPIClient) QueryCLISettings() (QueryCLISettingsResponse, error) { diff --git a/internal/apiclient/policy.go b/internal/apiclient/policy.go index 3114eded7a0..0d5e4f76efa 100644 --- a/internal/apiclient/policy.go +++ b/internal/apiclient/policy.go @@ -191,7 +191,7 @@ func filterResource(rd *schema.ResourceData, al allowList) policy2Resource { // make sure the keys in the values json are sorted so we get consistent policyShas valuesJSON, err := jsonSorted.Marshal(filterValues(rd.RawValues, al)) if err != nil { - logging.Logger.Warn().Err(err).Str("address", rd.Address).Msg("Failed to marshal filtered values") + logging.Logger.Debug().Err(err).Str("address", rd.Address).Msg("Failed to marshal filtered values") } references := make([]policy2Reference, 0, len(rd.ReferencesMap)) @@ -261,7 +261,7 @@ func filterValues(rd gjson.Result, allowList map[string]gjson.Result) map[string values[k] = filterValues(v, nestedAllow) } } else { - logging.Logger.Warn().Str("Key", k).Str("Type", allow.Type.String()).Msg("Unknown allow type") + logging.Logger.Debug().Str("Key", k).Str("Type", allow.Type.String()).Msg("Unknown allow type") } } } diff --git a/internal/apiclient/pricing.go b/internal/apiclient/pricing.go index 8ef2f330cd4..03b1e7b2638 100644 --- a/internal/apiclient/pricing.go +++ b/internal/apiclient/pricing.go @@ -20,7 +20,6 @@ import ( "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" ) @@ -55,6 +54,7 @@ type PriceQueryKey struct { type PriceQueryResult struct { PriceQueryKey Result gjson.Result + Query GraphQLQuery filled bool } @@ -111,14 +111,14 @@ func NewPricingAPIClient(ctx *config.RunContext) *PricingAPIClient { caCerts, err := os.ReadFile(ctx.Config.TLSCACertFile) if err != nil { - log.Error().Msgf("Error reading CA cert file %s: %v", ctx.Config.TLSCACertFile, err) + logging.Logger.Error().Msgf("Error reading CA cert file %s: %v", ctx.Config.TLSCACertFile, err) } else { ok := rootCAs.AppendCertsFromPEM(caCerts) if !ok { - log.Warn().Msgf("No CA certs appended, only using system certs") + logging.Logger.Warn().Msgf("No CA certs appended, only using system certs") } else { - log.Debug().Msgf("Loaded CA certs from %s", ctx.Config.TLSCACertFile) + logging.Logger.Debug().Msgf("Loaded CA certs from %s", ctx.Config.TLSCACertFile) } } @@ -317,7 +317,7 @@ type pricingQuery struct { // checking a local cache for previous results. If the results of a given query // are cached, they are used directly; otherwise, a request to the API is made. func (c *PricingAPIClient) PerformRequest(req BatchRequest) ([]PriceQueryResult, error) { - log.Debug().Msgf("Getting pricing details for %d cost components from %s", len(req.queries), c.endpoint) + logging.Logger.Debug().Msgf("Getting pricing details for %d cost components from %s", len(req.queries), c.endpoint) res := make([]PriceQueryResult, len(req.keys)) for i, key := range req.keys { res[i].PriceQueryKey = key @@ -352,6 +352,7 @@ func (c *PricingAPIClient) PerformRequest(req BatchRequest) ([]PriceQueryResult, PriceQueryKey: req.keys[i], Result: v.Result, filled: true, + Query: query.query, } } else { serverQueries = append(serverQueries, query) diff --git a/internal/clierror/error.go b/internal/clierror/error.go index 2696a433a6c..a955f48ee31 100644 --- a/internal/clierror/error.go +++ b/internal/clierror/error.go @@ -9,7 +9,8 @@ import ( "strings" "github.com/maruel/panicparse/v2/stack" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) var goroutineSuffixRegex = regexp.MustCompile(`(goroutine)\s*\d+$`) @@ -70,7 +71,7 @@ func (p *PanicError) SanitizedStack() string { sanitizedStack := p.stack sanitizedStack, err := processStack(sanitizedStack) if err != nil { - log.Debug().Msgf("Could not sanitize stack: %s", err) + logging.Logger.Debug().Msgf("Could not sanitize stack: %s", err) } return string(sanitizedStack) diff --git a/internal/config/config.go b/internal/config/config.go index e7f8cb51489..801606ae0d3 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,8 +1,8 @@ package config import ( + "fmt" "io" - "log" "os" "path/filepath" "strings" @@ -182,7 +182,7 @@ type Config struct { func init() { err := loadDotEnv() if err != nil { - log.Fatal(err) + logging.Logger.Fatal().Msg(err.Error()) } } @@ -321,9 +321,45 @@ func (c *Config) SetLogWriter(w io.Writer) { // LogWriter returns the writer the Logger should use to write logs to. // In most cases this should be stderr, but it can also be a file. func (c *Config) LogWriter() io.Writer { + isCI := ciPlatform() != "" && !IsTest() return zerolog.NewConsoleWriter(func(w *zerolog.ConsoleWriter) { - w.NoColor = true - w.TimeFormat = time.RFC3339 + w.PartsExclude = []string{"time"} + w.FormatLevel = func(i interface{}) string { + if i == nil { + return "" + } + + if isCI { + return strings.ToUpper(fmt.Sprintf("%s", i)) + } + + if ll, ok := i.(string); ok { + upper := strings.ToUpper(ll) + + switch ll { + case zerolog.LevelTraceValue: + return color.CyanString("%s", upper) + case zerolog.LevelDebugValue: + return color.MagentaString("%s", upper) + case zerolog.LevelWarnValue: + return color.YellowString("%s", upper) + case zerolog.LevelErrorValue, zerolog.LevelFatalValue, zerolog.LevelPanicValue: + return color.RedString("%s", upper) + case zerolog.LevelInfoValue: + return color.GreenString("%s", upper) + default: + } + } + + return strings.ToUpper(fmt.Sprintf("%s", i)) + } + + if isCI { + w.NoColor = true + w.TimeFormat = time.RFC3339 + w.PartsExclude = nil + } + if c.logDisableTimestamps { w.PartsExclude = []string{"time"} } @@ -331,8 +367,6 @@ func (c *Config) LogWriter() io.Writer { w.Out = os.Stderr if c.logWriter != nil { w.Out = c.logWriter - } else if c.LogLevel == "" { - w.Out = io.Discard } }) } @@ -402,10 +436,6 @@ func (c *Config) LoadGlobalFlags(cmd *cobra.Command) error { return nil } -func (c *Config) IsLogging() bool { - return c.LogLevel != "" -} - func (c *Config) IsSelfHosted() bool { return c.PricingAPIEndpoint != "" && c.PricingAPIEndpoint != c.DefaultPricingAPIEndpoint } @@ -440,3 +470,13 @@ func loadDotEnv() error { return nil } + +func CleanProjectName(name string) string { + name = strings.TrimSuffix(name, "/") + name = strings.ReplaceAll(name, "/", "-") + + if name == "." { + return "main" + } + return name +} diff --git a/internal/config/configuration.go b/internal/config/configuration.go index a8fb9af83fa..9df44f08d98 100644 --- a/internal/config/configuration.go +++ b/internal/config/configuration.go @@ -6,8 +6,9 @@ import ( "strings" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" + + "github.com/infracost/infracost/internal/logging" ) var configurationVersion = "0.1" @@ -28,7 +29,7 @@ func loadConfiguration(cfg *Config) error { err = cfg.migrateConfiguration() if err != nil { - log.Debug().Err(err).Msg("error migrating configuration") + logging.Logger.Debug().Err(err).Msg("error migrating configuration") } cfg.Configuration, err = readConfigurationFileIfExists() diff --git a/internal/config/credentials.go b/internal/config/credentials.go index 76e42b0ff24..6a9ac07105d 100644 --- a/internal/config/credentials.go +++ b/internal/config/credentials.go @@ -6,8 +6,9 @@ import ( "strings" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" + + "github.com/infracost/infracost/internal/logging" ) var credentialsVersion = "0.1" @@ -23,7 +24,7 @@ func loadCredentials(cfg *Config) error { err = cfg.migrateCredentials() if err != nil { - log.Debug().Err(err).Msg("Error migrating credentials") + logging.Logger.Debug().Err(err).Msg("Error migrating credentials") } cfg.Credentials, err = readCredentialsFileIfExists() diff --git a/internal/config/migrate.go b/internal/config/migrate.go index 3c380f17eac..b9bb39bd06c 100644 --- a/internal/config/migrate.go +++ b/internal/config/migrate.go @@ -7,8 +7,9 @@ import ( "time" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" + + "github.com/infracost/infracost/internal/logging" ) func (c *Config) migrateConfiguration() error { @@ -48,7 +49,7 @@ func (c *Config) migrateCredentials() error { } func (c *Config) migrateV0_7_17(oldPath string, newPath string) error { - log.Debug().Msgf("Migrating old credentials from %s to %s", oldPath, newPath) + logging.Logger.Debug().Msgf("Migrating old credentials from %s to %s", oldPath, newPath) data, err := os.ReadFile(oldPath) if err != nil { @@ -78,14 +79,14 @@ func (c *Config) migrateV0_7_17(oldPath string, newPath string) error { return err } - log.Debug().Msg("Credentials successfully migrated") + logging.Logger.Debug().Msg("Credentials successfully migrated") } return nil } func (c *Config) migrateV0_9_4(credPath string) error { - log.Debug().Msgf("Migrating old credentials format to v0.1") + logging.Logger.Debug().Msgf("Migrating old credentials format to v0.1") // Use MapSlice to keep the order of the items, so we can always use the first one var oldCreds yaml.MapSlice @@ -134,7 +135,7 @@ func (c *Config) migrateV0_9_4(credPath string) error { return err } - log.Debug().Msg("Credentials successfully migrated") + logging.Logger.Debug().Msg("Credentials successfully migrated") return nil } diff --git a/internal/config/run_context.go b/internal/config/run_context.go index 4b4d741f2b5..788b9189eed 100644 --- a/internal/config/run_context.go +++ b/internal/config/run_context.go @@ -12,7 +12,6 @@ import ( "github.com/infracost/infracost/internal/logging" intSync "github.com/infracost/infracost/internal/sync" - "github.com/infracost/infracost/internal/ui" "github.com/infracost/infracost/internal/vcs" "github.com/infracost/infracost/internal/version" @@ -138,24 +137,11 @@ func EmptyRunContext() *RunContext { } } -var ( - outputIndent = " " -) - // IsAutoDetect returns true if the command is running with auto-detect functionality. func (r *RunContext) IsAutoDetect() bool { return len(r.Config.Projects) <= 1 && r.Config.ConfigFilePath == "" } -// NewSpinner returns an ui.Spinner built from the RunContext. -func (r *RunContext) NewSpinner(msg string) *ui.Spinner { - return ui.NewSpinner(msg, ui.SpinnerOptions{ - EnableLogging: r.Config.IsLogging(), - NoColor: r.Config.NoColor, - Indent: outputIndent, - }) -} - func (r *RunContext) GetParallelism() (int, error) { var parallelism int @@ -200,20 +186,6 @@ func (r *RunContext) VCSRepositoryURL() string { return r.VCSMetadata.Remote.URL } -func (r *RunContext) GetResourceWarnings() map[string]map[string]int { - contextValues := r.ContextValues.Values() - - if warnings := contextValues["resourceWarnings"]; warnings != nil { - return warnings.(map[string]map[string]int) - } - - return nil -} - -func (r *RunContext) SetResourceWarnings(resourceWarnings map[string]map[string]int) { - r.ContextValues.SetValue("resourceWarnings", resourceWarnings) -} - func (r *RunContext) EventEnv() map[string]interface{} { return r.EventEnvWithProjectContexts([]*ProjectContext{}) } diff --git a/internal/credentials/terraform.go b/internal/credentials/terraform.go index 9a1f6921964..1f44f19f113 100644 --- a/internal/credentials/terraform.go +++ b/internal/credentials/terraform.go @@ -11,7 +11,8 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/hashicorp/hcl/v2/hclparse" "github.com/mitchellh/go-homedir" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) var ( @@ -22,10 +23,10 @@ var ( // FindTerraformCloudToken returns a TFC Bearer token for the given host. func FindTerraformCloudToken(host string) string { if os.Getenv("TF_CLI_CONFIG_FILE") != "" { - log.Debug().Msgf("TF_CLI_CONFIG_FILE is set, checking %s for Terraform Cloud credentials", os.Getenv("TF_CLI_CONFIG_FILE")) + logging.Logger.Debug().Msgf("TF_CLI_CONFIG_FILE is set, checking %s for Terraform Cloud credentials", os.Getenv("TF_CLI_CONFIG_FILE")) token, err := credFromHCL(os.Getenv("TF_CLI_CONFIG_FILE"), host) if err != nil { - log.Debug().Msgf("Error reading Terraform config file %s: %v", os.Getenv("TF_CLI_CONFIG_FILE"), err) + logging.Logger.Debug().Msgf("Error reading Terraform config file %s: %v", os.Getenv("TF_CLI_CONFIG_FILE"), err) } if token != "" { return token @@ -34,10 +35,10 @@ func FindTerraformCloudToken(host string) string { credFile := defaultCredFile() if _, err := os.Stat(credFile); err == nil { - log.Debug().Msgf("Checking %s for Terraform Cloud credentials", credFile) + logging.Logger.Debug().Msgf("Checking %s for Terraform Cloud credentials", credFile) token, err := credFromJSON(credFile, host) if err != nil { - log.Debug().Msgf("Error reading Terraform credentials file %s: %v", credFile, err) + logging.Logger.Debug().Msgf("Error reading Terraform credentials file %s: %v", credFile, err) } if token != "" { return token @@ -46,10 +47,10 @@ func FindTerraformCloudToken(host string) string { confFile := defaultConfFile() if _, err := os.Stat(confFile); err == nil { - log.Debug().Msgf("Checking %s for Terraform Cloud credentials", confFile) + logging.Logger.Debug().Msgf("Checking %s for Terraform Cloud credentials", confFile) token, err := credFromHCL(confFile, host) if err != nil { - log.Debug().Msgf("Error reading Terraform config file %s: %v", confFile, err) + logging.Logger.Debug().Msgf("Error reading Terraform config file %s: %v", confFile, err) } if token != "" { return token diff --git a/internal/extclient/authed_client.go b/internal/extclient/authed_client.go index 59f9393723c..c0912fca062 100644 --- a/internal/extclient/authed_client.go +++ b/internal/extclient/authed_client.go @@ -11,7 +11,6 @@ import ( "github.com/infracost/infracost/internal/logging" "github.com/pkg/errors" - "github.com/rs/zerolog/log" ) // AuthedAPIClient represents an API client for authorized requests. @@ -41,7 +40,7 @@ func (a *AuthedAPIClient) SetHost(host string) { // Get performs a GET request to provided endpoint. func (a *AuthedAPIClient) Get(path string) ([]byte, error) { url := fmt.Sprintf("https://%s%s", a.host, path) - log.Debug().Msgf("Calling Terraform Cloud API: %s", url) + logging.Logger.Debug().Msgf("Calling Terraform Cloud API: %s", url) req, err := retryablehttp.NewRequest("GET", url, nil) if err != nil { return []byte{}, err diff --git a/internal/hcl/attribute.go b/internal/hcl/attribute.go index c1ded60413e..cc398ce4a4a 100644 --- a/internal/hcl/attribute.go +++ b/internal/hcl/attribute.go @@ -129,7 +129,7 @@ func (attr *Attribute) Value() cty.Value { return cty.DynamicVal } - attr.Logger.Debug().Msg("fetching attribute value") + attr.Logger.Trace().Msg("fetching attribute value") var val cty.Value if attr.isGraph { val = attr.graphValue() @@ -919,7 +919,7 @@ func (attr *Attribute) getIndexValue(part hcl.TraverseIndex) string { case cty.Number: var intVal int if err := gocty.FromCtyValue(part.Key, &intVal); err != nil { - attr.Logger.Warn().Err(err).Msg("could not unpack int from block index attr, returning 0") + attr.Logger.Debug().Err(err).Msg("could not unpack int from block index attr, returning 0") return "0" } @@ -1107,7 +1107,7 @@ func (attr *Attribute) referencesFromExpression(expression hcl.Expression) []*Re refs = append(refs, ref) } case *hclsyntax.LiteralValueExpr: - attr.Logger.Debug().Msgf("cannot create references from %T as it is a literal value and will not contain refs", t) + attr.Logger.Trace().Msgf("cannot create references from %T as it is a literal value and will not contain refs", t) default: name := fmt.Sprintf("%T", t) if strings.HasPrefix(name, "*hclsyntax") { diff --git a/internal/hcl/evaluator.go b/internal/hcl/evaluator.go index 8ebd78d7898..b153f097d90 100644 --- a/internal/hcl/evaluator.go +++ b/internal/hcl/evaluator.go @@ -25,7 +25,6 @@ import ( "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) var ( @@ -93,7 +92,6 @@ type Evaluator struct { workspace string // blockBuilder handles generating blocks in the evaluation step. blockBuilder BlockBuilder - newSpinner ui.SpinnerFunc logger zerolog.Logger isGraph bool filteredBlocks []*Block @@ -110,7 +108,6 @@ func NewEvaluator( visitedModules map[string]map[string]cty.Value, workspace string, blockBuilder BlockBuilder, - spinFunc ui.SpinnerFunc, logger zerolog.Logger, isGraph bool, ) *Evaluator { @@ -183,7 +180,6 @@ func NewEvaluator( workspace: workspace, workingDir: workingDir, blockBuilder: blockBuilder, - newSpinner: spinFunc, logger: l, isGraph: isGraph, } @@ -236,11 +232,6 @@ func (e *Evaluator) MissingVars() []string { // parse and build up and child modules that are referenced in the Blocks and runs child Evaluator on // this Module. func (e *Evaluator) Run() (*Module, error) { - if e.newSpinner != nil { - spin := e.newSpinner("Evaluating Terraform directory") - defer spin.Success() - } - var lastContext hcl.EvalContext // first we need to evaluate the top level Context - so this can be passed to any child modules that are found. e.logger.Debug().Msg("evaluating top level context") @@ -307,7 +298,7 @@ func (e *Evaluator) evaluate(lastContext hcl.EvalContext) { } if i == maxContextIterations { - e.logger.Warn().Msgf("hit max context iterations evaluating module %s", e.module.Name) + e.logger.Debug().Msgf("hit max context iterations evaluating module %s", e.module.Name) } } @@ -372,7 +363,6 @@ func (e *Evaluator) evaluateModules() { map[string]map[string]cty.Value{}, e.workspace, e.blockBuilder, - nil, e.logger, e.isGraph, ) @@ -416,7 +406,7 @@ func (e *Evaluator) expandBlocks(blocks Blocks, lastContext hcl.EvalContext) Blo } if i == maxContextIterations { - e.logger.Warn().Msgf("hit max context iterations expanding blocks in module %s", e.module.Name) + e.logger.Debug().Msgf("hit max context iterations expanding blocks in module %s", e.module.Name) } return e.expandDynamicBlocks(expanded...) diff --git a/internal/hcl/graph.go b/internal/hcl/graph.go index d92db6a86f1..73a43d834f1 100644 --- a/internal/hcl/graph.go +++ b/internal/hcl/graph.go @@ -458,7 +458,6 @@ func (g *Graph) loadBlocksForModule(evaluator *Evaluator) ([]*Block, error) { map[string]map[string]cty.Value{}, evaluator.workspace, evaluator.blockBuilder, - nil, evaluator.logger, evaluator.isGraph, ) diff --git a/internal/hcl/graph_vertex_module_call.go b/internal/hcl/graph_vertex_module_call.go index ea0a5149dcf..39fd7b085b2 100644 --- a/internal/hcl/graph_vertex_module_call.go +++ b/internal/hcl/graph_vertex_module_call.go @@ -125,7 +125,6 @@ func (v *VertexModuleCall) expand(e *Evaluator, b *Block, mutex *sync.Mutex) ([] map[string]map[string]cty.Value{}, e.workspace, e.blockBuilder, - nil, e.logger, e.isGraph, ) diff --git a/internal/hcl/modules/loader.go b/internal/hcl/modules/loader.go index f0118bfb4ea..602fb4be69b 100644 --- a/internal/hcl/modules/loader.go +++ b/internal/hcl/modules/loader.go @@ -22,7 +22,6 @@ import ( "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/schema" intSync "github.com/infracost/infracost/internal/sync" - "github.com/infracost/infracost/internal/ui" ) var ( @@ -43,8 +42,6 @@ var ( // .infracost/terraform_modules directory. We could implement a global cache in the future, but for now have decided // to go with the same approach as Terraform. type ModuleLoader struct { - NewSpinner ui.SpinnerFunc - // cachePath is the path to the directory that Infracost will download modules to. // This is normally the top level directory of a multi-project environment, where the // Infracost config file resides or project auto-detection starts from. @@ -117,11 +114,6 @@ func (m *ModuleLoader) Load(path string) (man *Manifest, err error) { } }() - if m.NewSpinner != nil { - spin := m.NewSpinner("Downloading Terraform modules") - defer spin.Success() - } - manifest := &Manifest{} manifestFilePath := m.manifestFilePath(path) _, err = os.Stat(manifestFilePath) @@ -467,22 +459,22 @@ func (m *ModuleLoader) cachePathRel(targetPath string) (string, error) { if relerr == nil { return rel, nil } - m.logger.Info().Msgf("Failed to filepath.Rel cache=%s target=%s: %v", m.cachePath, targetPath, relerr) + m.logger.Debug().Msgf("Failed to filepath.Rel cache=%s target=%s: %v", m.cachePath, targetPath, relerr) // try converting to absolute paths absCachePath, abserr := filepath.Abs(m.cachePath) if abserr != nil { - m.logger.Info().Msgf("Failed to filepath.Abs cachePath: %v", abserr) + m.logger.Debug().Msgf("Failed to filepath.Abs cachePath: %v", abserr) return "", relerr } absTargetPath, abserr := filepath.Abs(targetPath) if abserr != nil { - m.logger.Info().Msgf("Failed to filepath.Abs target: %v", abserr) + m.logger.Debug().Msgf("Failed to filepath.Abs target: %v", abserr) return "", relerr } - m.logger.Info().Msgf("Attempting filepath.Rel on abs paths cache=%s, target=%s", absCachePath, absTargetPath) + m.logger.Debug().Msgf("Attempting filepath.Rel on abs paths cache=%s, target=%s", absCachePath, absTargetPath) return filepath.Rel(absCachePath, absTargetPath) } diff --git a/internal/hcl/parser.go b/internal/hcl/parser.go index db5e5d608dc..a0a4fa6c352 100644 --- a/internal/hcl/parser.go +++ b/internal/hcl/parser.go @@ -12,15 +12,14 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/rs/zerolog" - "github.com/rs/zerolog/log" "github.com/zclconf/go-cty/cty" "github.com/zclconf/go-cty/cty/gocty" "github.com/infracost/infracost/internal/clierror" + "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/extclient" "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" - "github.com/infracost/infracost/internal/ui" ) var ( @@ -211,10 +210,6 @@ func OptionWithRemoteVarLoader(host, token, localWorkspace string, loaderOpts .. return } - if p.newSpinner != nil { - loaderOpts = append(loaderOpts, RemoteVariablesLoaderWithSpinner(p.newSpinner)) - } - client := extclient.NewAuthedAPIClient(host, token) p.remoteVariablesLoader = NewRemoteVariablesLoader(client, localWorkspace, p.logger, loaderOpts...) } @@ -242,19 +237,6 @@ func OptionWithTerraformWorkspace(name string) Option { } } -// OptionWithSpinner sets a SpinnerFunc onto the Parser. With this option enabled -// the Parser will send progress to the Spinner. This is disabled by default as -// we run the Parser concurrently underneath DirProvider and don't want to mess with its output. -func OptionWithSpinner(f ui.SpinnerFunc) Option { - return func(p *Parser) { - p.newSpinner = f - - if p.moduleLoader != nil { - p.moduleLoader.NewSpinner = f - } - } -} - // OptionGraphEvaluator sets the Parser to use the experimental graph evaluator. func OptionGraphEvaluator() Option { return func(p *Parser) { @@ -267,7 +249,7 @@ type DetectedProject interface { ProjectName() string EnvName() string RelativePath() string - TerraformVarFiles() []string + VarFiles() []string YAML() string } @@ -282,7 +264,6 @@ type Parser struct { moduleLoader *modules.ModuleLoader hclParser *modules.SharedHCLParser blockBuilder BlockBuilder - newSpinner ui.SpinnerFunc remoteVariablesLoader *RemoteVariablesLoader logger zerolog.Logger isGraph bool @@ -323,10 +304,10 @@ func (p *Parser) YAML() string { str := strings.Builder{} str.WriteString(fmt.Sprintf(" - path: %s\n name: %s\n", p.RelativePath(), p.ProjectName())) - if len(p.TerraformVarFiles()) > 0 { + if len(p.VarFiles()) > 0 { str.WriteString(" terraform_var_files:\n") - for _, varFile := range p.TerraformVarFiles() { + for _, varFile := range p.VarFiles() { str.WriteString(fmt.Sprintf(" - %s\n", varFile)) } } @@ -428,7 +409,6 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { nil, p.workspaceName, p.blockBuilder, - p.newSpinner, p.logger, p.isGraph, ) @@ -437,8 +417,7 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { // Graph evaluation if evaluator.isGraph { - // we use the base zerolog log here so that it's consistent with the spinner logs - log.Info().Msgf("Building project with experimental graph runner") + logging.Logger.Debug().Msg("Building project with experimental graph runner") g, err := NewGraphWithRoot(p.logger, nil) if err != nil { @@ -477,12 +456,7 @@ func (p *Parser) RelativePath() string { // ProjectName generates a name for the project that can be used // in the Infracost config file. func (p *Parser) ProjectName() string { - r := p.RelativePath() - name := strings.TrimSuffix(r, "/") - name = strings.ReplaceAll(name, "/", "-") - if name == "." { - name = "main" - } + name := config.CleanProjectName(p.RelativePath()) if p.moduleSuffix != "" { name = fmt.Sprintf("%s-%s", name, p.moduleSuffix) @@ -502,7 +476,7 @@ func (p *Parser) EnvName() string { // TerraformVarFiles returns the list of terraform var files that the parser // will use to load variables from. -func (p *Parser) TerraformVarFiles() []string { +func (p *Parser) VarFiles() []string { varFilesMap := make(map[string]struct{}, len(p.tfvarsPaths)) varFiles := make([]string, 0, len(p.tfvarsPaths)) @@ -556,7 +530,7 @@ func (p *Parser) loadVars(blocks Blocks, filenames []string) (map[string]cty.Val remoteVars, err := p.remoteVariablesLoader.Load(blocks) if err != nil { - p.logger.Warn().Msgf("could not load vars from Terraform Cloud: %s", err) + p.logger.Debug().Msgf("could not load vars from Terraform Cloud: %s", err) return combinedVars, err } diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index 35f9f7fe517..c334fc27ca5 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -1324,7 +1324,7 @@ func (p *ProjectLocator) walkPaths(fullPath string, level int, maxSearchDepth in fileInfos, err := os.ReadDir(fullPath) if err != nil { - p.logger.Warn().Err(err).Msgf("could not get file information for path %s skipping evaluation", fullPath) + p.logger.Debug().Err(err).Msgf("could not get file information for path %s skipping evaluation", fullPath) return } @@ -1492,7 +1492,7 @@ func (p *ProjectLocator) shallowDecodeTerraformBlocks(fullPath string, files map body, content, diags := file.Body.PartialContent(terraformAndProviderBlocks) if diags != nil && diags.HasErrors() { - p.logger.Warn().Err(diags).Msgf("skipping building module information for file %s as failed to get partial body contents", file) + p.logger.Debug().Err(diags).Msgf("skipping building module information for file %s as failed to get partial body contents", file) continue } diff --git a/internal/hcl/remote_variables_loader.go b/internal/hcl/remote_variables_loader.go index d5736955725..8787c0c2998 100644 --- a/internal/hcl/remote_variables_loader.go +++ b/internal/hcl/remote_variables_loader.go @@ -11,7 +11,6 @@ import ( "github.com/zclconf/go-cty/cty" "github.com/infracost/infracost/internal/extclient" - "github.com/infracost/infracost/internal/ui" ) // RemoteVariablesLoader handles loading remote variables from Terraform Cloud. @@ -19,7 +18,6 @@ type RemoteVariablesLoader struct { client *extclient.AuthedAPIClient localWorkspace string remoteConfig *TFCRemoteConfig - newSpinner ui.SpinnerFunc logger zerolog.Logger } @@ -76,14 +74,6 @@ type tfcVarResponse struct { } `json:"data"` } -// RemoteVariablesLoaderWithSpinner enables the RemoteVariablesLoader to use an ui.Spinner to -// show the progress of loading the remote variables. -func RemoteVariablesLoaderWithSpinner(f ui.SpinnerFunc) RemoteVariablesLoaderOption { - return func(r *RemoteVariablesLoader) { - r.newSpinner = f - } -} - // RemoteVariablesLoaderWithRemoteConfig sets a user defined configuration for // the RemoteVariablesLoader. This is normally done to override the configuration // detected from the HCL blocks. @@ -115,7 +105,7 @@ func NewRemoteVariablesLoader(client *extclient.AuthedAPIClient, localWorkspace // Load fetches remote variables if terraform block contains organization and // workspace name. func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error) { - spinnerMsg := "Downloading Terraform remote variables" + r.logger.Debug().Msg("Downloading Terraform remote variables") vars := map[string]cty.Value{} var config TFCRemoteConfig @@ -127,14 +117,6 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error if !config.valid() { config, err = r.getBackendOrganizationWorkspace(blocks) if err != nil { - var spinner *ui.Spinner - if r.newSpinner != nil { - // In case name prefix is set, but workspace flag is missing show the - // failed spinner message. Otherwise the remote variables loading is - // skipped entirely. - spinner = r.newSpinner(spinnerMsg) - spinner.Fail() - } return vars, err } @@ -151,13 +133,13 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint := fmt.Sprintf("/api/v2/organizations/%s/workspaces/%s", config.Organization, config.Workspace) body, err := r.client.Get(endpoint) if err != nil { - r.logger.Warn().Err(err).Msgf("could not request Terraform workspace: %s for organization: %s", config.Workspace, config.Organization) + r.logger.Debug().Err(err).Msgf("could not request Terraform workspace: %s for organization: %s", config.Workspace, config.Organization) return vars, nil } var workspaceResponse tfcWorkspaceResponse if json.Unmarshal(body, &workspaceResponse) != nil { - r.logger.Warn().Err(err).Msgf("malformed Terraform API response using workspace: %s organization: %s", config.Workspace, config.Organization) + r.logger.Debug().Err(err).Msgf("malformed Terraform API response using workspace: %s organization: %s", config.Workspace, config.Organization) return vars, nil } @@ -166,12 +148,6 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error return vars, nil } - var spinner *ui.Spinner - if r.newSpinner != nil { - spinner = r.newSpinner(spinnerMsg) - defer spinner.Success() - } - workspaceID := workspaceResponse.Data.ID pageNumber := 1 @@ -183,17 +159,11 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint = fmt.Sprintf("/api/v2/workspaces/%s/varsets?include=vars&page[number]=%d&page[size]=50", workspaceID, pageNumber) body, err = r.client.Get(endpoint) if err != nil { - if spinner != nil { - spinner.Fail() - } return vars, err } var varsetsResponse tfcVarsetResponse if json.Unmarshal(body, &varsetsResponse) != nil { - if spinner != nil { - spinner.Fail() - } return vars, errors.New("unable to parse Workspace Variable Sets response") } @@ -241,17 +211,11 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint = fmt.Sprintf("/api/v2/workspaces/%s/vars", workspaceID) body, err = r.client.Get(endpoint) if err != nil { - if spinner != nil { - spinner.Fail() - } return vars, err } var varsResponse tfcVarResponse if json.Unmarshal(body, &varsResponse) != nil { - if spinner != nil { - spinner.Fail() - } return vars, errors.New("unable to parse Workspace Variables response") } diff --git a/internal/output/combined.go b/internal/output/combined.go index d2788c955e0..2d75637c774 100644 --- a/internal/output/combined.go +++ b/internal/output/combined.go @@ -16,10 +16,9 @@ import ( "github.com/shopspring/decimal" "golang.org/x/mod/semver" - "github.com/rs/zerolog/log" - "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -457,7 +456,7 @@ func addCurrencyFormat(currencyFormat string) { m := rgx.FindStringSubmatch(currencyFormat) if len(m) == 0 { - log.Warn().Msgf("Invalid currency format: %s", currencyFormat) + logging.Logger.Warn().Msgf("Invalid currency format: %s", currencyFormat) return } diff --git a/internal/output/html.go b/internal/output/html.go index 051aa139051..ef833c4bd9b 100644 --- a/internal/output/html.go +++ b/internal/output/html.go @@ -9,11 +9,10 @@ import ( "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" "github.com/Masterminds/sprig" - - "github.com/rs/zerolog/log" ) func ToHTML(out Root, opts Options) ([]byte, error) { @@ -38,7 +37,7 @@ func ToHTML(out Root, opts Options) ([]byte, error) { return true } - log.Debug().Msgf("Hiding resource with no usage: %s", resourceName) + logging.Logger.Debug().Msgf("Hiding resource with no usage: %s", resourceName) return false }, "filterZeroValComponents": filterZeroValComponents, diff --git a/internal/output/output.go b/internal/output/output.go index f0e7ce67760..51222ae3134 100644 --- a/internal/output/output.go +++ b/internal/output/output.go @@ -61,6 +61,7 @@ func (r *Root) HasUnsupportedResources() bool { type Project struct { Name string `json:"name"` + DisplayName string `json:"displayName"` Metadata *schema.ProjectMetadata `json:"metadata"` PastBreakdown *Breakdown `json:"pastBreakdown"` Breakdown *Breakdown `json:"breakdown"` @@ -72,7 +73,7 @@ type Project struct { // ToSchemaProject generates a schema.Project from a Project. The created schema.Project is not suitable to be // used outside simple schema.Project to schema.Project comparisons. It contains missing information // that cannot be inferred from a Project. -func (p Project) ToSchemaProject() *schema.Project { +func (p *Project) ToSchemaProject() *schema.Project { var pastResources []*schema.Resource if p.PastBreakdown != nil { pastResources = append(convertOutputResources(p.PastBreakdown.Resources, false), convertOutputResources(p.PastBreakdown.FreeResources, true)...) @@ -93,6 +94,7 @@ func (p Project) ToSchemaProject() *schema.Project { return &schema.Project{ Name: p.Name, + DisplayName: p.DisplayName, Metadata: clonedMetadata, PastResources: pastResources, Resources: resources, @@ -134,6 +136,7 @@ func convertCostComponents(outComponents []CostComponent) []*schema.CostComponen HourlyQuantity: c.HourlyQuantity, MonthlyQuantity: c.MonthlyQuantity, UsageBased: c.UsageBased, + PriceNotFound: c.PriceNotFound, } sc.SetPrice(c.Price) @@ -216,6 +219,10 @@ func (r *Root) HasDiff() bool { // Label returns the display name of the project func (p *Project) Label() string { + if p.DisplayName != "" { + return p.DisplayName + } + return p.Name } @@ -272,6 +279,7 @@ type CostComponent struct { HourlyCost *decimal.Decimal `json:"hourlyCost"` MonthlyCost *decimal.Decimal `json:"monthlyCost"` UsageBased bool `json:"usageBased,omitempty"` + PriceNotFound bool `json:"priceNotFound"` } type ActualCosts struct { @@ -535,6 +543,7 @@ func outputCostComponents(costComponents []*schema.CostComponent) []CostComponen HourlyCost: c.HourlyCost, MonthlyCost: c.MonthlyCost, UsageBased: c.UsageBased, + PriceNotFound: c.PriceNotFound, }) } return comps @@ -665,6 +674,7 @@ func ToOutputFormat(c *config.Config, projects []*schema.Project) (Root, error) outProjects = append(outProjects, Project{ Name: project.Name, + DisplayName: project.DisplayName, Metadata: project.Metadata, PastBreakdown: pastBreakdown, Breakdown: breakdown, diff --git a/internal/output/table.go b/internal/output/table.go index 89ca92ffc53..1ab992441ac 100644 --- a/internal/output/table.go +++ b/internal/output/table.go @@ -7,9 +7,8 @@ import ( "github.com/jedib0t/go-pretty/v6/table" "github.com/jedib0t/go-pretty/v6/text" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" - - "github.com/rs/zerolog/log" ) func ToTable(out Root, opts Options) ([]byte, error) { @@ -216,7 +215,7 @@ func tableForBreakdown(currency string, breakdown Breakdown, fields []string, in filteredComponents := filterZeroValComponents(r.CostComponents, r.Name) filteredSubResources := filterZeroValResources(r.SubResources, r.Name) if len(filteredComponents) == 0 && len(filteredSubResources) == 0 { - log.Debug().Msgf("Hiding resource with no usage: %s", r.Name) + logging.Logger.Debug().Msgf("Hiding resource with no usage: %s", r.Name) continue } @@ -296,7 +295,11 @@ func buildCostComponentRows(t table.Writer, currency string, costComponents []Co tableRow = append(tableRow, label) if contains(fields, "price") { - tableRow = append(tableRow, formatPrice(currency, c.Price)) + if c.PriceNotFound { + tableRow = append(tableRow, "not found") + } else { + tableRow = append(tableRow, formatPrice(currency, c.Price)) + } } if contains(fields, "monthlyQuantity") { tableRow = append(tableRow, formatQuantity(c.MonthlyQuantity)) @@ -305,10 +308,18 @@ func buildCostComponentRows(t table.Writer, currency string, costComponents []Co tableRow = append(tableRow, c.Unit) } if contains(fields, "hourlyCost") { - tableRow = append(tableRow, FormatCost2DP(currency, c.HourlyCost)) + if c.PriceNotFound { + tableRow = append(tableRow, "not found") + } else { + tableRow = append(tableRow, FormatCost2DP(currency, c.HourlyCost)) + } } if contains(fields, "monthlyCost") { - tableRow = append(tableRow, FormatCost2DP(currency, c.MonthlyCost)) + if c.PriceNotFound { + tableRow = append(tableRow, "not found") + } else { + tableRow = append(tableRow, FormatCost2DP(currency, c.MonthlyCost)) + } } if contains(fields, "usageFootnote") { @@ -359,7 +370,7 @@ func filterZeroValComponents(costComponents []CostComponent, resourceName string var filteredComponents []CostComponent for _, c := range costComponents { if c.MonthlyQuantity != nil && c.MonthlyQuantity.IsZero() { - log.Debug().Msgf("Hiding cost with no usage: %s '%s'", resourceName, c.Name) + logging.Logger.Debug().Msgf("Hiding cost with no usage: %s '%s'", resourceName, c.Name) continue } @@ -374,7 +385,7 @@ func filterZeroValResources(resources []Resource, resourceName string) []Resourc filteredComponents := filterZeroValComponents(r.CostComponents, fmt.Sprintf("%s.%s", resourceName, r.Name)) filteredSubResources := filterZeroValResources(r.SubResources, fmt.Sprintf("%s.%s", resourceName, r.Name)) if len(filteredComponents) == 0 && len(filteredSubResources) == 0 { - log.Debug().Msgf("Hiding resource with no usage: %s.%s", resourceName, r.Name) + logging.Logger.Debug().Msgf("Hiding resource with no usage: %s.%s", resourceName, r.Name) continue } @@ -409,7 +420,7 @@ func breakdownSummaryTable(out Root, opts Options) string { t.AppendRow( table.Row{ - truncateMiddle(project.Name, 64, "..."), + truncateMiddle(project.Label(), 64, "..."), formatCost(out.Currency, baseline), formatCost(out.Currency, project.Breakdown.TotalMonthlyUsageCost), formatCost(out.Currency, project.Breakdown.TotalMonthlyCost), diff --git a/internal/prices/prices.go b/internal/prices/prices.go index bbbb9b779b2..ce590493717 100644 --- a/internal/prices/prices.go +++ b/internal/prices/prices.go @@ -1,39 +1,200 @@ package prices import ( + "encoding/json" + "fmt" "runtime" + "sort" + "strings" "sync" + "github.com/rs/zerolog" + "github.com/infracost/infracost/internal/apiclient" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/infracost/infracost/internal/ui" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" ) var ( batchSize = 5 - warningMu = &sync.Mutex{} ) -func PopulatePrices(ctx *config.RunContext, project *schema.Project) error { - resources := project.AllResources() +// notFoundData represents a single price not found entry +type notFoundData struct { + ResourceType string + ResourceNames []string + Count int +} + +// PriceFetcher provides a thread-safe way to aggregate 'price not found' +// data. This is used to provide a summary of missing prices at the end of a run. +// It should be used as a singleton which is shared across the application. +type PriceFetcher struct { + resources map[string]*notFoundData + components map[string]int + mux *sync.RWMutex + client *apiclient.PricingAPIClient + runCtx *config.RunContext +} + +func NewPriceFetcher(ctx *config.RunContext) *PriceFetcher { + return &PriceFetcher{ + resources: make(map[string]*notFoundData), + components: make(map[string]int), + mux: &sync.RWMutex{}, + runCtx: ctx, + client: apiclient.NewPricingAPIClient(ctx), + } +} + +// addNotFoundResult adds an instance of a missing price to the aggregator. +func (p *PriceFetcher) addNotFoundResult(result apiclient.PriceQueryResult) { + p.mux.Lock() + defer p.mux.Unlock() + + variables := result.Query.Variables + b, _ := json.MarshalIndent(variables, " ", " ") + + logging.Logger.Debug().Msgf("No products found for %s %s\n %s", result.Resource.Name, result.CostComponent.Name, string(b)) + + resource := result.Resource + + key := resource.BaseResourceType() + name := resource.BaseResourceName() + + if entry, exists := p.resources[key]; exists { + entry.Count++ + + var found bool + for _, resourceName := range entry.ResourceNames { + if resourceName == name { + found = true + break + } + } + + if !found { + entry.ResourceNames = append(entry.ResourceNames, name) + } + } else { + p.resources[key] = ¬FoundData{ + ResourceType: key, + ResourceNames: []string{name}, + Count: 1, + } + } + + // build a key for the component, this is used to aggregate the number of + // missing prices by cost component and resource type. The key is in the + // format: resource_type.cost_component_name. + componentName := strings.ToLower(result.CostComponent.Name) + pieces := strings.Split(componentName, "(") + if len(pieces) > 1 { + componentName = strings.TrimSpace(pieces[0]) + } + componentKey := fmt.Sprintf("%s.%s", key, strings.ReplaceAll(componentName, " ", "_")) - c := apiclient.GetPricingAPIClient(ctx) + if entry, exists := p.components[componentKey]; exists { + entry++ + p.components[componentKey] = entry + } else { + p.components[componentKey] = 1 + + } + + result.CostComponent.SetPriceNotFound() +} + +// MissingPricesComponents returns a map of missing prices by component name, component +// names are in the format: resource_type.cost_component_name. +func (p *PriceFetcher) MissingPricesComponents() map[string]int { + p.mux.RLock() + defer p.mux.RUnlock() + + return p.components +} - err := GetPricesConcurrent(ctx, c, resources) +// MissingPricesLen returns the number of missing prices. +func (p *PriceFetcher) MissingPricesLen() int { + p.mux.RLock() + defer p.mux.RUnlock() + + return len(p.resources) +} + +// LogWarnings writes the PriceFetcher prices to the application log. If the log level is +// above the debug level we also include resource names the log output. +func (p *PriceFetcher) LogWarnings() { + p.mux.RLock() + defer p.mux.RUnlock() + if len(p.resources) == 0 { + return + } + + var data []*notFoundData + for _, v := range p.resources { + data = append(data, v) + } + sort.Slice(data, func(i, j int) bool { + return data[i].Count > data[j].Count + }) + + level, _ := zerolog.ParseLevel(p.runCtx.Config.LogLevel) + includeResourceNames := level <= zerolog.DebugLevel + + s := strings.Builder{} + warningPad := strings.Repeat(" ", 5) + resourcePad := strings.Repeat(" ", 3) + for i, v := range data { + priceDesc := "price" + if v.Count > 1 { + priceDesc = "prices" + } + + resourceDesc := "resource" + if len(v.ResourceNames) > 1 { + resourceDesc = "resources" + } + + formattedResourceMsg := ui.FormatIfNotCI(p.runCtx, ui.WarningString, v.ResourceType) + msg := fmt.Sprintf("%d %s %s missing across %d %s\n", v.Count, formattedResourceMsg, priceDesc, len(v.ResourceNames), resourceDesc) + + // pad the next warning line so that it appears inline with the last warning. + if i > 0 { + msg = fmt.Sprintf("%s%s", warningPad, msg) + } + s.WriteString(msg) + + if includeResourceNames { + for _, resourceName := range v.ResourceNames { + name := ui.FormatIfNotCI(p.runCtx, ui.UnderlineString, resourceName) + s.WriteString(fmt.Sprintf("%s%s- %s \n", warningPad, resourcePad, name)) + } + } + } + + logging.Logger.Warn().Msg(s.String()) +} + +func (p *PriceFetcher) PopulatePrices(project *schema.Project) error { + resources := project.AllResources() + + err := p.getPricesConcurrent(resources) if err != nil { return err } return nil } -// GetPricesConcurrent gets the prices of all resources concurrently. +// getPricesConcurrent gets the prices of all resources concurrently. // Concurrency level is calculated using the following formula: // max(min(4, numCPU * 4), 16) -func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, resources []*schema.Resource) error { +func (p *PriceFetcher) getPricesConcurrent(resources []*schema.Resource) error { // Set the number of workers numWorkers := 4 numCPU := runtime.NumCPU() @@ -44,7 +205,7 @@ func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, numWorkers = 16 } - reqs := c.BatchRequests(resources, batchSize) + reqs := p.client.BatchRequests(resources, batchSize) numJobs := len(reqs) jobs := make(chan apiclient.BatchRequest, numJobs) @@ -54,7 +215,7 @@ func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, for i := 0; i < numWorkers; i++ { go func(jobs <-chan apiclient.BatchRequest, resultErrors chan<- error) { for req := range jobs { - err := GetPrices(ctx, c, req) + err := p.getPrices(req) resultErrors <- err } }(jobs, resultErrors) @@ -75,44 +236,43 @@ func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, return nil } -func GetPrices(ctx *config.RunContext, c *apiclient.PricingAPIClient, req apiclient.BatchRequest) error { - results, err := c.PerformRequest(req) +func (p *PriceFetcher) getPrices(req apiclient.BatchRequest) error { + results, err := p.client.PerformRequest(req) if err != nil { return err } for _, r := range results { - setCostComponentPrice(ctx, c.Currency, r.Resource, r.CostComponent, r.Result) + p.setCostComponentPrice(r) } return nil } -func setCostComponentPrice(ctx *config.RunContext, currency string, r *schema.Resource, c *schema.CostComponent, res gjson.Result) { - var p decimal.Decimal +func (p *PriceFetcher) setCostComponentPrice(result apiclient.PriceQueryResult) { + currency := p.client.Currency - if c.CustomPrice() != nil { - log.Debug().Msgf("Using user-defined custom price %v for %s %s.", *c.CustomPrice(), r.Name, c.Name) - c.SetPrice(*c.CustomPrice()) + var pp decimal.Decimal + if result.CostComponent.CustomPrice() != nil { + logging.Logger.Debug().Msgf("Using user-defined custom price %v for %s %s.", *result.CostComponent.CustomPrice(), result.Resource.Name, result.CostComponent.Name) + result.CostComponent.SetPrice(*result.CostComponent.CustomPrice()) return } - products := res.Get("data.products").Array() + products := result.Result.Get("data.products").Array() if len(products) == 0 { - if c.IgnoreIfMissingPrice { - log.Debug().Msgf("No products found for %s %s, ignoring since IgnoreIfMissingPrice is set.", r.Name, c.Name) - r.RemoveCostComponent(c) + if result.CostComponent.IgnoreIfMissingPrice { + logging.Logger.Debug().Msgf("No products found for %s %s, ignoring since IgnoreIfMissingPrice is set.", result.Resource.Name, result.CostComponent.Name) + result.Resource.RemoveCostComponent(result.CostComponent) return } - log.Warn().Msgf("No products found for %s %s, using 0.00", r.Name, c.Name) - setResourceWarningEvent(ctx, r, "No products found") - c.SetPrice(decimal.Zero) + p.addNotFoundResult(result) return } if len(products) > 1 { - log.Debug().Msgf("Multiple products found for %s %s, filtering those with prices", r.Name, c.Name) + logging.Logger.Debug().Msgf("Multiple products found for %s %s, filtering those with prices", result.Resource.Name, result.CostComponent.Name) } // Some resources may have identical records in CPAPI for the same product @@ -120,7 +280,7 @@ func setCostComponentPrice(ctx *config.RunContext, currency string, r *schema.Re // distinguished by their prices. However if we pick the first product it may not // have the price due to price filter and the lookup fails. Filtering the // products with prices helps to solve that. - productsWithPrices := []gjson.Result{} + var productsWithPrices []gjson.Result for _, product := range products { if len(product.Get("prices").Array()) > 0 { productsWithPrices = append(productsWithPrices, product) @@ -128,57 +288,33 @@ func setCostComponentPrice(ctx *config.RunContext, currency string, r *schema.Re } if len(productsWithPrices) == 0 { - if c.IgnoreIfMissingPrice { - log.Debug().Msgf("No prices found for %s %s, ignoring since IgnoreIfMissingPrice is set.", r.Name, c.Name) - r.RemoveCostComponent(c) + if result.CostComponent.IgnoreIfMissingPrice { + logging.Logger.Debug().Msgf("No prices found for %s %s, ignoring since IgnoreIfMissingPrice is set.", result.Resource.Name, result.CostComponent.Name) + result.Resource.RemoveCostComponent(result.CostComponent) return } - log.Warn().Msgf("No prices found for %s %s, using 0.00", r.Name, c.Name) - setResourceWarningEvent(ctx, r, "No prices found") - c.SetPrice(decimal.Zero) + p.addNotFoundResult(result) return } if len(productsWithPrices) > 1 { - log.Warn().Msgf("Multiple products with prices found for %s %s, using the first product", r.Name, c.Name) - setResourceWarningEvent(ctx, r, "Multiple products found") + logging.Logger.Debug().Msgf("Multiple products with prices found for %s %s, using the first product", result.Resource.Name, result.CostComponent.Name) } prices := productsWithPrices[0].Get("prices").Array() if len(prices) > 1 { - log.Warn().Msgf("Multiple prices found for %s %s, using the first price", r.Name, c.Name) - setResourceWarningEvent(ctx, r, "Multiple prices found") + logging.Logger.Debug().Msgf("Multiple prices found for %s %s, using the first price", result.Resource.Name, result.CostComponent.Name) } var err error - p, err = decimal.NewFromString(prices[0].Get(currency).String()) + pp, err = decimal.NewFromString(prices[0].Get(currency).String()) if err != nil { - log.Warn().Msgf("Error converting price to '%v' (using 0.00) '%v': %s", currency, prices[0].Get(currency).String(), err.Error()) - setResourceWarningEvent(ctx, r, "Error converting price") - c.SetPrice(decimal.Zero) + logging.Logger.Warn().Msgf("Error converting price to '%v' (using 0.00) '%v': %s", currency, prices[0].Get(currency).String(), err.Error()) + result.CostComponent.SetPrice(decimal.Zero) return } - c.SetPrice(p) - c.SetPriceHash(prices[0].Get("priceHash").String()) -} - -func setResourceWarningEvent(ctx *config.RunContext, r *schema.Resource, msg string) { - warningMu.Lock() - defer warningMu.Unlock() - - warnings := ctx.GetResourceWarnings() - if warnings == nil { - warnings = make(map[string]map[string]int) - ctx.SetResourceWarnings(warnings) - } - - resourceWarnings := warnings[r.ResourceType] - if resourceWarnings == nil { - resourceWarnings = make(map[string]int) - warnings[r.ResourceType] = resourceWarnings - } - - resourceWarnings[msg] += 1 + result.CostComponent.SetPrice(pp) + result.CostComponent.SetPriceHash(prices[0].Get("priceHash").String()) } diff --git a/internal/prices/prices_test.go b/internal/prices/prices_test.go new file mode 100644 index 00000000000..959ead85ec5 --- /dev/null +++ b/internal/prices/prices_test.go @@ -0,0 +1,63 @@ +package prices + +import ( + "sync" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/infracost/infracost/internal/apiclient" + "github.com/infracost/infracost/internal/schema" +) + +func Test_notFound_Add(t *testing.T) { + type args struct { + results []apiclient.PriceQueryResult + } + tests := []struct { + name string + args args + want map[string]int + }{ + { + name: "test aggregates resource/cost component with correct keys", + args: args{results: []apiclient.PriceQueryResult{ + { + PriceQueryKey: apiclient.PriceQueryKey{ + Resource: &schema.Resource{ResourceType: "aws_instance"}, + CostComponent: &schema.CostComponent{Name: "Compute (on-demand, foo)"}, + }, + }, + { + PriceQueryKey: apiclient.PriceQueryKey{ + Resource: &schema.Resource{ResourceType: "aws_instance"}, + CostComponent: &schema.CostComponent{Name: "Data Storage"}, + }, + }, + { + PriceQueryKey: apiclient.PriceQueryKey{ + Resource: &schema.Resource{ResourceType: "aws_instance"}, + CostComponent: &schema.CostComponent{Name: "Compute (on-demand, bar)"}, + }, + }, + }}, + want: map[string]int{"aws_instance.compute": 2, "aws_instance.data_storage": 1}, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + p := &PriceFetcher{ + resources: make(map[string]*notFoundData), + components: make(map[string]int), + mux: &sync.RWMutex{}, + } + for _, res := range tt.args.results { + p.addNotFoundResult(res) + + } + + actual := p.MissingPricesComponents() + assert.Equal(t, tt.want, actual) + }) + } +} diff --git a/internal/providers/cloudformation/aws/dynamodb_table.go b/internal/providers/cloudformation/aws/dynamodb_table.go index de240fd1cbc..167757b3018 100644 --- a/internal/providers/cloudformation/aws/dynamodb_table.go +++ b/internal/providers/cloudformation/aws/dynamodb_table.go @@ -2,8 +2,8 @@ package aws import ( "github.com/awslabs/goformation/v7/cloudformation/dynamodb" - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" ) @@ -21,7 +21,7 @@ func GetDynamoDBTableRegistryItem() *schema.RegistryItem { func NewDynamoDBTable(d *schema.ResourceData, u *schema.UsageData) *schema.Resource { cfr, ok := d.CFResource.(*dynamodb.Table) if !ok { - log.Warn().Msgf("Skipping resource %s as it did not have the expected type (got %T)", d.Address, d.CFResource) + logging.Logger.Debug().Msgf("Skipping resource %s as it did not have the expected type (got %T)", d.Address, d.CFResource) return nil } diff --git a/internal/providers/cloudformation/template_provider.go b/internal/providers/cloudformation/template_provider.go index 7481e152bab..ab88e7b7e86 100644 --- a/internal/providers/cloudformation/template_provider.go +++ b/internal/providers/cloudformation/template_provider.go @@ -5,8 +5,8 @@ import ( "github.com/pkg/errors" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) type TemplateProvider struct { @@ -23,6 +23,14 @@ func NewTemplateProvider(ctx *config.ProjectContext, includePastResources bool) } } +func (p *TemplateProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *TemplateProvider) VarFiles() []string { + return nil +} + func (p *TemplateProvider) Context() *config.ProjectContext { return p.ctx } func (p *TemplateProvider) Type() string { @@ -37,18 +45,17 @@ func (p *TemplateProvider) AddMetadata(metadata *schema.ProjectMetadata) { metadata.ConfigSha = p.ctx.ProjectConfig.ConfigSha } +func (p *TemplateProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *TemplateProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { template, err := goformation.Open(p.Path) if err != nil { return []*schema.Project{}, errors.Wrap(err, "Error reading CloudFormation template file") } - spinner := ui.NewSpinner("Extracting only cost-related params from cloudformation", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from cloudformation") metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() @@ -69,6 +76,5 @@ func (p *TemplateProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proje project.PartialResources = append(project.PartialResources, item.PartialResource) } - spinner.Success() return []*schema.Project{project}, nil } diff --git a/internal/providers/detect.go b/internal/providers/detect.go index c34f111f81d..1ad0e7ee49e 100644 --- a/internal/providers/detect.go +++ b/internal/providers/detect.go @@ -18,10 +18,15 @@ import ( "github.com/infracost/infracost/internal/schema" ) +type DetectionOutput struct { + Providers []schema.Provider + RootModules int +} + // Detect returns a list of providers for the given path. Multiple returned // providers are because of auto-detected root modules residing under the // original path. -func Detect(ctx *config.RunContext, project *config.Project, includePastResources bool) ([]schema.Provider, error) { +func Detect(ctx *config.RunContext, project *config.Project, includePastResources bool) (*DetectionOutput, error) { path := project.Path if _, err := os.Stat(path); os.IsNotExist(err) { @@ -37,17 +42,17 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource switch projectType { case ProjectTypeTerraformPlanJSON: - return []schema.Provider{terraform.NewPlanJSONProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewPlanJSONProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeTerraformPlanBinary: - return []schema.Provider{terraform.NewPlanProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewPlanProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeTerraformCLI: - return []schema.Provider{terraform.NewDirProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewDirProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeTerragruntCLI: - return []schema.Provider{terraform.NewTerragruntProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewTerragruntProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeTerraformStateJSON: - return []schema.Provider{terraform.NewStateJSONProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewStateJSONProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeCloudFormation: - return []schema.Provider{cloudformation.NewTemplateProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{cloudformation.NewTemplateProvider(projectContext, includePastResources)}, RootModules: 1}, nil } pathOverrides := make([]hcl.PathOverrideConfig, len(ctx.Config.Autodetect.PathOverrides)) @@ -81,25 +86,29 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource return nil, fmt.Errorf("could not detect path type for '%s'", path) } + repoPath := ctx.Config.RepoPath() var autoProviders []schema.Provider for _, rootPath := range rootPaths { - projectContext := config.NewProjectContext(ctx, project, nil) + if repoPath != "" { + rootPath.RepoPath = repoPath + } + + detectedProjectContext := config.NewProjectContext(ctx, project, nil) if rootPath.IsTerragrunt { - projectContext.ContextValues.SetValue("project_type", "terragrunt_dir") - autoProviders = append(autoProviders, terraform.NewTerragruntHCLProvider(rootPath, projectContext)) + detectedProjectContext.ContextValues.SetValue("project_type", "terragrunt_dir") + autoProviders = append(autoProviders, terraform.NewTerragruntHCLProvider(rootPath, detectedProjectContext)) } else { - options := []hcl.Option{hcl.OptionWithSpinner(ctx.NewSpinner)} - projectContext.ContextValues.SetValue("project_type", "terraform_dir") + detectedProjectContext.ContextValues.SetValue("project_type", "terraform_dir") if ctx.Config.ConfigFilePath == "" && len(project.TerraformVarFiles) == 0 { - autoProviders = append(autoProviders, autodetectedRootToProviders(pl, projectContext, rootPath, options...)...) + autoProviders = append(autoProviders, autodetectedRootToProviders(pl, detectedProjectContext, rootPath)...) } else { - autoProviders = append(autoProviders, configFileRootToProvider(rootPath, options, projectContext, pl)) + autoProviders = append(autoProviders, configFileRootToProvider(rootPath, nil, detectedProjectContext, pl)) } } } - return autoProviders, nil + return &DetectionOutput{Providers: autoProviders, RootModules: len(rootPaths)}, nil } // configFileRootToProvider returns a provider for the given root path which is diff --git a/internal/providers/terraform/aws/autoscaling_group.go b/internal/providers/terraform/aws/autoscaling_group.go index 8c265084de9..e020773c1e0 100644 --- a/internal/providers/terraform/aws/autoscaling_group.go +++ b/internal/providers/terraform/aws/autoscaling_group.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" @@ -41,7 +41,7 @@ func NewAutoscalingGroup(d *schema.ResourceData) schema.CoreResource { } else { instanceCount = d.Get("min_size").Int() if instanceCount == 0 { - log.Debug().Msgf("Using instance count 1 for %s since no desired_capacity or non-zero min_size is set. To override this set the instance_count attribute for this resource in the Infracost usage file.", a.Address) + logging.Logger.Debug().Msgf("Using instance count 1 for %s since no desired_capacity or non-zero min_size is set. To override this set the instance_count attribute for this resource in the Infracost usage file.", a.Address) instanceCount = 1 } } diff --git a/internal/providers/terraform/aws/aws.go b/internal/providers/terraform/aws/aws.go index 2546ef0fd1f..0d47758ffbc 100644 --- a/internal/providers/terraform/aws/aws.go +++ b/internal/providers/terraform/aws/aws.go @@ -3,9 +3,9 @@ package aws import ( "strings" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -89,7 +89,7 @@ func GetResourceRegion(resourceType string, v gjson.Result) string { arn := v.Get(arnAttr).String() p := strings.Split(arn, ":") if len(p) < 4 { - log.Debug().Msgf("Unexpected ARN format for %s", arn) + logging.Logger.Debug().Msgf("Unexpected ARN format for %s", arn) return "" } diff --git a/internal/providers/terraform/aws/directory_service_directory.go b/internal/providers/terraform/aws/directory_service_directory.go index 213df710ce0..7c105b5ad36 100644 --- a/internal/providers/terraform/aws/directory_service_directory.go +++ b/internal/providers/terraform/aws/directory_service_directory.go @@ -4,8 +4,7 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" ) @@ -23,7 +22,7 @@ func newDirectoryServiceDirectory(d *schema.ResourceData) schema.CoreResource { region := d.Get("region").String() regionName, ok := aws.RegionMapping[region] if !ok { - log.Warn().Msgf("Could not find mapping for resource %s region %s", d.Address, region) + logging.Logger.Warn().Msgf("Could not find mapping for resource %s region %s", d.Address, region) } a := &aws.DirectoryServiceDirectory{ diff --git a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden index dde2b4618dd..64b25bf3110 100644 --- a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden +++ b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestACMCertificateGoldenFile ┃ $0.00 ┃ $0.75 ┃ $0.75 ┃ +┃ main ┃ $0.00 ┃ $0.75 ┃ $0.75 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden index 7a6eefa8274..29c6b767a0d 100644 --- a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden +++ b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestACMPCACertificateAuthorityFunction ┃ $1,700 ┃ $9,720 ┃ $11,420 ┃ +┃ main ┃ $1,700 ┃ $9,720 ┃ $11,420 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden index d76da01d8dd..1cf5d1e0ba9 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestApiGatewayRestApiGoldenFile ┃ $0.00 ┃ $49,763 ┃ $49,763 ┃ +┃ main ┃ $0.00 ┃ $49,763 ┃ $49,763 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden index cefc8eeab40..1f249deb4c1 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestApiGatewayStageGoldenFile ┃ $2,789 ┃ $0.00 ┃ $2,789 ┃ +┃ main ┃ $2,789 ┃ $0.00 ┃ $2,789 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden index c536fa7f45d..9beb101e893 100644 --- a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden +++ b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestApiGatewayv2ApiGoldenFile ┃ $0.00 ┃ $2,333 ┃ $2,333 ┃ +┃ main ┃ $0.00 ┃ $2,333 ┃ $2,333 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden index 7152d374558..aebf0e18177 100644 --- a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden +++ b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden @@ -198,9 +198,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAutoscalingGroup ┃ $3,585 ┃ $0.00 ┃ $3,585 ┃ +┃ main ┃ $3,585 ┃ $0.00 ┃ $3,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource aws_launch_configuration.lc_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Configurations -WRN Skipping resource aws_launch_template.lt_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Templates \ No newline at end of file +WARN Skipping resource aws_launch_configuration.lc_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Configurations +WARN Skipping resource aws_launch_template.lt_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Templates \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden index 8380da537d7..d2594cfada3 100644 --- a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden +++ b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden @@ -40,5 +40,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestBackupVault ┃ $0.00 ┃ $12,960 ┃ $12,960 ┃ +┃ main ┃ $0.00 ┃ $12,960 ┃ $12,960 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden index df938f7afd6..3d515e8d242 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudFirmationStackSet ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden index 2acc1d3f31c..42b4b3b5dad 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudFirmationStack ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden index 52f5acb9af7..c2887c9c01a 100644 --- a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden @@ -186,5 +186,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫ -┃ TestCloudfrontDistributionGoldenFile ┃ $0.00 ┃ $21,684,502 ┃ $21,684,502 ┃ +┃ main ┃ $0.00 ┃ $21,684,502 ┃ $21,684,502 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden index d904c457916..06fe6ba2b21 100644 --- a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudHSMv2HSM ┃ $0.00 ┃ $1,328 ┃ $1,328 ┃ +┃ main ┃ $0.00 ┃ $1,328 ┃ $1,328 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden index 7b994b44172..5f9071cc2b4 100644 --- a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudtrailGoldenFile ┃ $0.00 ┃ $3 ┃ $3 ┃ +┃ main ┃ $0.00 ┃ $3 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden index c6c355975c9..5c2da6d6d1a 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudwatchDashboard ┃ $3 ┃ $0.00 ┃ $3 ┃ +┃ main ┃ $3 ┃ $0.00 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden index e0d22f7b981..8f62e193768 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudwatchEventBus ┃ $0.00 ┃ $18 ┃ $18 ┃ +┃ main ┃ $0.00 ┃ $18 ┃ $18 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden index 8ee7b2100b2..4d081439b3c 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudwatchLogGroup ┃ $0.00 ┃ $2,065 ┃ $2,065 ┃ +┃ main ┃ $0.00 ┃ $2,065 ┃ $2,065 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden index d86d0bde587..ef9e40606be 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudwatchMetricAlarm ┃ $2 ┃ $0.00 ┃ $2 ┃ +┃ main ┃ $2 ┃ $0.00 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden index 7fd414f035b..73880b1b540 100644 --- a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden +++ b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudbuildProject ┃ $0.00 ┃ $5,705 ┃ $5,705 ┃ +┃ main ┃ $0.00 ┃ $5,705 ┃ $5,705 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden index fe01adbdb37..ded194708a0 100644 --- a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestConfigConfigRule ┃ $0.00 ┃ $670 ┃ $670 ┃ +┃ main ┃ $0.00 ┃ $670 ┃ $670 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden index 4f9621aeb4d..dff5672a452 100644 --- a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden +++ b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestConfigurationGoldenFile ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden index 75f50aa05a5..f1d19dc6c17 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestOrganizationCustomRuleGoldenFile ┃ $0.00 ┃ $470 ┃ $470 ┃ +┃ main ┃ $0.00 ┃ $470 ┃ $470 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden index c10cf030aa6..40ee59b31ce 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestOrganizationManagedRuleGoldenFile ┃ $0.00 ┃ $470 ┃ $470 ┃ +┃ main ┃ $0.00 ┃ $470 ┃ $470 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden index 2f3b9a04bac..c111bdbe978 100644 --- a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden +++ b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden @@ -229,5 +229,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataTransferGoldenFile ┃ $0.00 ┃ $363,015 ┃ $363,015 ┃ +┃ main ┃ $0.00 ┃ $363,015 ┃ $363,015 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden index 73284e323bd..d64ae41b0b6 100644 --- a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden @@ -317,5 +317,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDBInstanceGoldenFile ┃ $10,719 ┃ $1,161 ┃ $11,880 ┃ +┃ main ┃ $10,719 ┃ $1,161 ┃ $11,880 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden index 079eb1f55fd..b78c392f25e 100644 --- a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden +++ b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDirectoryServiceDirectoryGoldenFile ┃ $905 ┃ $390 ┃ $1,295 ┃ +┃ main ┃ $905 ┃ $390 ┃ $1,295 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden index 22f84f910db..77a6ac2a5f6 100644 --- a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden +++ b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewNewDMSReplicationInstanceGoldenFile ┃ $44 ┃ $0.00 ┃ $44 ┃ +┃ main ┃ $44 ┃ $0.00 ┃ $44 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden index 6521eb9e105..ad9bb24811d 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden @@ -46,5 +46,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDocDBClusterInstanceGoldenFile ┃ $3,463 ┃ $410 ┃ $3,873 ┃ +┃ main ┃ $3,463 ┃ $410 ┃ $3,873 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden index 3a0f21c74b5..f03f5124065 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDocDBClusterSnapshotGoldenFile ┃ $0.00 ┃ $42 ┃ $42 ┃ +┃ main ┃ $0.00 ┃ $42 ┃ $42 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden index 4fd50e0837c..8238c01576f 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewDocDBClusterGoldenFile ┃ $0.00 ┃ $420 ┃ $420 ┃ +┃ main ┃ $0.00 ┃ $420 ┃ $420 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden index 5b6338c5728..d504987ceaf 100644 --- a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDXConnectionGoldenFile ┃ $657 ┃ $302 ┃ $959 ┃ +┃ main ┃ $657 ┃ $302 ┃ $959 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden index c390c552ffb..e45afb2ed5c 100644 --- a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDXGatewayAssociationGoldenFile ┃ $73 ┃ $2 ┃ $75 ┃ +┃ main ┃ $73 ┃ $2 ┃ $75 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden index da1e9da54bb..eb7b606cec0 100644 --- a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden +++ b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden @@ -78,5 +78,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDynamoDBTableGoldenFile ┃ $106 ┃ $657 ┃ $763 ┃ +┃ main ┃ $106 ┃ $657 ┃ $763 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden index 3ce08e910af..fd60cc88dd2 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEBSSnapshotCopyGoldenFile ┃ $1 ┃ $1 ┃ $2 ┃ +┃ main ┃ $1 ┃ $1 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden index f53c5e24f7d..c608c3b58c9 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEBSSnapshotGoldenFile ┃ $1 ┃ $77 ┃ $78 ┃ +┃ main ┃ $1 ┃ $77 ┃ $78 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden index df0806d1f82..2bd494326dd 100644 --- a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEBSVolumeGoldenFile ┃ $60 ┃ $0.05 ┃ $61 ┃ +┃ main ┃ $60 ┃ $0.05 ┃ $61 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden index 66d7baca8df..3a5cfb655c7 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2ClientVpnEndpointGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden index b1d491b4cf2..10188c99db0 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2ClientVpnNetworkAssociationGoldenFile ┃ $73 ┃ $0.00 ┃ $73 ┃ +┃ main ┃ $73 ┃ $0.00 ┃ $73 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden index 29f51b827b6..41eac9ebe46 100644 --- a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2Host ┃ $8,391 ┃ $0.00 ┃ $8,391 ┃ +┃ main ┃ $8,391 ┃ $0.00 ┃ $8,391 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden index f84b00361a0..425ad24d8f5 100644 --- a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2TrafficMirrorSessionGoldenFile ┃ $11 ┃ $0.00 ┃ $11 ┃ +┃ main ┃ $11 ┃ $0.00 ┃ $11 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden index a8c4f407cc2..ce40099f969 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2TransitGatewayPeeringAttachmentGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden index 217f39aae7c..024409e5927 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2TransitGatewayVpcAttachmentGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden index a3f430ae61f..cc20bdfb737 100644 --- a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden +++ b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEcrRepositoryGoldenFile ┃ $0.00 ┃ $0.10 ┃ $0.10 ┃ +┃ main ┃ $0.00 ┃ $0.10 ┃ $0.10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden index 9fba3604009..e10905fd2dd 100644 --- a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden +++ b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestECSServiceGoldenFile ┃ $2,349 ┃ $0.00 ┃ $2,349 ┃ +┃ main ┃ $2,349 ┃ $0.00 ┃ $2,349 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden index 79749719c7f..667dd3c4bec 100644 --- a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewEFSFileSystemStandardStorage ┃ $0.00 ┃ $713 ┃ $713 ┃ +┃ main ┃ $0.00 ┃ $713 ┃ $713 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden index 136adff589f..7d9c2003a82 100644 --- a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden +++ b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEIP ┃ $84 ┃ $0.00 ┃ $84 ┃ +┃ main ┃ $84 ┃ $0.00 ┃ $84 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden index eba351089ff..0c6895e183a 100644 --- a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEKSClusterGoldenFile ┃ $1,314 ┃ $0.00 ┃ $1,314 ┃ +┃ main ┃ $1,314 ┃ $0.00 ┃ $1,314 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden index b8b462fc93e..9bf7c3f5e89 100644 --- a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEKSFargateProfileGoldenFile ┃ $106 ┃ $0.00 ┃ $106 ┃ +┃ main ┃ $106 ┃ $0.00 ┃ $106 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden index 6af584480ae..95ca74d7307 100644 --- a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden @@ -76,5 +76,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEKSNodeGroupGoldenFile ┃ $2,762 ┃ $0.00 ┃ $2,762 ┃ +┃ main ┃ $2,762 ┃ $0.00 ┃ $2,762 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden index 358091cb6ac..4dfb67952b5 100644 --- a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden @@ -83,5 +83,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestElasticBeanstalkEnvironmentGoldenFile ┃ $1,959 ┃ $926 ┃ $2,885 ┃ +┃ main ┃ $1,959 ┃ $926 ┃ $2,885 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden index 6ea6627241e..9e1f3d43206 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden @@ -35,5 +35,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestElastiCacheCluster ┃ $10,634 ┃ $850 ┃ $11,484 ┃ +┃ main ┃ $10,634 ┃ $850 ┃ $11,484 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden index 1dd6104353b..cfaceac3127 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestElastiCacheReplicationGroup ┃ $13,387 ┃ $10,021 ┃ $23,409 ┃ +┃ main ┃ $13,387 ┃ $10,021 ┃ $23,409 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden index 0da92abb209..f152b333e91 100644 --- a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden @@ -69,5 +69,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestElasticsearchDomain ┃ $15,972 ┃ $0.00 ┃ $15,972 ┃ +┃ main ┃ $15,972 ┃ $0.00 ┃ $15,972 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden index 922d8069a00..eb2b95fd44b 100644 --- a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden +++ b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestELB ┃ $37 ┃ $80 ┃ $117 ┃ +┃ main ┃ $37 ┃ $80 ┃ $117 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden index ac38921b7b3..301a853c1b4 100644 --- a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFSXOpenZFSFS ┃ $1,149 ┃ $0.00 ┃ $1,149 ┃ +┃ main ┃ $1,149 ┃ $0.00 ┃ $1,149 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden index df80d893e74..aaf2d987b0d 100644 --- a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFSXWindowsFS ┃ $18,585 ┃ $1,000 ┃ $19,585 ┃ +┃ main ┃ $18,585 ┃ $1,000 ┃ $19,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden index b46eb0629b8..a8d7e9d306d 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫ -┃ TestGlobalAcceleratorEndpointGroup ┃ $0.00 ┃ $19,161,650 ┃ $19,161,650 ┃ +┃ main ┃ $0.00 ┃ $19,161,650 ┃ $19,161,650 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden index 1d2c6baacd7..f8b6710d02f 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGlobalAccelerator ┃ $18 ┃ $0.00 ┃ $18 ┃ +┃ main ┃ $18 ┃ $0.00 ┃ $18 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden index 8bf586d2c2b..50bff755b69 100644 --- a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGlueCatalogDatabaseGoldenFile ┃ $0.00 ┃ $302 ┃ $302 ┃ +┃ main ┃ $0.00 ┃ $302 ┃ $302 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden index 2a54d1bae0e..d76f73ee1ba 100644 --- a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGlueCrawlerGoldenFile ┃ $0.00 ┃ $26 ┃ $26 ┃ +┃ main ┃ $0.00 ┃ $26 ┃ $26 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden index 8841b0b66c4..5612192bb29 100644 --- a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden @@ -30,5 +30,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGlueJobGoldenFile ┃ $0.00 ┃ $1,320 ┃ $1,320 ┃ +┃ main ┃ $0.00 ┃ $1,320 ┃ $1,320 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden index ded2db4b339..ed435ccc9ea 100644 --- a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden +++ b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden @@ -195,8 +195,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestInstanceGoldenFile ┃ $2,090 ┃ $0.00 ┃ $2,090 ┃ +┃ main ┃ $2,090 ┃ $0.00 ┃ $2,090 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource aws_instance.instance1_hostTenancy. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up \ No newline at end of file +WARN Skipping resource aws_instance.instance1_hostTenancy. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden index c4b5a6d0988..a91f4553001 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden @@ -60,5 +60,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisFirehoseDeliveryStream ┃ $247,199 ┃ $419,104 ┃ $666,303 ┃ +┃ main ┃ $247,199 ┃ $419,104 ┃ $666,303 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden index 944a5348c59..19c392c3426 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden @@ -80,5 +80,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisStream ┃ $226 ┃ $19 ┃ $245 ┃ +┃ main ┃ $226 ┃ $19 ┃ $245 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden index 4ed2810a714..920eb64c186 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsApplicationGoldenFile ┃ $0.00 ┃ $927 ┃ $927 ┃ +┃ main ┃ $0.00 ┃ $927 ┃ $927 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden index 58369ab7907..fc5f2abcb7b 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden @@ -28,8 +28,8 @@ ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsV2ApplicationSnapshotGoldenFile ┃ $185 ┃ $2 ┃ $188 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $185 ┃ $2 ┃ $188 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden index c5bac70514e..496ea8b5d88 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsV2ApplicationGoldenFile ┃ $185 ┃ $1,915 ┃ $2,100 ┃ +┃ main ┃ $185 ┃ $1,915 ┃ $2,100 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden index a0c7cd046c3..c33dfa30438 100644 --- a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKMSExternalKeyGoldenFile ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden index 70225fe9c7b..e9aaed2427a 100644 --- a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKMSKey ┃ $3 ┃ $0.00 ┃ $3 ┃ +┃ main ┃ $3 ┃ $0.00 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden index 5934f53d289..5db18798155 100644 --- a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden @@ -68,5 +68,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLambdaFunctionGoldenFile ┃ $0.00 ┃ $1,282,286 ┃ $1,282,286 ┃ +┃ main ┃ $0.00 ┃ $1,282,286 ┃ $1,282,286 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden index 5628581ad25..6d3d3d83236 100644 --- a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLambdaProvisionedConcurrencyConfig ┃ $0.00 ┃ $46 ┃ $46 ┃ +┃ main ┃ $0.00 ┃ $46 ┃ $46 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden index 12c5ee6bf42..a20c9717aed 100644 --- a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLBGoldenFile ┃ $82 ┃ $14 ┃ $96 ┃ +┃ main ┃ $82 ┃ $14 ┃ $96 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden index e859265c5dc..364412fb3ac 100644 --- a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLightsailInstanceGoldenFile ┃ $98 ┃ $0.00 ┃ $98 ┃ +┃ main ┃ $98 ┃ $0.00 ┃ $98 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden index e53e58c56df..f22e0b07e93 100644 --- a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden +++ b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMQBrokerGoldenFile ┃ $2,146 ┃ $3 ┃ $2,149 ┃ +┃ main ┃ $2,146 ┃ $3 ┃ $2,149 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden index 9080c0c0836..3576541dd92 100644 --- a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSKClusterGoldenFile ┃ $29,633 ┃ $771 ┃ $30,405 ┃ +┃ main ┃ $29,633 ┃ $771 ┃ $30,405 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden index 842859dc689..c2178b08cc5 100644 --- a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden @@ -30,5 +30,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMWAAEnvironmentGoldenFile ┃ $2,504 ┃ $100 ┃ $2,604 ┃ +┃ main ┃ $2,504 ┃ $100 ┃ $2,604 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden index 603775af00d..14bc51fa175 100644 --- a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNATGatewayGoldenFile ┃ $66 ┃ $5 ┃ $70 ┃ +┃ main ┃ $66 ┃ $5 ┃ $70 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden index 9b7c3c4c929..4025dc5ca17 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNeptuneClusterInstanceGoldenFile ┃ $869 ┃ $1,095 ┃ $1,964 ┃ +┃ main ┃ $869 ┃ $1,095 ┃ $1,964 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden index 0766a3b59a3..cb84b0a7292 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNeptuneClusterSnapshotGoldenFile ┃ $0.00 ┃ $22 ┃ $22 ┃ +┃ main ┃ $0.00 ┃ $22 ┃ $22 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden index 52dea73d398..142aa68d78b 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNeptuneClusterGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden index 53662bfdbaf..138a5e043b4 100644 --- a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden +++ b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkfirewallFirewallGoldenFile ┃ $577 ┃ $7 ┃ $583 ┃ +┃ main ┃ $577 ┃ $7 ┃ $583 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden index 2092e7f133c..0933ed12979 100644 --- a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestOpensearchDomain ┃ $6,150 ┃ $0.00 ┃ $6,150 ┃ +┃ main ┃ $6,150 ┃ $0.00 ┃ $6,150 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden index 592bc741e07..c064a881490 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden @@ -92,5 +92,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRDSClusterInstanceGoldenFile ┃ $5,807 ┃ $10 ┃ $5,817 ┃ +┃ main ┃ $5,807 ┃ $10 ┃ $5,817 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden index e0555a1edcc..63fcd000e4a 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden @@ -58,5 +58,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRDSClusterGoldenFile ┃ $0.00 ┃ $176,131 ┃ $176,131 ┃ +┃ main ┃ $0.00 ┃ $176,131 ┃ $176,131 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden index 6a33d152c50..8291fcc51d4 100644 --- a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden @@ -40,5 +40,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRedshiftClusterGoldenFile ┃ $29,492 ┃ $13,485 ┃ $42,977 ┃ +┃ main ┃ $29,492 ┃ $13,485 ┃ $42,977 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden index 89a55033c92..2f92b749ad8 100644 --- a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGetRoute53HealthCheckGoldenFile ┃ $36 ┃ $0.00 ┃ $36 ┃ +┃ main ┃ $36 ┃ $0.00 ┃ $36 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden index ec2fe0e26a8..5344ea7f630 100644 --- a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRoute53RecordGoldenFile ┃ $1 ┃ $1,955 ┃ $1,956 ┃ +┃ main ┃ $1 ┃ $1,955 ┃ $1,956 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden index f097453e703..94a68bfe117 100644 --- a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRoute53ResolverEndpointGoldenFile ┃ $548 ┃ $640 ┃ $1,188 ┃ +┃ main ┃ $548 ┃ $640 ┃ $1,188 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden index 9db5aa49db4..d43edfe3d4b 100644 --- a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRoute53ZoneGoldenFile ┃ $0.50 ┃ $0.00 ┃ $0.50 ┃ +┃ main ┃ $0.50 ┃ $0.00 ┃ $0.50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden index c16bde92ed3..a1d54863997 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3AnalyticsConfigurationGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden index c239c80379a..e75ab1ec3c4 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3BucketInventoryGoldenFile ┃ $0.00 ┃ $0.03 ┃ $0.03 ┃ +┃ main ┃ $0.00 ┃ $0.03 ┃ $0.03 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden index 63c3b5f74e3..def2b20c00d 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden @@ -217,5 +217,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3BucketLifecycleConfigurationGoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden index e1f0d854f0d..7624d413ab3 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden @@ -82,5 +82,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3BucketGoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden index b20b8a94602..ba0b1caf340 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden @@ -138,5 +138,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3BucketV3GoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden index 18c28b0ee81..5af34d1c99b 100644 --- a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden +++ b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAwsSecretsManagerSecretGoldenFile ┃ $0.80 ┃ $0.50 ┃ $1 ┃ +┃ main ┃ $0.80 ┃ $0.50 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden index 2cfce88b78f..110e4d578f3 100644 --- a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden +++ b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSFnStateMachineGoldenFile ┃ $0.00 ┃ $759 ┃ $759 ┃ +┃ main ┃ $0.00 ┃ $759 ┃ $759 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden index 77ade511e75..131d50b8b22 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSNSTopicSubscriptionGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden index b5c4d8101ff..b8600752d23 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSNSTopicGoldenFile ┃ $0.00 ┃ $34 ┃ $34 ┃ +┃ main ┃ $0.00 ┃ $34 ┃ $34 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden index 29eec1e9b1b..99114c03c15 100644 --- a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden +++ b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSQSQueueGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden index d76533171ce..9ef657d317c 100644 --- a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAwsSSMActivationfuncGoldenFile ┃ $0.00 ┃ $507 ┃ $507 ┃ +┃ main ┃ $0.00 ┃ $507 ┃ $507 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden index b948bfde9d5..b8115056db6 100644 --- a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAwsSSMParameterGoldenFile ┃ $0.00 ┃ $0.59 ┃ $0.59 ┃ +┃ main ┃ $0.00 ┃ $0.59 ┃ $0.59 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden index 32f5f84f9e1..d6530673440 100644 --- a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden +++ b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTransferServerGoldenFile ┃ $876 ┃ $2 ┃ $878 ┃ +┃ main ┃ $876 ┃ $2 ┃ $878 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden index 80078dbe2bb..84590fda354 100644 --- a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVpcEndpointGoldenFile ┃ $58 ┃ $52 ┃ $110 ┃ +┃ main ┃ $58 ┃ $52 ┃ $110 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden index 9b4fad4f573..6dfe5bd016c 100644 --- a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVPNConnectionGoldenFile ┃ $219 ┃ $2 ┃ $221 ┃ +┃ main ┃ $219 ┃ $2 ┃ $221 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden index 4745322f192..f8055618330 100644 --- a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden @@ -31,9 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestWAFWebACLGoldenFile ┃ $31 ┃ $7 ┃ $38 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN Multiple prices found for aws_waf_web_acl.my_waf Requests, using the first price -WRN Multiple prices found for aws_waf_web_acl.withoutUsage Requests, using the first price \ No newline at end of file +┃ main ┃ $31 ┃ $7 ┃ $38 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden index 7749d5e83c5..dbb879d17c2 100644 --- a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestWAFv2WebACLGoldenFile ┃ $27 ┃ $5 ┃ $32 ┃ +┃ main ┃ $27 ┃ $5 ┃ $32 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/cdn_endpoint.go b/internal/providers/terraform/azure/cdn_endpoint.go index f531167deba..082d35bed41 100644 --- a/internal/providers/terraform/azure/cdn_endpoint.go +++ b/internal/providers/terraform/azure/cdn_endpoint.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" ) @@ -35,7 +35,7 @@ func NewAzureRMCDNEndpoint(d *schema.ResourceData, u *schema.UsageData) *schema. } if len(strings.Split(sku, "_")) != 2 || strings.ToLower(sku) == "standard_chinacdn" { - log.Warn().Msgf("Unrecognized/unsupported CDN sku format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognized/unsupported CDN sku format for resource %s: %s", d.Address, sku) return nil } diff --git a/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go b/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go index cb7fcbef135..1c8018f0073 100644 --- a/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go +++ b/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -38,7 +38,7 @@ func NewAzureRMCosmosdb(d *schema.ResourceData, u *schema.UsageData) *schema.Res CostComponents: cosmosDBCostComponents(d, u, account), } } - log.Warn().Msgf("Skipping resource %s as its 'account_name' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'account_name' property could not be found.", d.Address) return nil } @@ -51,7 +51,7 @@ func cosmosDBCostComponents(d *schema.ResourceData, u *schema.UsageData, account // expressions evaluating as nil, e.g. using a data block. If the geoLocations variable is empty // we set it as a sane default which is using the location from the parent region. if len(geoLocations) == 0 { - log.Debug().Str( + logging.Logger.Debug().Str( "resource", d.Address, ).Msgf("empty set of geo_location attributes provided using fallback region %s", region) diff --git a/internal/providers/terraform/azure/cosmosdb_cassandra_table.go b/internal/providers/terraform/azure/cosmosdb_cassandra_table.go index 17dc2528e52..c00ac9267f2 100644 --- a/internal/providers/terraform/azure/cosmosdb_cassandra_table.go +++ b/internal/providers/terraform/azure/cosmosdb_cassandra_table.go @@ -1,8 +1,7 @@ package azure import ( - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -27,9 +26,9 @@ func NewAzureRMCosmosdbCassandraTable(d *schema.ResourceData, u *schema.UsageDat CostComponents: cosmosDBCostComponents(d, u, account), } } - log.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id.account_name' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id.account_name' property could not be found.", d.Address) return nil } - log.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id' property could not be found.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/cosmosdb_mongo_collection.go b/internal/providers/terraform/azure/cosmosdb_mongo_collection.go index 2317ce70703..028b4f6a50a 100644 --- a/internal/providers/terraform/azure/cosmosdb_mongo_collection.go +++ b/internal/providers/terraform/azure/cosmosdb_mongo_collection.go @@ -1,8 +1,7 @@ package azure import ( - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -28,9 +27,9 @@ func NewAzureRMCosmosdbMongoCollection(d *schema.ResourceData, u *schema.UsageDa CostComponents: cosmosDBCostComponents(d, u, account), } } - log.Warn().Msgf("Skipping resource %s as its 'database_name.account_name' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'database_name.account_name' property could not be found.", d.Address) return nil } - log.Warn().Msgf("Skipping resource %s as its 'database_name' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'database_name' property could not be found.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/key_vault_certificate.go b/internal/providers/terraform/azure/key_vault_certificate.go index 77e913c5c75..b40364e5050 100644 --- a/internal/providers/terraform/azure/key_vault_certificate.go +++ b/internal/providers/terraform/azure/key_vault_certificate.go @@ -1,11 +1,11 @@ package azure import ( - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "golang.org/x/text/cases" "golang.org/x/text/language" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -29,7 +29,7 @@ func NewAzureRMKeyVaultCertificate(d *schema.ResourceData, u *schema.UsageData) if len(keyVault) > 0 { skuName = cases.Title(language.English).String(keyVault[0].Get("sku_name").String()) } else { - log.Warn().Msgf("Skipping resource %s. Could not find its 'key_vault_id.sku_name' property.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Could not find its 'key_vault_id.sku_name' property.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/key_vault_key.go b/internal/providers/terraform/azure/key_vault_key.go index 286751c1f8f..8a39862bc77 100644 --- a/internal/providers/terraform/azure/key_vault_key.go +++ b/internal/providers/terraform/azure/key_vault_key.go @@ -3,12 +3,12 @@ package azure import ( "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" "golang.org/x/text/cases" "golang.org/x/text/language" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" ) @@ -31,7 +31,7 @@ func NewAzureRMKeyVaultKey(d *schema.ResourceData, u *schema.UsageData) *schema. if len(keyVault) > 0 { skuName = cases.Title(language.English).String(keyVault[0].Get("sku_name").String()) } else { - log.Warn().Msgf("Skipping resource %s. Could not find its 'sku_name' property on key_vault_id.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Could not find its 'sku_name' property on key_vault_id.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/mariadb_server.go b/internal/providers/terraform/azure/mariadb_server.go index 2e151149bb1..dbace893d41 100644 --- a/internal/providers/terraform/azure/mariadb_server.go +++ b/internal/providers/terraform/azure/mariadb_server.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -30,7 +30,7 @@ func NewAzureRMMariaDBServer(d *schema.ResourceData, u *schema.UsageData) *schem family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - log.Warn().Msgf("Unrecognised MariaDB SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MariaDB SKU format for resource %s: %s", d.Address, sku) return nil } @@ -41,7 +41,7 @@ func NewAzureRMMariaDBServer(d *schema.ResourceData, u *schema.UsageData) *schem }[tier] if tierName == "" { - log.Warn().Msgf("Unrecognised MariaDB tier prefix for resource %s: %s", d.Address, tierName) + logging.Logger.Warn().Msgf("Unrecognised MariaDB tier prefix for resource %s: %s", d.Address, tierName) return nil } diff --git a/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go b/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go index 8367615d91e..c6ef4cb4cd5 100644 --- a/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go +++ b/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go @@ -2,8 +2,8 @@ package azure import ( duration "github.com/channelmeter/iso8601duration" - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -24,7 +24,7 @@ func newMonitorScheduledQueryRulesAlertV2(d *schema.ResourceData) schema.CoreRes freq := int64(1) ef, err := duration.FromString(d.Get("evaluation_frequency").String()) if err != nil { - log.Warn().Str( + logging.Logger.Warn().Str( "resource", d.Address, ).Msgf("failed to parse ISO8061 duration string '%s' using 1 minute frequency", d.Get("evaluation_frequency").String()) } else { diff --git a/internal/providers/terraform/azure/mssql_database.go b/internal/providers/terraform/azure/mssql_database.go index a9a53b068f3..849b953f645 100644 --- a/internal/providers/terraform/azure/mssql_database.go +++ b/internal/providers/terraform/azure/mssql_database.go @@ -5,8 +5,7 @@ import ( "strconv" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -96,7 +95,7 @@ func newAzureRMMSSQLDatabase(d *schema.ResourceData) schema.CoreResource { } else if !dtuMap.usesDTUUnits(sku) { c, err := parseMSSQLSku(d.Address, sku) if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) return nil } diff --git a/internal/providers/terraform/azure/mysql_flexible_server.go b/internal/providers/terraform/azure/mysql_flexible_server.go index a7c37478d8e..e0effcc6b77 100644 --- a/internal/providers/terraform/azure/mysql_flexible_server.go +++ b/internal/providers/terraform/azure/mysql_flexible_server.go @@ -4,8 +4,7 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -27,7 +26,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { s := strings.Split(sku, "_") if len(s) < 3 || len(s) > 4 { - log.Warn().Msgf("Unrecognised MySQL Flexible Server SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server SKU format for resource %s: %s", d.Address, sku) return nil } @@ -42,7 +41,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { supportedTiers := []string{"b", "gp", "mo"} if !contains(supportedTiers, tier) { - log.Warn().Msgf("Unrecognised MySQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) return nil } @@ -50,7 +49,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { coreRegex := regexp.MustCompile(`(\d+)`) match := coreRegex.FindStringSubmatch(size) if len(match) < 1 { - log.Warn().Msgf("Unrecognised MySQL Flexible Server size for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server size for resource %s: %s", d.Address, sku) return nil } } diff --git a/internal/providers/terraform/azure/mysql_server.go b/internal/providers/terraform/azure/mysql_server.go index fb327a0a52b..24df5dff8e9 100644 --- a/internal/providers/terraform/azure/mysql_server.go +++ b/internal/providers/terraform/azure/mysql_server.go @@ -4,8 +4,7 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/shopspring/decimal" @@ -31,7 +30,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - log.Warn().Msgf("Unrecognised MySQL SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MySQL SKU format for resource %s: %s", d.Address, sku) return nil } @@ -42,7 +41,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. }[tier] if tierName == "" { - log.Warn().Msgf("Unrecognised MySQL tier prefix for resource %s: %s", d.Address, tierName) + logging.Logger.Warn().Msgf("Unrecognised MySQL tier prefix for resource %s: %s", d.Address, tierName) return nil } @@ -50,7 +49,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. skuName := fmt.Sprintf("%s vCore", cores) name := fmt.Sprintf("Compute (%s)", sku) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) + logging.Logger.Debug().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) costComponents = append(costComponents, databaseComputeInstance(region, name, serviceName, productNameRegex, skuName)) diff --git a/internal/providers/terraform/azure/postgresql_flexible_server.go b/internal/providers/terraform/azure/postgresql_flexible_server.go index 65a13378ea8..d64609ddd54 100644 --- a/internal/providers/terraform/azure/postgresql_flexible_server.go +++ b/internal/providers/terraform/azure/postgresql_flexible_server.go @@ -4,8 +4,7 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -26,7 +25,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { s := strings.Split(sku, "_") if len(s) < 3 || len(s) > 4 { - log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server SKU format for resource %s: %s", d.Address, sku) return nil } @@ -41,7 +40,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { supportedTiers := []string{"b", "gp", "mo"} if !contains(supportedTiers, tier) { - log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) return nil } @@ -49,7 +48,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { coreRegex := regexp.MustCompile(`(\d+)`) match := coreRegex.FindStringSubmatch(size) if len(match) < 1 { - log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server size for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server size for resource %s: %s", d.Address, sku) return nil } } diff --git a/internal/providers/terraform/azure/postgresql_server.go b/internal/providers/terraform/azure/postgresql_server.go index b3667bc6d72..f3cd8b03327 100644 --- a/internal/providers/terraform/azure/postgresql_server.go +++ b/internal/providers/terraform/azure/postgresql_server.go @@ -4,8 +4,7 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/shopspring/decimal" @@ -31,7 +30,7 @@ func NewAzureRMPostrgreSQLServer(d *schema.ResourceData, u *schema.UsageData) *s family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - log.Warn().Msgf("Unrecognised PostgreSQL SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL SKU format for resource %s: %s", d.Address, sku) return nil } @@ -42,7 +41,7 @@ func NewAzureRMPostrgreSQLServer(d *schema.ResourceData, u *schema.UsageData) *s }[tier] if tierName == "" { - log.Warn().Msgf("Unrecognised PostgreSQL tier prefix for resource %s: %s", d.Address, tierName) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL tier prefix for resource %s: %s", d.Address, tierName) return nil } diff --git a/internal/providers/terraform/azure/sql_database.go b/internal/providers/terraform/azure/sql_database.go index 764c48e6562..2a45b3bc749 100644 --- a/internal/providers/terraform/azure/sql_database.go +++ b/internal/providers/terraform/azure/sql_database.go @@ -1,8 +1,7 @@ package azure import ( - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -79,7 +78,7 @@ func newSQLDatabase(d *schema.ResourceData) schema.CoreResource { var err error config, err = parseSKU(d.Address, sku) if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) return nil } } diff --git a/internal/providers/terraform/azure/storage_queue.go b/internal/providers/terraform/azure/storage_queue.go index a6126c5bb8f..b35a01f0711 100644 --- a/internal/providers/terraform/azure/storage_queue.go +++ b/internal/providers/terraform/azure/storage_queue.go @@ -3,8 +3,7 @@ package azure import ( "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -30,7 +29,7 @@ func newStorageQueue(d *schema.ResourceData) schema.CoreResource { accountTier := storageAccount.Get("account_tier").String() if strings.EqualFold(accountTier, "premium") { - log.Warn().Msgf("Skipping resource %s. Storage Queues don't support %s tier", d.Address, accountTier) + logging.Logger.Warn().Msgf("Skipping resource %s. Storage Queues don't support %s tier", d.Address, accountTier) return nil } diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden index e5e975c489c..d7c3c4ae1e3 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMActiveDirectoryDomainReplicaSetService ┃ $584 ┃ $0.00 ┃ $584 ┃ +┃ main ┃ $584 ┃ $0.00 ┃ $584 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden index c28b7cdce86..fe223826bc8 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMActiveDirectoryDomainService ┃ $1,570 ┃ $0.00 ┃ $1,570 ┃ +┃ main ┃ $1,570 ┃ $0.00 ┃ $1,570 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden index eb748c9f987..af091f7a6bf 100644 --- a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden +++ b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMApiManagement ┃ $24,764 ┃ $1,285 ┃ $26,049 ┃ +┃ main ┃ $24,764 ┃ $1,285 ┃ $26,049 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden index b5583c53261..4c5a2e6ce6d 100644 --- a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAppConfiguration ┃ $504 ┃ $0.54 ┃ $505 ┃ +┃ main ┃ $504 ┃ $0.54 ┃ $505 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden index 6b8c1f455b1..ba046ba3f0a 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCertificateBinding ┃ $39 ┃ $0.00 ┃ $39 ┃ +┃ main ┃ $39 ┃ $0.00 ┃ $39 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden index 7570550dce7..03db3a98273 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCertificateOrder ┃ $31 ┃ $0.00 ┃ $31 ┃ +┃ main ┃ $31 ┃ $0.00 ┃ $31 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden index 9489ca81b2d..7e44988762e 100644 --- a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCustomHostnameBinding ┃ $112 ┃ $0.00 ┃ $112 ┃ +┃ main ┃ $112 ┃ $0.00 ┃ $112 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden index aba2d19f2e7..379cfda9e54 100644 --- a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppIsolatedServicePlan ┃ $7,820 ┃ $0.00 ┃ $7,820 ┃ +┃ main ┃ $7,820 ┃ $0.00 ┃ $7,820 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden index e098d1bc608..0c1989fd03d 100644 --- a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden @@ -43,5 +43,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppServicePlan ┃ $5,621 ┃ $0.00 ┃ $5,621 ┃ +┃ main ┃ $5,621 ┃ $0.00 ┃ $5,621 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden index bf10f489fa2..f82135cfbcf 100644 --- a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationGateway ┃ $3,574 ┃ $2,340 ┃ $5,915 ┃ +┃ main ┃ $3,574 ┃ $2,340 ┃ $5,915 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden index 702e843df46..9bd9473e5d7 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestApplicationInsightsStandardWebTest ┃ $16 ┃ $0.00 ┃ $16 ┃ +┃ main ┃ $16 ┃ $0.00 ┃ $16 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden index 67b21d654c5..3fce1bdff57 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationInsights ┃ $100 ┃ $4,600 ┃ $4,700 ┃ +┃ main ┃ $100 ┃ $4,600 ┃ $4,700 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden index 0a30636a723..ba52cad67bf 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationInsightsWeb ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden index bff48adb7aa..da8b5e88c47 100644 --- a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationAccount ┃ $0.00 ┃ $12 ┃ $12 ┃ +┃ main ┃ $0.00 ┃ $12 ┃ $12 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden index 0472e97f8d9..48eb1984584 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationDscConfiguration ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden index c18877dd21e..5014408289e 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationDscNodeconfiguration ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden index 8a6b3debf18..f483b6fc57e 100644 --- a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationJobSchedule ┃ $0.00 ┃ $0.01 ┃ $0.01 ┃ +┃ main ┃ $0.00 ┃ $0.01 ┃ $0.01 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden index 5690f02c96e..046f1870e1f 100644 --- a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden +++ b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMBastionHost ┃ $142 ┃ $8,730 ┃ $8,872 ┃ +┃ main ┃ $142 ┃ $8,730 ┃ $8,872 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden index 689cb819be9..a1a6b3e3fed 100644 --- a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCDNEndpoint ┃ $609,769 ┃ $0.00 ┃ $609,769 ┃ +┃ main ┃ $609,769 ┃ $0.00 ┃ $609,769 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden index 429dd4ee91c..5c5dde1db45 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden @@ -295,15 +295,15 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCognitiveAccount ┃ $314,897 ┃ $0.00 ┃ $314,897 ┃ +┃ main ┃ $314,897 ┃ $0.00 ┃ $314,897 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Invalid commitment tier 1000000 for azurerm_cognitive_account.textanalytics_with_commitment["small"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.luis_with_commitment["invalid"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WRN Invalid commitment tier amount 100 for azurerm_cognitive_account.speech_with_commitment["invalid"] -WRN Skipping resource azurerm_cognitive_account.unsupported. Kind "Academic" is not supported \ No newline at end of file +WARN Invalid commitment tier 1000000 for azurerm_cognitive_account.textanalytics_with_commitment["small"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.luis_with_commitment["invalid"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WARN Invalid commitment tier amount 100 for azurerm_cognitive_account.speech_with_commitment["invalid"] +WARN Skipping resource azurerm_cognitive_account.unsupported. Kind "Academic" is not supported \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden index 56f103b9f74..804c0bbe4af 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden @@ -385,8 +385,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCognitiveDeployment ┃ $20,499 ┃ $0.00 ┃ $20,499 ┃ +┃ main ┃ $20,499 ┃ $0.00 ┃ $20,499 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_cognitive_deployment.unsupported. Model 'ada' is not supported \ No newline at end of file +WARN Skipping resource azurerm_cognitive_deployment.unsupported. Model 'ada' is not supported \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden index b9d8e906f81..e30e08091b9 100644 --- a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMContainerRegistry ┃ $315 ┃ $338 ┃ $653 ┃ +┃ main ┃ $315 ┃ $338 ┃ $653 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden index d377ee9868c..a0db4d61ae9 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBCassandraKeyspace ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden index 741a0d9498b..55efa9e1cfa 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestHCLAzureRMCosmosDBCassandraKeyspace ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden index e123387c7f7..12ea2433111 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden @@ -104,10 +104,10 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBCassandraTableGoldenFile ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ +┃ main ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_cosmosdb_cassandra_keyspace.no_account as its 'account_name' property could not be found. -WRN Skipping resource azurerm_cosmosdb_cassandra_table.noAccount as its 'cassandra_keyspace_id.account_name' property could not be found. -WRN Skipping resource azurerm_cosmosdb_cassandra_table.noKeyspace as its 'cassandra_keyspace_id' property could not be found. \ No newline at end of file +WARN Skipping resource azurerm_cosmosdb_cassandra_keyspace.no_account as its 'account_name' property could not be found. +WARN Skipping resource azurerm_cosmosdb_cassandra_table.noAccount as its 'cassandra_keyspace_id.account_name' property could not be found. +WARN Skipping resource azurerm_cosmosdb_cassandra_table.noKeyspace as its 'cassandra_keyspace_id' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden index d00a36159cc..da54853f504 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBGremlinDatabaseGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden index ae0e851fd1c..9df5f6350f8 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden @@ -65,5 +65,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBGremlinGraphGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden index 2f26ce6f221..25f4a52b1b7 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden @@ -101,5 +101,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBMongoCollectionGoldenFile ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ +┃ main ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden index d266c598586..608096147b0 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBMongoDatabaseGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden index ffe85492693..7d8998f51bc 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden @@ -67,5 +67,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBSQLContainerGoldenFile ┃ $5,061 ┃ $0.00 ┃ $5,061 ┃ +┃ main ┃ $5,061 ┃ $0.00 ┃ $5,061 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden index b556b7989a2..a3f2282fc31 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden @@ -65,5 +65,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBSQLDatabaseGoldenFile ┃ $5,185 ┃ $0.00 ┃ $5,185 ┃ +┃ main ┃ $5,185 ┃ $0.00 ┃ $5,185 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden index cb1bfb903b1..23afc7c62b5 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden @@ -58,8 +58,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBTableGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_cosmosdb_table.account-in-another-module as its 'account_name' property could not be found. \ No newline at end of file +WARN Skipping resource azurerm_cosmosdb_table.account-in-another-module as its 'account_name' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden index f7820f8ab95..4b8f2151b37 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeAzureSSIS ┃ $27,825 ┃ $0.00 ┃ $27,825 ┃ +┃ main ┃ $27,825 ┃ $0.00 ┃ $27,825 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden index ab0ed3414fb..974f0a6a0dc 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden @@ -45,15 +45,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeAzure ┃ $74,648 ┃ $10 ┃ $74,658 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (Compute Optimized, 16 vCores)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (General Purpose, 8 vCores)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (General Purpose, 8 vCores)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (Memory Optimized, 272 vCores)' due to limitations in the Azure API. -WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.co Compute (Compute Optimized, 16 vCores), using the first product -WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.default_with_usage Compute (General Purpose, 8 vCores), using the first product -WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.gp Compute (General Purpose, 8 vCores), using the first product -WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.mo Compute (Memory Optimized, 272 vCores), using the first product \ No newline at end of file +┃ main ┃ $74,648 ┃ $10 ┃ $74,658 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden index 82131d45c39..4c3c74a2ec4 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeManaged ┃ $32,752 ┃ $10 ┃ $32,762 ┃ +┃ main ┃ $32,752 ┃ $10 ┃ $32,762 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden index 18dd2a24fd8..e5f2e72f6e5 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeSelfHosted ┃ $149 ┃ $15 ┃ $164 ┃ +┃ main ┃ $149 ┃ $15 ┃ $164 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden index f67db654561..c17d979090c 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactory ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden index 971e59d71d7..4f141df2ebb 100644 --- a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDatabricksWorkspaceGoldenFile ┃ $0.00 ┃ $1,995 ┃ $1,995 ┃ +┃ main ┃ $0.00 ┃ $1,995 ┃ $1,995 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden index cc2ff5098b2..3a94d2206b2 100644 --- a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden index bbfafb0f7c6..ce6b63b7854 100644 --- a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSaaaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden index b78637a750a..ad6768f61c9 100644 --- a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNScaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden index 007fd400886..0af54e8059f 100644 --- a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNScnameRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden index 72bd714a29e..6fd013d4397 100644 --- a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSmxRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden index 62c27d8ae94..1657d06f842 100644 --- a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSnsRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden index 25297ed5913..04d1c8d418c 100644 --- a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSptrRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden index 1025ab4fbdb..ca0a3af0f63 100644 --- a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSsrvRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden index f6eb225c7a8..82f3b628c33 100644 --- a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNStxtRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden index 1ba304b2369..e0249c22f62 100644 --- a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSZone ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden index 29d1d50512e..14ad33474e0 100644 --- a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden @@ -46,5 +46,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMEventHubs ┃ $24,912 ┃ $0.00 ┃ $24,912 ┃ +┃ main ┃ $24,912 ┃ $0.00 ┃ $24,912 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden index dc55bf3d51b..c501a0a41e4 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEventgridSystemTopic ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ +┃ main ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden index 69b90e4e66b..e355560ed24 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEventgridTopic ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ +┃ main ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden index 20f4cb6b6fa..3d978ec8940 100644 --- a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestExpressRouteConnectionGoldenFile ┃ $343 ┃ $0.00 ┃ $343 ┃ +┃ main ┃ $343 ┃ $0.00 ┃ $343 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden index dfbff129942..ff67e21c0d4 100644 --- a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestExpressRouteGatewayGoldenFile ┃ $1,226 ┃ $0.00 ┃ $1,226 ┃ +┃ main ┃ $1,226 ┃ $0.00 ┃ $1,226 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden index 903d8885555..57dcecacbf7 100644 --- a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden +++ b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFederatedIdentityCredential ┃ $0.00 ┃ $2 ┃ $2 ┃ +┃ main ┃ $0.00 ┃ $2 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden index d404ef7cea8..e899f5add0b 100644 --- a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden +++ b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMFirewall ┃ $6,256 ┃ $0.00 ┃ $6,256 ┃ +┃ main ┃ $6,256 ┃ $0.00 ┃ $6,256 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden index 393e5d4836c..f6301cf6874 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFrontdoorFirewallPolicyGoldenFile ┃ $94 ┃ $1 ┃ $95 ┃ +┃ main ┃ $94 ┃ $1 ┃ $95 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden index 7bc1dfc3e03..e89edc84c85 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFrontdoorGoldenFile ┃ $190 ┃ $27,210 ┃ $27,400 ┃ +┃ main ┃ $190 ┃ $27,210 ┃ $27,400 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden index 8d88298fb18..4cfc9ea9a84 100644 --- a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppFunctionGoldenFile ┃ $1,104 ┃ $31 ┃ $1,135 ┃ +┃ main ┃ $1,104 ┃ $31 ┃ $1,135 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden index fa63e919ef1..4d3cf9f3293 100644 --- a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden @@ -183,5 +183,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxAppFunctionGoldenFile ┃ $13,248 ┃ $118 ┃ $13,366 ┃ +┃ main ┃ $13,248 ┃ $118 ┃ $13,366 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden index fbbb606c0d4..c14e2294d51 100644 --- a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden @@ -183,5 +183,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsAppFunctionGoldenFile ┃ $13,248 ┃ $118 ┃ $13,366 ┃ +┃ main ┃ $13,248 ┃ $118 ┃ $13,366 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden index 9e8bbec5bbf..07b612eeb13 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightHadoopClusterGoldenFile ┃ $3,968 ┃ $0.00 ┃ $3,968 ┃ +┃ main ┃ $3,968 ┃ $0.00 ┃ $3,968 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden index 036fa2aeb37..aa72801a47b 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightHBaseClusterGoldenFile ┃ $3,907 ┃ $0.00 ┃ $3,907 ┃ +┃ main ┃ $3,907 ┃ $0.00 ┃ $3,907 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden index e53fdb14667..653a82bf258 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden @@ -25,8 +25,8 @@ ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightInteractiveQueryClusterGoldenFile ┃ $15,853 ┃ $0.00 ┃ $15,853 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $15,853 ┃ $0.00 ┃ $15,853 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden index 05fa19c2a97..5e1d45beb3b 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden @@ -44,5 +44,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightKafkaClusterGoldenFile ┃ $27,535 ┃ $0.00 ┃ $27,535 ┃ +┃ main ┃ $27,535 ┃ $0.00 ┃ $27,535 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden index 4848a6330ba..992fce8d8fc 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightSparkClusterGoldenFile ┃ $8,620 ┃ $0.00 ┃ $8,620 ┃ +┃ main ┃ $8,620 ┃ $0.00 ┃ $8,620 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/image_test/image_test.golden b/internal/providers/terraform/azure/testdata/image_test/image_test.golden index 5e61c5afe6f..c9d29b6d9ec 100644 --- a/internal/providers/terraform/azure/testdata/image_test/image_test.golden +++ b/internal/providers/terraform/azure/testdata/image_test/image_test.golden @@ -79,5 +79,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestImage ┃ $334 ┃ $0.00 ┃ $334 ┃ +┃ main ┃ $334 ┃ $0.00 ┃ $334 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden index 68246d4b389..2585a336818 100644 --- a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAIntegrationServiceEnvironment ┃ $17,715 ┃ $0.00 ┃ $17,715 ┃ +┃ main ┃ $17,715 ┃ $0.00 ┃ $17,715 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden index 007c1337e95..d54c0b03196 100644 --- a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden +++ b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestIoTHub ┃ $125 ┃ $1 ┃ $126 ┃ +┃ main ┃ $125 ┃ $1 ┃ $126 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden index e878c46d81e..5ff950bcd37 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultCertificate ┃ $601 ┃ $0.00 ┃ $601 ┃ +┃ main ┃ $601 ┃ $0.00 ┃ $601 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden index 4157d0bffbe..af3a611ddc6 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultKey ┃ $12,814 ┃ $0.00 ┃ $12,814 ┃ +┃ main ┃ $12,814 ┃ $0.00 ┃ $12,814 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden index 9d44f817b15..22b0b1d0ad5 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultManagedHSMPools ┃ $3,541 ┃ $0.00 ┃ $3,541 ┃ +┃ main ┃ $3,541 ┃ $0.00 ┃ $3,541 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden index aa0b62096c9..c56962e6982 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden @@ -60,5 +60,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMKubernetesClusterNodePoolGoldenFile ┃ $1,320 ┃ $0.00 ┃ $1,320 ┃ +┃ main ┃ $1,320 ┃ $0.00 ┃ $1,320 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden index 4be2b235ab0..2caf61bbaec 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMKubernetesClusterGoldenFile ┃ $2,835 ┃ $0.50 ┃ $2,836 ┃ +┃ main ┃ $2,835 ┃ $0.50 ┃ $2,836 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden index a291b8df882..446a2cf42ea 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerOutboundRuleGoldenFile ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden index 79bea07cfec..446a2cf42ea 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerOutboundRuleV2GoldenFile ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden index 0d20f2cae20..9291f811f77 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerRuleGoldenFile ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden index bef9d11e1c0..9291f811f77 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerRuleV2GoldenFile ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden index 7edd6b3ffcc..4e9831e4196 100644 --- a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerGoldenFile ┃ $0.00 ┃ $0.50 ┃ $0.50 ┃ +┃ main ┃ $0.00 ┃ $0.50 ┃ $0.50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden index 0c6d3af10fe..22159862d8d 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxVirtualMachineScaleSetGoldenFile ┃ $414 ┃ $0.00 ┃ $414 ┃ +┃ main ┃ $414 ┃ $0.00 ┃ $414 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden index 2452d9072ed..6f2ba90c616 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden @@ -59,5 +59,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxVirtualMachineGoldenFile ┃ $446 ┃ $0.00 ┃ $446 ┃ +┃ main ┃ $446 ┃ $0.00 ┃ $446 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden index 468c4d509c5..54656c0276a 100644 --- a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden @@ -127,11 +127,11 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLogAnalyticsWorkspaceGoldenFile ┃ $22,756 ┃ $234 ┃ $22,990 ┃ +┃ main ┃ $22,756 ┃ $234 ┃ $22,990 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["PerNode"] as it uses legacy pricing options -WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Premium"] as it uses legacy pricing options -WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Standard"] as it uses legacy pricing options -WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Unlimited"] as it uses legacy pricing options \ No newline at end of file +WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["PerNode"] as it uses legacy pricing options +WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Premium"] as it uses legacy pricing options +WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Standard"] as it uses legacy pricing options +WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Unlimited"] as it uses legacy pricing options \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden index 93758a04840..65ef0d2cc87 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLogicAppIntegrationAccount ┃ $1,300 ┃ $0.00 ┃ $1,300 ┃ +┃ main ┃ $1,300 ┃ $0.00 ┃ $1,300 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden index c0262c16bd3..bbc4df84a91 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden @@ -57,5 +57,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLogicAppStandard ┃ $1,620 ┃ $2,500 ┃ $4,120 ┃ +┃ main ┃ $1,620 ┃ $2,500 ┃ $4,120 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden index d856cdde7e1..27db7f2885c 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden @@ -237,5 +237,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMachineLearningComputeCluster ┃ $498,346 ┃ $0.00 ┃ $498,346 ┃ +┃ main ┃ $498,346 ┃ $0.00 ┃ $498,346 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden index 719f36d3580..47eca7baf6d 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMachineLearningComputeInstance ┃ $17,165 ┃ $0.00 ┃ $17,165 ┃ +┃ main ┃ $17,165 ┃ $0.00 ┃ $17,165 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden index 4233fd91b3a..45f9de9eae3 100644 --- a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden +++ b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMManagedDiskGoldenFile ┃ $534 ┃ $0.00 ┃ $534 ┃ +┃ main ┃ $534 ┃ $0.00 ┃ $534 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden index 135dde78b3e..2a4597e7f41 100644 --- a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMariaDBServer ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden index 8b8148b1b8b..3031466a5c0 100644 --- a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorActionGroup ┃ $0.00 ┃ $4,682 ┃ $4,682 ┃ +┃ main ┃ $0.00 ┃ $4,682 ┃ $4,682 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden index 0563809fa99..c0832b66f0c 100644 --- a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorDataCollectionRule ┃ $0.00 ┃ $2 ┃ $2 ┃ +┃ main ┃ $0.00 ┃ $2 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden index b1b794fc693..9807af547aa 100644 --- a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorDiagnosticSetting ┃ $0.00 ┃ $325 ┃ $325 ┃ +┃ main ┃ $0.00 ┃ $325 ┃ $325 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden index 832394edf91..2f3faf99307 100644 --- a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorMetricAlert ┃ $2 ┃ $0.00 ┃ $2 ┃ +┃ main ┃ $2 ┃ $0.00 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden index 5527cf85129..2c6e947bbfa 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorScheduledQueryRulesAlert ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden index 534904bbf6c..23b72693657 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorScheduledQueryRulesAlertV2 ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden index c7cee7b4064..9b4d8e55ac7 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden @@ -128,35 +128,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSSQLDatabase ┃ $30,593 ┃ $992 ┃ $31,585 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_8)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_M_8)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. -WRN Multiple products with prices found for azurerm_mssql_database.backup_default Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.backup_geo Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.backup_local Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.backup_zone Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.blank_sku Compute (serverless, GP_S_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.business_critical_gen Compute (provisioned, BC_Gen5_8), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.business_critical_m Compute (provisioned, BC_M_8), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_without_license Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_zone Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_zone Zone redundancy (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.serverless Compute (serverless, GP_S_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.serverless_zone Compute (serverless, GP_S_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.serverless_zone Zone redundancy (serverless, GP_S_Gen5_4), using the first product \ No newline at end of file +┃ main ┃ $30,593 ┃ $992 ┃ $31,585 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden index 16a93e46b53..a20086db0db 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden @@ -18,8 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSSQLDatabaseWithBlankLocation ┃ $147 ┃ $0.00 ┃ $147 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN Using eastus for resource azurerm_mssql_database.blank_server_location as its 'location' property could not be found. \ No newline at end of file +┃ main ┃ $147 ┃ $0.00 ┃ $147 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden index ffc6d02a6bf..ab01089b151 100644 --- a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden @@ -49,18 +49,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSSQLElasticPool ┃ $19,409 ┃ $143 ┃ $19,552 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (BC_DC, 8 vCore)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (BC_DC, 8 vCore)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. -WRN Multiple products with prices found for azurerm_mssql_elasticpool.bc_dc Compute (BC_DC, 8 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.bc_dc_zone_redundant Compute (BC_DC, 8 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5 Compute (GP_Gen5, 4 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_no_license Compute (GP_Gen5, 4 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_redundant Compute (GP_Gen5, 4 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_redundant Zone redundancy (GP_Gen5, 4 vCore), using the first product \ No newline at end of file +┃ main ┃ $19,409 ┃ $143 ┃ $19,552 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden index 85a0605a907..faa7a2ad276 100644 --- a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSSQLManagedInstance ┃ $12,528 ┃ $31 ┃ $12,559 ┃ +┃ main ┃ $12,528 ┃ $31 ┃ $12,559 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden index ac1f545ae81..b91a967e58d 100644 --- a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMySQLFlexibleServer ┃ $1,988 ┃ $570 ┃ $2,558 ┃ +┃ main ┃ $1,988 ┃ $570 ┃ $2,558 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden index c491fa862cc..7d74fad7e9a 100644 --- a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden @@ -38,12 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMySQLServer_usage ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (B_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (MO_Gen5_16)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (MO_Gen5_16)' due to limitations in the Azure API. \ No newline at end of file +┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden index 2c209119be1..ad0a306d48a 100644 --- a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMNATGateway ┃ $74 ┃ $0.00 ┃ $74 ┃ +┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden index e8a3a4b7417..cfa70cba579 100644 --- a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden +++ b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkConnectionMonitor ┃ $0.00 ┃ $155,511 ┃ $155,511 ┃ +┃ main ┃ $0.00 ┃ $155,511 ┃ $155,511 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden index 21441406e60..e192c92b122 100644 --- a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkDdosProtectionPlan ┃ $5,887 ┃ $147 ┃ $6,034 ┃ +┃ main ┃ $5,887 ┃ $147 ┃ $6,034 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden index c0f04b80b4a..77052a990b6 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden @@ -35,5 +35,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkWatcherFlowLog ┃ $0.00 ┃ $162 ┃ $162 ┃ +┃ main ┃ $0.00 ┃ $162 ┃ $162 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden index c8012e3c4dc..decf6051bc8 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkWatcher ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden index fe20fc99e26..108707a6f05 100644 --- a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden @@ -45,5 +45,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMNotificationHubNamespace ┃ $2,815 ┃ $0.00 ┃ $2,815 ┃ +┃ main ┃ $2,815 ┃ $0.00 ┃ $2,815 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden index f4febbead28..e104a86bc31 100644 --- a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPointToSiteVpnGatewayGoldenFile ┃ $2,635 ┃ $0.11 ┃ $2,635 ┃ +┃ main ┃ $2,635 ┃ $0.11 ┃ $2,635 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden index 2a0ba911a82..2398d42beea 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPostgreSQLFlexibleServer ┃ $2,160 ┃ $1,425 ┃ $3,585 ┃ +┃ main ┃ $2,160 ┃ $1,425 ┃ $3,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden index 000384b8ce3..6e2a11e8ae3 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPostgreSQLServer ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden index c6c94347c19..3c1da098e81 100644 --- a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden +++ b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPowerBIEmbedded ┃ $12,504 ┃ $0.00 ┃ $12,504 ┃ +┃ main ┃ $12,504 ┃ $0.00 ┃ $12,504 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden index ef03a498baf..70516311420 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden index 51b5fc08557..3ad4973c3cb 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSaaaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden index 379b06a1a0b..7a786f8be90 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNScnameRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden index 22c1831da61..2eda30a7ec9 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSmxRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden index 76f6fb6c2b2..95b47504684 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSptrRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden index bdbc133dba9..068d0a92ba2 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverDnsForwardingRuleset ┃ $183 ┃ $0.00 ┃ $183 ┃ +┃ main ┃ $183 ┃ $0.00 ┃ $183 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden index a3954595428..7ef46c32fcc 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverInboundEndpoint ┃ $180 ┃ $0.00 ┃ $180 ┃ +┃ main ┃ $180 ┃ $0.00 ┃ $180 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden index 6f32d993cb6..ad3203482d6 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverOutboundEndpoint ┃ $180 ┃ $0.00 ┃ $180 ┃ +┃ main ┃ $180 ┃ $0.00 ┃ $180 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden index e7d535e8635..0d3c53255fa 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSsrvRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden index 15d8349faa0..69eaa9e9879 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNStxtRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden index f43e9414659..24659a22d72 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSZone ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden index 642ef141a4b..cb6e63ff419 100644 --- a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewAzureRMPrivateEndpoint ┃ $68,991 ┃ $0.00 ┃ $68,991 ┃ +┃ main ┃ $68,991 ┃ $0.00 ┃ $68,991 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden index 98fd8b234b2..b4bcd24dc25 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPublicIPPrefix ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden index 510ee874080..565001c85cc 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPublicIP ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden index 11d5525db70..76c85f29acf 100644 --- a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden +++ b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden @@ -214,67 +214,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRecoveryServicesVault ┃ $302 ┃ $1,247 ┃ $1,549 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-true"] Instance backup (under 500 GB), using the first product \ No newline at end of file +┃ main ┃ $302 ┃ $1,247 ┃ $1,549 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden index 0740101ed6f..77d00a64b97 100644 --- a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden +++ b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRedisCacheGoldenFile ┃ $15,865 ┃ $0.00 ┃ $15,865 ┃ +┃ main ┃ $15,865 ┃ $0.00 ┃ $15,865 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden index f157c4ed48a..8534b2eeecd 100644 --- a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden +++ b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureSearchServiceGoldenFile ┃ $16,131 ┃ $0.00 ┃ $16,131 ┃ +┃ main ┃ $16,131 ┃ $0.00 ┃ $16,131 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden index 33106455bb0..940b7cde3a9 100644 --- a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden +++ b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden @@ -101,9 +101,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSecurityCenterSubscriptionPricing ┃ $0.00 ┃ $894 ┃ $894 ┃ +┃ main ┃ $0.00 ┃ $894 ┃ $894 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_security_center_subscription_pricing.standard_example["CloudPosture"]. Unknown resource tyoe 'CloudPosture' -WRN Skipping resource azurerm_security_center_subscription_pricing.standard_example_with_usage["CloudPosture"]. Unknown resource tyoe 'CloudPosture' \ No newline at end of file +WARN Skipping resource azurerm_security_center_subscription_pricing.standard_example["CloudPosture"]. Unknown resource tyoe 'CloudPosture' +WARN Skipping resource azurerm_security_center_subscription_pricing.standard_example_with_usage["CloudPosture"]. Unknown resource tyoe 'CloudPosture' \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden index 0ed0f473287..b683f6bc3bb 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAwsCloudTrail ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden index c3c32cb5e06..cebeb9a817c 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureActiveDirectory ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden index 3e934450d67..d8ef63a8b8a 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden @@ -30,8 +30,8 @@ ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureAdvancedThreatProtection ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden index 46aabefe8d3..e1a4644ced6 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureSecurityCenter ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden index 02f4d3c2e0f..8e99cd9d662 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorMicrosoftCloudAppSecurity ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden index 324e001fcab..8bbdbc9cbbf 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden @@ -30,8 +30,8 @@ ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorMicros...fenderAdvancedThreatProtection ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden index 83e82b32230..712e4c496ec 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorOffice365 ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden index d3106afd851..f3b069a54ad 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorThreatIntelligence ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden index 290bb5343e1..f5cf387a211 100644 --- a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden @@ -823,13 +823,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMServicePlan ┃ $611,321 ┃ $0.00 ┃ $611,321 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.1"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.2"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.3"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.1"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.2"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.3"] Instance usage (F1), using the first price \ No newline at end of file +┃ main ┃ $611,321 ┃ $0.00 ┃ $611,321 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden index ac411d2cb7d..4036dee6ccb 100644 --- a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestServiceBusNamespace ┃ $41,998 ┃ $22,890 ┃ $64,888 ┃ +┃ main ┃ $41,998 ┃ $22,890 ┃ $64,888 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden index e5ebf965d27..c841f85077b 100644 --- a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden +++ b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSignalRService ┃ $659 ┃ $14 ┃ $672 ┃ +┃ main ┃ $659 ┃ $14 ┃ $672 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden index 8623cc17423..e74e3498b62 100644 --- a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden +++ b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSnapshot ┃ $40 ┃ $0.00 ┃ $40 ┃ +┃ main ┃ $40 ┃ $0.00 ┃ $40 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden index 4b107b8df2a..c33b044aa0e 100644 --- a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden @@ -89,27 +89,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSQLDatabase ┃ $7,197 ┃ $631 ┃ $7,828 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. -WRN Multiple products with prices found for azurerm_sql_database.backup Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_sql_database.default_sql_database Compute (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.serverless Compute (serverless, GP_S_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_critical Compute (provisioned, BC_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_critical_zone_redundant Compute (provisioned, BC_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen Compute (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen_zone_redundant Compute (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen_zone_redundant Zone redundancy (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_max_size Compute (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_service_object_name Compute (provisioned, BC_Gen5_2), using the first product \ No newline at end of file +┃ main ┃ $7,197 ┃ $631 ┃ $7,828 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden index 9c8db6d1efa..03ea6ec0dc4 100644 --- a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSQLElasticPool ┃ $3,326 ┃ $143 ┃ $3,469 ┃ +┃ main ┃ $3,326 ┃ $143 ┃ $3,469 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden index 06afd575a6d..54c77fae999 100644 --- a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSQLManagedInstance ┃ $12,528 ┃ $31 ┃ $12,559 ┃ +┃ main ┃ $12,528 ┃ $31 ┃ $12,559 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden index fae48b9373d..14bbb773467 100644 --- a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden @@ -405,8 +405,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureStorageAccountGoldenFile ┃ $0.00 ┃ $7,635,981 ┃ $7,635,981 ┃ +┃ main ┃ $0.00 ┃ $7,635,981 ┃ $7,635,981 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_storage_account.unsupported. BlockBlobStorage Premium doesn't support GRS redundancy \ No newline at end of file +WARN Skipping resource azurerm_storage_account.unsupported. BlockBlobStorage Premium doesn't support GRS redundancy \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden index f377094ee74..bb40dd3eb66 100644 --- a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden @@ -126,9 +126,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestStorageQueue ┃ $0.00 ┃ $1,803 ┃ $1,803 ┃ +┃ main ┃ $0.00 ┃ $1,803 ┃ $1,803 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_storage_account.unsupported. Storage Standard doesn't support GZRS redundancy -WRN Skipping resource azurerm_storage_queue.unsupported. Storage Queues don't support GZRS redundancy \ No newline at end of file +WARN Skipping resource azurerm_storage_account.unsupported. Storage Standard doesn't support GZRS redundancy +WARN Skipping resource azurerm_storage_queue.unsupported. Storage Queues don't support GZRS redundancy \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden index d406013f122..3b32fae7aca 100644 --- a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden @@ -142,8 +142,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestStorageShare ┃ $0.00 ┃ $946,945 ┃ $946,945 ┃ +┃ main ┃ $0.00 ┃ $946,945 ┃ $946,945 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_storage_share.unsupported. Premium access tier is only supported for FileStorage accounts \ No newline at end of file +WARN Skipping resource azurerm_storage_share.unsupported. Premium access tier is only supported for FileStorage accounts \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden index 71238cf2831..fcad93b8b7b 100644 --- a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseSparkPool ┃ $98 ┃ $0.00 ┃ $98 ┃ +┃ main ┃ $98 ┃ $0.00 ┃ $98 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden index b3dad23620e..0fa3bc2b811 100644 --- a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseSQLPool ┃ $6,771 ┃ $0.00 ┃ $6,771 ┃ +┃ main ┃ $6,771 ┃ $0.00 ┃ $6,771 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden index 18087ecd213..6e46e9b9dc4 100644 --- a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseWorkspace ┃ $127 ┃ $0.00 ┃ $127 ┃ +┃ main ┃ $127 ┃ $0.00 ┃ $127 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden index 233c576f0d0..c3859420568 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTrafficManagerAzureEndpoint ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden index 82fba0d4f6f..c81d779be64 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTrafficManagerExternalEndpoint ┃ $7 ┃ $0.00 ┃ $7 ┃ +┃ main ┃ $7 ┃ $0.00 ┃ $7 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden index 4f5364a5723..3ffe6d7164c 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTrafficManagerNestedEndpoint ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden index ff0cc15a72b..43a8c2587f3 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTrafficManagerProfile ┃ $0.00 ┃ $653 ┃ $653 ┃ +┃ main ┃ $0.00 ┃ $653 ┃ $653 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden index e3609bd339f..fc594e319c0 100644 --- a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVirtualHubGoldenFile ┃ $365 ┃ $2 ┃ $367 ┃ +┃ main ┃ $365 ┃ $2 ┃ $367 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden index 2a69fd46134..9fe283e9782 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureVirtualMachineScaleSetGoldenFile ┃ $427 ┃ $0.55 ┃ $428 ┃ +┃ main ┃ $427 ┃ $0.55 ┃ $428 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden index 9e399015d99..65cafdecd24 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureVirtualMachineGoldenFile ┃ $408 ┃ $0.55 ┃ $408 ┃ +┃ main ┃ $408 ┃ $0.55 ┃ $408 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden index 926faf36e9b..46a80cc043b 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden @@ -69,5 +69,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMVirtualNetworkGatewayConnection ┃ $5,965 ┃ $0.00 ┃ $5,965 ┃ +┃ main ┃ $5,965 ┃ $0.00 ┃ $5,965 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden index 95d1f00df03..a4c11ebc903 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden @@ -51,5 +51,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMVirtualNetworkGateway ┃ $49,247 ┃ $0.00 ┃ $49,247 ┃ +┃ main ┃ $49,247 ┃ $0.00 ┃ $49,247 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden index 5c603c46abe..2baf27bda85 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVirtualNetworkPeering ┃ $0.00 ┃ $215 ┃ $215 ┃ +┃ main ┃ $0.00 ┃ $215 ┃ $215 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden index 96596c587b3..d4e52aff016 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVpnGatewayConnectionGoldenFile ┃ $300 ┃ $0.00 ┃ $300 ┃ +┃ main ┃ $300 ┃ $0.00 ┃ $300 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden index 48e265a4e0d..0d587e6a56c 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVpnGatewayGoldenFile ┃ $1,054 ┃ $0.00 ┃ $1,054 ┃ +┃ main ┃ $1,054 ┃ $0.00 ┃ $1,054 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden index c5862b605a9..42a53c92790 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsVirtualMachineScaleSetGoldenFile ┃ $690 ┃ $0.00 ┃ $690 ┃ +┃ main ┃ $690 ┃ $0.00 ┃ $690 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden index 08567993c3d..f80c551e1bf 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden @@ -54,5 +54,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsVirtualMachineGoldenFile ┃ $1,958 ┃ $0.00 ┃ $1,958 ┃ +┃ main ┃ $1,958 ┃ $0.00 ┃ $1,958 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/util.go b/internal/providers/terraform/azure/util.go index b6240ca0ab1..9916094edfa 100644 --- a/internal/providers/terraform/azure/util.go +++ b/internal/providers/terraform/azure/util.go @@ -5,9 +5,9 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -49,7 +49,7 @@ func lookupRegion(d *schema.ResourceData, parentResourceKeys []string) string { // When all else fails use the default region defaultRegion := toAzureCLIName(d.Get("region").String()) - log.Warn().Msgf("Using %s for resource %s as its 'location' property could not be found.", defaultRegion, d.Address) + logging.Logger.Debug().Msgf("Using %s for resource %s as its 'location' property could not be found.", defaultRegion, d.Address) return defaultRegion } diff --git a/internal/providers/terraform/cloud.go b/internal/providers/terraform/cloud.go index 2c5e6dd14a7..81c425470b9 100644 --- a/internal/providers/terraform/cloud.go +++ b/internal/providers/terraform/cloud.go @@ -6,16 +6,16 @@ import ( "net/http" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/credentials" + "github.com/infracost/infracost/internal/logging" ) func cloudAPI(host string, path string, token string) ([]byte, error) { client := &http.Client{} url := fmt.Sprintf("https://%s%s", host, path) - log.Debug().Msgf("Calling Terraform Cloud API: %s", url) + logging.Logger.Debug().Msgf("Calling Terraform Cloud API: %s", url) req, err := http.NewRequest("GET", url, nil) if err != nil { return []byte{}, err diff --git a/internal/providers/terraform/cmd.go b/internal/providers/terraform/cmd.go index 45ea7501375..cbee5aab0bb 100644 --- a/internal/providers/terraform/cmd.go +++ b/internal/providers/terraform/cmd.go @@ -11,7 +11,6 @@ import ( "sync" "github.com/rs/zerolog" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/logging" ) @@ -43,7 +42,7 @@ func Cmd(opts *CmdOptions, args ...string) ([]byte, error) { } cmd := exec.Command(exe, append(args, opts.Flags...)...) - log.Debug().Msgf("Running command: %s", cmd.String()) + logging.Logger.Debug().Msgf("Running command: %s", cmd.String()) cmd.Dir = opts.Dir cmd.Env = os.Environ() @@ -142,27 +141,27 @@ func CreateConfigFile(dir string, terraformCloudHost string, terraformCloudToken return "", nil } - log.Debug().Msg("Creating temporary config file for Terraform credentials") + logging.Logger.Debug().Msg("Creating temporary config file for Terraform credentials") tmpFile, err := os.CreateTemp("", "") if err != nil { return "", err } if os.Getenv("TF_CLI_CONFIG_FILE") != "" { - log.Debug().Msgf("TF_CLI_CONFIG_FILE is set, copying existing config from %s to config to temporary config file %s", os.Getenv("TF_CLI_CONFIG_FILE"), tmpFile.Name()) + logging.Logger.Debug().Msgf("TF_CLI_CONFIG_FILE is set, copying existing config from %s to config to temporary config file %s", os.Getenv("TF_CLI_CONFIG_FILE"), tmpFile.Name()) path := os.Getenv("TF_CLI_CONFIG_FILE") if !filepath.IsAbs(path) { path, err = filepath.Abs(filepath.Join(dir, path)) if err != nil { - log.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) + logging.Logger.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) } } if err == nil { err = copyFile(path, tmpFile.Name()) if err != nil { - log.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) + logging.Logger.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) } } } @@ -183,7 +182,7 @@ func CreateConfigFile(dir string, terraformCloudHost string, terraformCloudToken } `, host, terraformCloudToken) - log.Debug().Msgf("Writing Terraform credentials to temporary config file %s", tmpFile.Name()) + logging.Logger.Debug().Msgf("Writing Terraform credentials to temporary config file %s", tmpFile.Name()) if _, err := f.WriteString(contents); err != nil { return tmpFile.Name(), err } diff --git a/internal/providers/terraform/dir_provider.go b/internal/providers/terraform/dir_provider.go index 0d5e6189d8f..3dc82231ad8 100644 --- a/internal/providers/terraform/dir_provider.go +++ b/internal/providers/terraform/dir_provider.go @@ -18,10 +18,9 @@ import ( "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/credentials" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/ui" - - "github.com/rs/zerolog/log" ) var minTerraformVer = "v0.12" @@ -29,7 +28,6 @@ var minTerraformVer = "v0.12" type DirProvider struct { ctx *config.ProjectContext Path string - spinnerOpts ui.SpinnerOptions IsTerragrunt bool PlanFlags string InitFlags string @@ -55,13 +53,8 @@ func NewDirProvider(ctx *config.ProjectContext, includePastResources bool) schem } return &DirProvider{ - ctx: ctx, - Path: ctx.ProjectConfig.Path, - spinnerOpts: ui.SpinnerOptions{ - EnableLogging: ctx.RunContext.Config.IsLogging(), - NoColor: ctx.RunContext.Config.NoColor, - Indent: " ", - }, + ctx: ctx, + Path: ctx.ProjectConfig.Path, PlanFlags: ctx.ProjectConfig.TerraformPlanFlags, InitFlags: ctx.ProjectConfig.TerraformInitFlags, Workspace: ctx.ProjectConfig.TerraformWorkspace, @@ -74,6 +67,28 @@ func NewDirProvider(ctx *config.ProjectContext, includePastResources bool) schem } } +func (p *DirProvider) ProjectName() string { + if p.ctx.ProjectConfig.Name != "" { + return p.ctx.ProjectConfig.Name + } + + if p.ctx.ProjectConfig.TerraformWorkspace != "" { + return config.CleanProjectName(p.RelativePath()) + "-" + p.ctx.ProjectConfig.TerraformWorkspace + } + + return config.CleanProjectName(p.RelativePath()) +} + +func (p *DirProvider) VarFiles() []string { + return nil +} + +func (p *DirProvider) RelativePath() string { + r, _ := filepath.Rel(p.ctx.RunContext.Config.RepoPath(), p.ctx.ProjectConfig.Path) + + return r +} + func (p *DirProvider) Context() *config.ProjectContext { return p.ctx } func (p *DirProvider) Type() string { @@ -122,7 +137,7 @@ func (p *DirProvider) AddMetadata(metadata *schema.ProjectMetadata) { modulePath, err := filepath.Rel(basePath, metadata.Path) if err == nil && modulePath != "" && modulePath != "." { - log.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) + logging.Logger.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) metadata.TerraformModulePath = modulePath } @@ -135,7 +150,7 @@ func (p *DirProvider) AddMetadata(metadata *schema.ProjectMetadata) { out, err := cmd.Output() if err != nil { - log.Debug().Msgf("Could not detect Terraform workspace for %s", p.Path) + logging.Logger.Debug().Msgf("Could not detect Terraform workspace for %s", p.Path) } terraformWorkspace = strings.Split(string(out), "\n")[0] } @@ -157,12 +172,7 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e return projects, err } - spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") jsons := [][]byte{out} if p.IsTerragrunt { @@ -182,6 +192,7 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e } project := schema.NewProject(name, metadata) + project.DisplayName = p.ProjectName() parser := NewParser(p.ctx, p.includePastResources) @@ -202,7 +213,6 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e projects = append(projects, project) } - spinner.Success() return projects, nil } @@ -212,15 +222,14 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { } if UsePlanCache(p) { - spinner := ui.NewSpinner("Checking for cached plan...", p.spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Checking for cached plan...") cached, err := ReadPlanCache(p) if err != nil { - spinner.SuccessWithMessage(fmt.Sprintf("Checking for cached plan... %v", err.Error())) + logging.Logger.Debug().Msgf("Checking for cached plan... %v", err.Error()) } else { p.cachedPlanJSON = cached - spinner.SuccessWithMessage("Checking for cached plan... found") + logging.Logger.Debug().Msg("Checking for cached plan... found") return p.cachedPlanJSON, nil } } @@ -238,10 +247,7 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - spinner := ui.NewSpinner("Running terraform plan", p.spinnerOpts) - defer spinner.Fail() - - planFile, planJSON, err := p.runPlan(opts, spinner, true) + planFile, planJSON, err := p.runPlan(opts, true) defer os.Remove(planFile) if err != nil { @@ -252,8 +258,7 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { return planJSON, nil } - spinner = ui.NewSpinner("Running terraform show", p.spinnerOpts) - j, err := p.runShow(opts, spinner, planFile, false) + j, err := p.runShow(opts, planFile, false) if err == nil { p.cachedPlanJSON = j if UsePlanCache(p) { @@ -282,10 +287,7 @@ func (p *DirProvider) generateStateJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - spinner := ui.NewSpinner("Running terraform show", p.spinnerOpts) - defer spinner.Fail() - - j, err := p.runShow(opts, spinner, "", true) + j, err := p.runShow(opts, "", true) if err == nil { p.cachedStateJSON = j } @@ -310,7 +312,8 @@ func (p *DirProvider) buildCommandOpts(path string) (*CmdOptions, error) { return opts, nil } -func (p *DirProvider) runPlan(opts *CmdOptions, spinner *ui.Spinner, initOnFail bool) (string, []byte, error) { +func (p *DirProvider) runPlan(opts *CmdOptions, initOnFail bool) (string, []byte, error) { + logging.Logger.Debug().Msg("Running terraform plan") var planJSON []byte fileName := ".tfplan-" + uuid.New().String() @@ -339,21 +342,20 @@ func (p *DirProvider) runPlan(opts *CmdOptions, spinner *ui.Spinner, initOnFail // If the plan returns this error then Terraform is configured with remote execution mode if isTerraformRemoteExecutionErr(extractedErr) { - log.Info().Msg("Continuing with Terraform Remote Execution Mode") + logging.Logger.Debug().Msg("Continuing with Terraform Remote Execution Mode") p.ctx.ContextValues.SetValue("terraformRemoteExecutionModeEnabled", true) planJSON, err = p.runRemotePlan(opts, args) } else if initOnFail && isTerraformInitErr(extractedErr) { - spinner.Stop() - err = p.runInit(opts, ui.NewSpinner("Running terraform init", p.spinnerOpts)) + err = p.runInit(opts) if err != nil { return "", planJSON, err } - return p.runPlan(opts, spinner, false) + return p.runPlan(opts, false) } } if err != nil { - spinner.Fail() + logging.Logger.Debug().Err(err).Msg("Failed terraform plan") err = p.buildTerraformErr(err, false) cmdName := "terraform plan" @@ -364,12 +366,12 @@ func (p *DirProvider) runPlan(opts *CmdOptions, spinner *ui.Spinner, initOnFail return "", planJSON, clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } - spinner.Success() - return fileName, planJSON, nil } -func (p *DirProvider) runInit(opts *CmdOptions, spinner *ui.Spinner) error { +func (p *DirProvider) runInit(opts *CmdOptions) error { + logging.Logger.Debug().Msg("Running terraform init") + args := []string{} if p.IsTerragrunt { args = append(args, "run-all", "--terragrunt-ignore-external-dependencies") @@ -390,7 +392,8 @@ func (p *DirProvider) runInit(opts *CmdOptions, spinner *ui.Spinner) error { _, err = Cmd(opts, args...) if err != nil { - spinner.Fail() + logging.Logger.Debug().Msg("Failed terraform init") + err = p.buildTerraformErr(err, true) cmdName := "terraform init" @@ -401,7 +404,7 @@ func (p *DirProvider) runInit(opts *CmdOptions, spinner *ui.Spinner) error { return clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } - spinner.Success() + logging.Logger.Debug().Msg("Finished running terraform init") return nil } @@ -458,7 +461,8 @@ func (p *DirProvider) runRemotePlan(opts *CmdOptions, args []string) ([]byte, er return cloudAPI(host, jsonPath, token) } -func (p *DirProvider) runShow(opts *CmdOptions, spinner *ui.Spinner, planFile string, initOnFail bool) ([]byte, error) { +func (p *DirProvider) runShow(opts *CmdOptions, planFile string, initOnFail bool) ([]byte, error) { + logging.Logger.Debug().Msg("Running terraform show") args := []string{"show", "-no-color", "-json"} if planFile != "" { args = append(args, planFile) @@ -471,19 +475,18 @@ func (p *DirProvider) runShow(opts *CmdOptions, spinner *ui.Spinner, planFile st // If the plan returns this error then Terraform is configured with remote execution mode if isTerraformRemoteExecutionErr(extractedErr) { - log.Info().Msg("Terraform expected Remote Execution Mode") + logging.Logger.Debug().Msg("Terraform expected Remote Execution Mode") } else if initOnFail && isTerraformInitErr(extractedErr) { - spinner.Stop() - err = p.runInit(opts, ui.NewSpinner("Running terraform init", p.spinnerOpts)) + err = p.runInit(opts) if err != nil { return out, err } - return p.runShow(opts, spinner, planFile, false) + return p.runShow(opts, planFile, false) } } if err != nil { - spinner.Fail() + logging.Logger.Debug().Msg("Failed terraform show") err = p.buildTerraformErr(err, false) cmdName := "terraform show" @@ -493,7 +496,7 @@ func (p *DirProvider) runShow(opts *CmdOptions, spinner *ui.Spinner, planFile st msg := fmt.Sprintf("%s failed", cmdName) return []byte{}, clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } - spinner.Success() + logging.Logger.Debug().Msg("Finished running terraform show") return out, nil } diff --git a/internal/providers/terraform/google/container_cluster.go b/internal/providers/terraform/google/container_cluster.go index b3a622ebeda..f0520ddb93f 100644 --- a/internal/providers/terraform/google/container_cluster.go +++ b/internal/providers/terraform/google/container_cluster.go @@ -3,9 +3,9 @@ package google import ( "fmt" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/google" "github.com/infracost/infracost/internal/schema" ) @@ -58,7 +58,7 @@ func newContainerCluster(d *schema.ResourceData) schema.CoreResource { nameIndex := 0 for _, values := range d.Get("node_pool").Array() { if contains(definedNodePoolNames, values.Get("name").String()) { - log.Debug().Msgf("Skipping node pool with name %s since it is defined in another resource", values.Get("name").String()) + logging.Logger.Debug().Msgf("Skipping node pool with name %s since it is defined in another resource", values.Get("name").String()) continue } diff --git a/internal/providers/terraform/google/container_node_pool.go b/internal/providers/terraform/google/container_node_pool.go index 6583bc51be9..fbb68f3c475 100644 --- a/internal/providers/terraform/google/container_node_pool.go +++ b/internal/providers/terraform/google/container_node_pool.go @@ -1,9 +1,9 @@ package google import ( - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/google" "github.com/infracost/infracost/internal/schema" ) @@ -55,7 +55,7 @@ func newNodePool(address string, d gjson.Result, cluster *schema.ResourceData) * } if region == "" { - log.Warn().Msgf("Skipping resource %s. Unable to determine region", address) + logging.Logger.Warn().Msgf("Skipping resource %s. Unable to determine region", address) return nil } diff --git a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden index 7908fd77770..68506c47182 100644 --- a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden +++ b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestArtifactRegistryRepositoryGoldenFile ┃ $0.00 ┃ $147 ┃ $147 ┃ +┃ main ┃ $0.00 ┃ $147 ┃ $147 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden index 9a2a32a709e..de45e2e77f5 100644 --- a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestBigqueryDataset ┃ $0.00 ┃ $627 ┃ $627 ┃ +┃ main ┃ $0.00 ┃ $627 ┃ $627 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden index 595adf96a0d..1176a29c74c 100644 --- a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestBigqueryTable ┃ $0.00 ┃ $1,164 ┃ $1,164 ┃ +┃ main ┃ $0.00 ┃ $1,164 ┃ $1,164 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden index bbdf508fa22..657d2ba053b 100644 --- a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden +++ b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudFunctions ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden index a0ca6e41294..cecf6f6cb61 100644 --- a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden +++ b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden @@ -43,5 +43,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeAddress ┃ $48 ┃ $0.00 ┃ $48 ┃ +┃ main ┃ $48 ┃ $0.00 ┃ $48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden index 5bf3f6ff468..2478e9f3632 100644 --- a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden +++ b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden @@ -61,5 +61,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeDiskGoldenFile ┃ $18,978 ┃ $5 ┃ $18,982 ┃ +┃ main ┃ $18,978 ┃ $5 ┃ $18,982 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden index 35d688ef812..e34b7badc34 100644 --- a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeExternalVPNGateway ┃ $0.00 ┃ $3,245 ┃ $3,245 ┃ +┃ main ┃ $0.00 ┃ $3,245 ┃ $3,245 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden index 58ed9dd7d71..0367513beae 100644 --- a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden +++ b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeForwardingRule ┃ $22 ┃ $2 ┃ $24 ┃ +┃ main ┃ $22 ┃ $2 ┃ $24 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden index ba1c9907abd..84e6a3fbd1a 100644 --- a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeHAVPNGateway ┃ $0.00 ┃ $47 ┃ $47 ┃ +┃ main ┃ $0.00 ┃ $47 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden index 8137570c0e4..06aabb75ef1 100644 --- a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeImageGoldenFile ┃ $40 ┃ $211 ┃ $251 ┃ +┃ main ┃ $40 ┃ $211 ┃ $251 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden index 39e8068beab..7dd49c053ef 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeInstanceGroupManagerGoldenFile ┃ $2,230 ┃ $0.00 ┃ $2,230 ┃ +┃ main ┃ $2,230 ┃ $0.00 ┃ $2,230 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden index 61cb09f6e2d..875f927baa9 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden @@ -99,8 +99,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeInstanceGoldenFile ┃ $10,250 ┃ $0.00 ┃ $10,250 ┃ +┃ main ┃ $10,250 ┃ $0.00 ┃ $10,250 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource google_compute_instance.e2_custom. Infracost currently does not support E2 custom instances \ No newline at end of file +WARN Skipping resource google_compute_instance.e2_custom. Infracost currently does not support E2 custom instances \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden index a22634983d9..93281cc1050 100644 --- a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeMachineImageGoldenFile ┃ $25 ┃ $250 ┃ $275 ┃ +┃ main ┃ $25 ┃ $250 ┃ $275 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden index 97084fb8ef4..3146da8fc8b 100644 --- a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputePerInstanceConfig ┃ $68 ┃ $0.00 ┃ $68 ┃ +┃ main ┃ $68 ┃ $0.00 ┃ $68 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden index ef243e0be9f..19ca4a14329 100644 --- a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeRegionInstanceGroupManagerGoldenFile ┃ $1,375 ┃ $0.00 ┃ $1,375 ┃ +┃ main ┃ $1,375 ┃ $0.00 ┃ $1,375 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden index a3c60b6ae83..7b4fcb87f7e 100644 --- a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeRegionPerInstanceConfig ┃ $68 ┃ $0.00 ┃ $68 ┃ +┃ main ┃ $68 ┃ $0.00 ┃ $68 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden index 23d61cdfc09..1069a2ecec7 100644 --- a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden +++ b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeRouterNAT ┃ $0.00 ┃ $127 ┃ $127 ┃ +┃ main ┃ $0.00 ┃ $127 ┃ $127 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden index 1def8428b44..fb705f62e53 100644 --- a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden +++ b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeSnapshotGoldenFile ┃ $4 ┃ $29 ┃ $33 ┃ +┃ main ┃ $4 ┃ $29 ┃ $33 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden index 984cb061e17..564e6ea6ee6 100644 --- a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden +++ b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden @@ -44,5 +44,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestСomputeTargetGrpcProxy ┃ $0.00 ┃ $1,309 ┃ $1,309 ┃ +┃ main ┃ $0.00 ┃ $1,309 ┃ $1,309 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden index 370bd2c52bd..b20a52b96f2 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeVPNGateway ┃ $0.00 ┃ $47 ┃ $47 ┃ +┃ main ┃ $0.00 ┃ $47 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden index a933ea80a69..2cf46f5e45a 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeVPNTunnel ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden index 20f87a7cc7d..ca616ffeda4 100644 --- a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden +++ b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden @@ -149,8 +149,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestContainerClusterGoldenFile ┃ $27,590 ┃ $509 ┃ $28,099 ┃ +┃ main ┃ $27,590 ┃ $509 ┃ $28,099 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource node_pool[0]. Infracost currently does not support E2 custom instances \ No newline at end of file +WARN Skipping resource node_pool[0]. Infracost currently does not support E2 custom instances \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden index d93698ec202..83fddf1a255 100644 --- a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden +++ b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden @@ -133,5 +133,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestContainerNodePoolGoldenFile ┃ $27,982 ┃ $0.00 ┃ $27,982 ┃ +┃ main ┃ $27,982 ┃ $0.00 ┃ $27,982 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden index 4c3bd0f2ceb..8dd0fa1d20b 100644 --- a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestContainerRegistryGoldenFile ┃ $0.00 ┃ $1,567 ┃ $1,567 ┃ +┃ main ┃ $0.00 ┃ $1,567 ┃ $1,567 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden index 3bf3cdb5e6c..66c429ba95b 100644 --- a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden +++ b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDNSManagedZoneGoldenFile ┃ $0.20 ┃ $0.00 ┃ $0.20 ┃ +┃ main ┃ $0.20 ┃ $0.00 ┃ $0.20 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden index c2b0465d412..f8fd2da773a 100644 --- a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden +++ b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDNSRecordSetGoldenFile ┃ $0.00 ┃ $0.04 ┃ $0.04 ┃ +┃ main ┃ $0.00 ┃ $0.04 ┃ $0.04 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden index 8fd252af3b8..6e45823ba41 100644 --- a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden +++ b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKMSCryptoKeyGoldenFile ┃ $0.00 ┃ $8,002 ┃ $8,002 ┃ +┃ main ┃ $0.00 ┃ $8,002 ┃ $8,002 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden index 6f0fce241f8..55cd6403747 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingBillingAccountBucketConfigGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden index 262e150882b..b79131e0789 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingBillingAccountSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden index c86b05f021e..2824914a48a 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden index 5350e3f2a2f..f63eef38e8e 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingFolderSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden index 0e2f58cb3c3..5e9d35938d1 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingOrgFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden index 9986664abf3..e4b74497b1e 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingOrgSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden index bb028323b02..d82f3e1ceff 100644 --- a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingProjectFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden index ff6a74010ca..7a9ee8788ae 100644 --- a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingProjectSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden index 681e630a303..9031758fdad 100644 --- a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden +++ b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitoring ┃ $0.00 ┃ $63,710 ┃ $63,710 ┃ +┃ main ┃ $0.00 ┃ $63,710 ┃ $63,710 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden index c9a6087f3e6..d37407274f2 100644 --- a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPubSubSubscription ┃ $0.00 ┃ $414 ┃ $414 ┃ +┃ main ┃ $0.00 ┃ $414 ┃ $414 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden index 1d44d2e55ae..b26b3735ae2 100644 --- a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPubSubTopic ┃ $0.00 ┃ $400 ┃ $400 ┃ +┃ main ┃ $0.00 ┃ $400 ┃ $400 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden index 18fc8fee198..8c7b63fe249 100644 --- a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden +++ b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRedisInstance ┃ $6,937 ┃ $0.00 ┃ $6,937 ┃ +┃ main ┃ $6,937 ┃ $0.00 ┃ $6,937 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden index a7282129064..0566c7cff0f 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSecretManagerSecretGoldenFile ┃ $0.00 ┃ $786 ┃ $786 ┃ +┃ main ┃ $0.00 ┃ $786 ┃ $786 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden index 5480f43d966..0a454329d46 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSecretManagerSecretVersionGoldenFile ┃ $0.30 ┃ $0.08 ┃ $0.38 ┃ +┃ main ┃ $0.30 ┃ $0.08 ┃ $0.38 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden index 27cfda6a918..a0100fb8a75 100644 --- a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden +++ b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestServiceNetworkingConnectionGoldenFile ┃ $47 ┃ $0.00 ┃ $47 ┃ +┃ main ┃ $47 ┃ $0.00 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden index f45ff3f07c7..7cd30142005 100644 --- a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden +++ b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden @@ -1119,8 +1119,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewSQLInstance ┃ $221,684 ┃ $80 ┃ $221,764 ┃ +┃ main ┃ $221,684 ┃ $80 ┃ $221,764 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN edition ENTERPRISE_PLUS of google_sql_database_instance.enterprise_plus is not yet supported \ No newline at end of file +WARN edition ENTERPRISE_PLUS of google_sql_database_instance.enterprise_plus is not yet supported \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden index 5ff98f067cd..e299ba0ec52 100644 --- a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden +++ b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden @@ -52,5 +52,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestStorageBucket ┃ $0.00 ┃ $3,136 ┃ $3,136 ┃ +┃ main ┃ $0.00 ┃ $3,136 ┃ $3,136 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/hcl_provider.go b/internal/providers/terraform/hcl_provider.go index 173ec309ae1..f84beb5c041 100644 --- a/internal/providers/terraform/hcl_provider.go +++ b/internal/providers/terraform/hcl_provider.go @@ -27,7 +27,6 @@ import ( "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) var json = jsoniter.ConfigCompatibleWithStandardLibrary @@ -184,9 +183,21 @@ func NewHCLProvider(ctx *config.ProjectContext, rootPath hcl.RootPath, config *H func (p *HCLProvider) Context() *config.ProjectContext { return p.ctx } func (p *HCLProvider) ProjectName() string { + if p.ctx.ProjectConfig.Name != "" { + return p.ctx.ProjectConfig.Name + } + + if p.ctx.ProjectConfig.TerraformWorkspace != "" { + return p.Parser.ProjectName() + "-" + p.ctx.ProjectConfig.TerraformWorkspace + } + return p.Parser.ProjectName() } +func (p *HCLProvider) VarFiles() []string { + return p.Parser.VarFiles() +} + func (p *HCLProvider) EnvName() string { return p.Parser.EnvName() } @@ -195,16 +206,12 @@ func (p *HCLProvider) RelativePath() string { return p.Parser.RelativePath() } -func (p *HCLProvider) TerraformVarFiles() []string { - return p.Parser.TerraformVarFiles() -} - func (p *HCLProvider) YAML() string { return p.Parser.YAML() } func (p *HCLProvider) Type() string { return "terraform_dir" } -func (p *HCLProvider) DisplayType() string { return "Terraform directory" } +func (p *HCLProvider) DisplayType() string { return "Terraform" } func (p *HCLProvider) AddMetadata(metadata *schema.ProjectMetadata) { metadata.ConfigSha = p.ctx.ProjectConfig.ConfigSha @@ -285,7 +292,9 @@ func (p *HCLProvider) newProject(parsed HCLProject) *schema.Project { } } - return schema.NewProject(name, metadata) + project := schema.NewProject(name, metadata) + project.DisplayName = p.ProjectName() + return project } func (p *HCLProvider) printWarning(warning *schema.ProjectDiag) { @@ -295,12 +304,7 @@ func (p *HCLProvider) printWarning(warning *schema.ProjectDiag) { return } - if p.ctx.RunContext.Config.IsLogging() { - logging.Logger.Warn().Msg(warning.FriendlyMessage) - return - } - - ui.PrintWarning(p.ctx.RunContext.ErrWriter, warning.FriendlyMessage) + logging.Logger.Warn().Msg(warning.FriendlyMessage) } type HCLProject struct { diff --git a/internal/providers/terraform/plan_cache.go b/internal/providers/terraform/plan_cache.go index 609ca417246..24529e5e263 100644 --- a/internal/providers/terraform/plan_cache.go +++ b/internal/providers/terraform/plan_cache.go @@ -12,8 +12,7 @@ import ( "github.com/hashicorp/terraform-config-inspect/tfconfig" "github.com/infracost/infracost/internal/config" - - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" ) var cacheFileVersion = "0.1" @@ -42,68 +41,68 @@ type configState struct { func (state *configState) equivalent(otherState *configState) (bool, error) { if state.Version != otherState.Version { - log.Debug().Msgf("Plan cache config state not equivalent: version changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: version changed") return false, fmt.Errorf("version changed") } if state.TerraformPlanFlags != otherState.TerraformPlanFlags { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_plan_flags changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_plan_flags changed") return false, fmt.Errorf("terraform_plan_flags changed") } if state.TerraformUseState != otherState.TerraformUseState { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_use_state changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_use_state changed") return false, fmt.Errorf("terraform_use_state changed") } if state.TerraformWorkspace != otherState.TerraformWorkspace { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_workspace changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_workspace changed") return false, fmt.Errorf("terraform_workspace changed") } if state.TerraformBinary != otherState.TerraformBinary { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_binary changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_binary changed") return false, fmt.Errorf("terraform_binary changed") } if state.TerraformCloudToken != otherState.TerraformCloudToken { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_token changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_token changed") return false, fmt.Errorf("terraform_cloud_token changed") } if state.TerraformCloudHost != otherState.TerraformCloudHost { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_host changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_host changed") return false, fmt.Errorf("terraform_cloud_host changed") } if state.ConfigEnv != otherState.ConfigEnv { - log.Debug().Msgf("Plan cache config state not equivalent: config_env changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: config_env changed") return false, fmt.Errorf("config_env changed") } if state.TFEnv != otherState.TFEnv { - log.Debug().Msgf("Plan cache config state not equivalent: tf_env changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_env changed") return false, fmt.Errorf("tf_env changed") } if state.TFLockFileDate != otherState.TFLockFileDate { - log.Debug().Msgf("Plan cache config state not equivalent: tf_lock_file_date changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_lock_file_date changed") return false, fmt.Errorf("tf_lock_file_date changed") } if state.TFDataDate != otherState.TFDataDate { - log.Debug().Msgf("Plan cache config state not equivalent: tf_data_date changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_data_date changed") return false, fmt.Errorf("tf_data_date changed") } if len(state.TFConfigFileStates) != len(otherState.TFConfigFileStates) { - log.Debug().Msgf("Plan cache config state not equivalent: TFConfigFileStates has changed size") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: TFConfigFileStates has changed size") return false, fmt.Errorf("tf_config_file_states changed size") } for i := range state.TFConfigFileStates { if state.TFConfigFileStates[i] != otherState.TFConfigFileStates[i] { - log.Debug().Msgf("Plan cache config state not equivalent: %v", state.TFConfigFileStates[i]) + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: %v", state.TFConfigFileStates[i]) return false, fmt.Errorf("tf_config_file_states changed") } } @@ -144,20 +143,20 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { info, err := os.Stat(cache) if err != nil { - log.Debug().Msgf("Skipping plan cache: Cache file does not exist") + logging.Logger.Debug().Msgf("Skipping plan cache: Cache file does not exist") p.ctx.CacheErr = "not found" return nil, fmt.Errorf("not found") } if time.Now().Unix()-info.ModTime().Unix() > cacheMaxAgeSecs { - log.Debug().Msgf("Skipping plan cache: Cache file is too old") + logging.Logger.Debug().Msgf("Skipping plan cache: Cache file is too old") p.ctx.CacheErr = "expired" return nil, fmt.Errorf("expired") } data, err := os.ReadFile(cache) if err != nil { - log.Debug().Msgf("Skipping plan cache: Error reading cache file: %v", err) + logging.Logger.Debug().Msgf("Skipping plan cache: Error reading cache file: %v", err) p.ctx.CacheErr = "unreadable" return nil, fmt.Errorf("unreadable") } @@ -165,19 +164,19 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { var cf cacheFile err = json.Unmarshal(data, &cf) if err != nil { - log.Debug().Msgf("Skipping plan cache: Error unmarshalling cache file: %v", err) + logging.Logger.Debug().Msgf("Skipping plan cache: Error unmarshalling cache file: %v", err) p.ctx.CacheErr = "bad format" return nil, fmt.Errorf("bad format") } state := calcConfigState(p) if _, err := cf.ConfigState.equivalent(&state); err != nil { - log.Debug().Msgf("Skipping plan cache: Config state has changed") + logging.Logger.Debug().Msgf("Skipping plan cache: Config state has changed") p.ctx.CacheErr = err.Error() return nil, fmt.Errorf("change detected") } - log.Debug().Msgf("Read plan JSON from %v", cacheFileName) + logging.Logger.Debug().Msgf("Read plan JSON from %v", cacheFileName) p.ctx.UsingCache = true return cf.Plan, nil } @@ -185,7 +184,7 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { func WritePlanCache(p *DirProvider, planJSON []byte) { cacheJSON, err := json.Marshal(cacheFile{ConfigState: calcConfigState(p), Plan: planJSON}) if err != nil { - log.Debug().Msgf("Failed to marshal plan cache: %v", err) + logging.Logger.Debug().Msgf("Failed to marshal plan cache: %v", err) return } @@ -195,7 +194,7 @@ func WritePlanCache(p *DirProvider, planJSON []byte) { if os.IsNotExist(err) { err := os.MkdirAll(cacheDir, 0700) if err != nil { - log.Debug().Msgf("Couldn't create %v directory: %v", config.InfracostDir, err) + logging.Logger.Debug().Msgf("Couldn't create %v directory: %v", config.InfracostDir, err) return } } @@ -203,10 +202,10 @@ func WritePlanCache(p *DirProvider, planJSON []byte) { err = os.WriteFile(path.Join(cacheDir, cacheFileName), cacheJSON, 0600) if err != nil { - log.Debug().Msgf("Failed to write plan cache: %v", err) + logging.Logger.Debug().Msgf("Failed to write plan cache: %v", err) return } - log.Debug().Msgf("Wrote plan JSON to %v", cacheFileName) + logging.Logger.Debug().Msgf("Wrote plan JSON to %v", cacheFileName) } func calcDataDir(p *DirProvider) string { diff --git a/internal/providers/terraform/plan_json_provider.go b/internal/providers/terraform/plan_json_provider.go index b30426387c9..5536638acb8 100644 --- a/internal/providers/terraform/plan_json_provider.go +++ b/internal/providers/terraform/plan_json_provider.go @@ -10,7 +10,6 @@ import ( "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) type PlanJSONProvider struct { @@ -40,6 +39,18 @@ func NewPlanJSONProvider(ctx *config.ProjectContext, includePastResources bool) } } +func (p *PlanJSONProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *PlanJSONProvider) VarFiles() []string { + return nil +} + +func (p *PlanJSONProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *PlanJSONProvider) Context() *config.ProjectContext { return p.ctx } @@ -61,19 +72,12 @@ func (p *PlanJSONProvider) AddMetadata(metadata *schema.ProjectMetadata) { } func (p *PlanJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { - spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() - j, err := os.ReadFile(p.Path) if err != nil { return []*schema.Project{}, fmt.Errorf("Error reading Terraform plan JSON file %w", err) } - project, err := p.LoadResourcesFromSrc(usage, j, spinner) + project, err := p.LoadResourcesFromSrc(usage, j) if err != nil { return nil, err } @@ -81,7 +85,7 @@ func (p *PlanJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proje return []*schema.Project{project}, nil } -func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte, spinner *ui.Spinner) (*schema.Project, error) { +func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte) (*schema.Project, error) { metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() p.AddMetadata(metadata) @@ -112,9 +116,5 @@ func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte, } } - if spinner != nil { - spinner.Success() - } - return project, nil } diff --git a/internal/providers/terraform/plan_provider.go b/internal/providers/terraform/plan_provider.go index 387c69a1c29..0bb3755acd1 100644 --- a/internal/providers/terraform/plan_provider.go +++ b/internal/providers/terraform/plan_provider.go @@ -6,10 +6,10 @@ import ( "path/filepath" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/ui" ) @@ -31,6 +31,18 @@ func NewPlanProvider(ctx *config.ProjectContext, includePastResources bool) sche } } +func (p *PlanProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *PlanProvider) VarFiles() []string { + return nil +} + +func (p *PlanProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *PlanProvider) Type() string { return "terraform_plan_binary" } @@ -39,18 +51,20 @@ func (p *PlanProvider) DisplayType() string { return "Terraform plan binary file" } -func (p *PlanProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { +func (p *PlanProvider) LoadResources(usage schema.UsageMap) (projects []*schema.Project, err error) { j, err := p.generatePlanJSON() if err != nil { return []*schema.Project{}, err } - spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") + defer func() { + if err != nil { + logging.Logger.Debug().Err(err).Msg("Error running plan provider") + } else { + logging.Logger.Debug().Msg("Finished running plan provider") + } + }() metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() @@ -74,7 +88,6 @@ func (p *PlanProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, project.PartialPastResources = parsedConf.PastResources project.PartialResources = parsedConf.CurrentResources - spinner.Success() return []*schema.Project{project}, nil } @@ -87,7 +100,7 @@ func (p *PlanProvider) generatePlanJSON() ([]byte, error) { planPath := filepath.Base(p.Path) if !IsTerraformDir(dir) { - log.Debug().Msgf("%s is not a Terraform directory, checking current working directory", dir) + logging.Logger.Debug().Msgf("%s is not a Terraform directory, checking current working directory", dir) dir, err := os.Getwd() if err != nil { return []byte{}, err @@ -121,10 +134,9 @@ func (p *PlanProvider) generatePlanJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - spinner := ui.NewSpinner("Running terraform show", p.spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Running terraform show") - j, err := p.runShow(opts, spinner, planPath, false) + j, err := p.runShow(opts, planPath, false) if err == nil { p.cachedPlanJSON = j } diff --git a/internal/providers/terraform/state_json_provider.go b/internal/providers/terraform/state_json_provider.go index 50192bab57f..c27989b89fc 100644 --- a/internal/providers/terraform/state_json_provider.go +++ b/internal/providers/terraform/state_json_provider.go @@ -3,11 +3,11 @@ package terraform import ( "os" + "github.com/pkg/errors" + "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" - - "github.com/pkg/errors" ) type StateJSONProvider struct { @@ -24,6 +24,18 @@ func NewStateJSONProvider(ctx *config.ProjectContext, includePastResources bool) } } +func (p *StateJSONProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *StateJSONProvider) VarFiles() []string { + return nil +} + +func (p *StateJSONProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *StateJSONProvider) Context() *config.ProjectContext { return p.ctx } func (p *StateJSONProvider) Type() string { @@ -39,12 +51,7 @@ func (p *StateJSONProvider) AddMetadata(metadata *schema.ProjectMetadata) { } func (p *StateJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { - spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") j, err := os.ReadFile(p.Path) if err != nil { @@ -73,6 +80,5 @@ func (p *StateJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proj project.PartialPastResources = parsedConf.PastResources project.PartialResources = parsedConf.CurrentResources - spinner.Success() return []*schema.Project{project}, nil } diff --git a/internal/providers/terraform/terragrunt_hcl_provider.go b/internal/providers/terraform/terragrunt_hcl_provider.go index aee688de891..1bc2eae9c0b 100644 --- a/internal/providers/terraform/terragrunt_hcl_provider.go +++ b/internal/providers/terraform/terragrunt_hcl_provider.go @@ -174,7 +174,11 @@ func getEnvVars(ctx *config.ProjectContext) map[string]string { func (p *TerragruntHCLProvider) Context() *config.ProjectContext { return p.ctx } func (p *TerragruntHCLProvider) ProjectName() string { - return "" + if p.ctx.ProjectConfig.Name != "" { + return p.ctx.ProjectConfig.Name + } + + return config.CleanProjectName(p.RelativePath()) } func (p *TerragruntHCLProvider) EnvName() string { @@ -190,14 +194,14 @@ func (p *TerragruntHCLProvider) RelativePath() string { return r } -func (p *TerragruntHCLProvider) TerraformVarFiles() []string { +func (p *TerragruntHCLProvider) VarFiles() []string { return nil } func (p *TerragruntHCLProvider) YAML() string { str := strings.Builder{} - str.WriteString(fmt.Sprintf(" - path: %s\n", p.RelativePath())) + str.WriteString(fmt.Sprintf(" - path: %s\nname: %s\n", p.RelativePath(), p.ProjectName())) return str.String() } @@ -206,7 +210,7 @@ func (p *TerragruntHCLProvider) Type() string { } func (p *TerragruntHCLProvider) DisplayType() string { - return "Terragrunt directory" + return "Terragrunt" } func (p *TerragruntHCLProvider) AddMetadata(metadata *schema.ProjectMetadata) { @@ -253,12 +257,6 @@ func (p *TerragruntHCLProvider) LoadResources(usage schema.UsageMap) ([]*schema. parallelism, _ := runCtx.GetParallelism() numJobs := len(dirs) - runInParallel := parallelism > 1 && numJobs > 1 - if runInParallel && !runCtx.Config.IsLogging() { - p.logger.Level(zerolog.InfoLevel) - p.ctx.RunContext.Config.LogLevel = "info" - } - if numJobs < parallelism { parallelism = numJobs } @@ -305,6 +303,7 @@ func (p *TerragruntHCLProvider) LoadResources(usage schema.UsageMap) ([]*schema. metadata.Warnings = di.warnings project.Metadata = metadata project.Name = p.generateProjectName(metadata) + project.DisplayName = p.ProjectName() mu.Lock() allProjects = append(allProjects, project) mu.Unlock() @@ -343,7 +342,10 @@ func (p *TerragruntHCLProvider) newErroredProject(di *terragruntWorkingDirInfo) metadata.AddError(schema.NewDiagTerragruntEvaluationFailure(di.error)) } - return schema.NewProject(p.generateProjectName(metadata), metadata) + project := schema.NewProject(p.generateProjectName(metadata), metadata) + project.DisplayName = p.ProjectName() + + return project } func (p *TerragruntHCLProvider) generateProjectName(metadata *schema.ProjectMetadata) string { @@ -583,9 +585,7 @@ func (p *TerragruntHCLProvider) runTerragrunt(opts *tgoptions.TerragruntOptions) } pconfig.TerraformVars = p.initTerraformVars(pconfig.TerraformVars, terragruntConfig.Inputs) - ops := []hcl.Option{ - hcl.OptionWithSpinner(p.ctx.RunContext.NewSpinner), - } + var ops []hcl.Option inputs, err := convertToCtyWithJson(terragruntConfig.Inputs) if err != nil { p.logger.Debug().Msgf("Failed to build Terragrunt inputs for: %s err: %s", info.workingDir, err) @@ -992,7 +992,7 @@ func (p *TerragruntHCLProvider) decodeTerragruntDepsToValue(targetConfig string, return encoded, nil } - p.logger.Warn().Err(err).Msg("could not transform output blocks to cty type, using dummy output type") + p.logger.Debug().Err(err).Msg("could not transform output blocks to cty type, using dummy output type") } return cty.EmptyObjectVal, nil diff --git a/internal/providers/terraform/terragrunt_provider.go b/internal/providers/terraform/terragrunt_provider.go index 2a0111bd85e..414cb340eb2 100644 --- a/internal/providers/terraform/terragrunt_provider.go +++ b/internal/providers/terraform/terragrunt_provider.go @@ -10,12 +10,11 @@ import ( "github.com/kballard/go-shellquote" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) var defaultTerragruntBinary = "terragrunt" @@ -59,6 +58,18 @@ func NewTerragruntProvider(ctx *config.ProjectContext, includePastResources bool } } +func (p *TerragruntProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *TerragruntProvider) VarFiles() []string { + return nil +} + +func (p *TerragruntProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *TerragruntProvider) Context() *config.ProjectContext { return p.ctx } func (p *TerragruntProvider) Type() string { @@ -79,7 +90,7 @@ func (p *TerragruntProvider) AddMetadata(metadata *schema.ProjectMetadata) { modulePath, err := filepath.Rel(basePath, metadata.Path) if err == nil && modulePath != "" && modulePath != "." { - log.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) + logging.Logger.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) metadata.TerraformModulePath = modulePath } @@ -91,7 +102,6 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro // Terragrunt internally runs Terraform in the working dirs, so we need to be aware of these // so we can handle reading and cleaning up the generated plan files. projectDirs, err := p.getProjectDirs() - if err != nil { return []*schema.Project{}, err } @@ -109,12 +119,7 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro projects := make([]*schema.Project, 0, len(projectDirs)) - spinner := ui.NewSpinner("Extracting only cost-related params from terragrunt plan", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from terragrunt plan") for i, projectDir := range projectDirs { projectPath := projectDir.ConfigDir // attempt to convert project path to be relative to the top level provider path @@ -152,13 +157,11 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro projects = append(projects, project) } - spinner.Success() return projects, nil } func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { - spinner := ui.NewSpinner("Running terragrunt run-all terragrunt-info", p.spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Running terragrunt run-all terragrunt-info") terragruntFlags, err := shellquote.Split(p.TerragruntFlags) if err != nil { @@ -172,7 +175,6 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { } out, err := Cmd(opts, "run-all", "--terragrunt-ignore-external-dependencies", "terragrunt-info") if err != nil { - spinner.Fail() err = p.buildTerraformErr(err, false) msg := "terragrunt run-all terragrunt-info failed" @@ -197,8 +199,7 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { var info TerragruntInfo err = json.Unmarshal(j, &info) if err != nil { - spinner.Fail() - return dirs, err + return dirs, fmt.Errorf("error unmarshalling terragrunt-info JSON: %w", err) } dirs = append(dirs, terragruntProjectDirs{ @@ -212,8 +213,6 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { return dirs[i].ConfigDir < dirs[j].ConfigDir }) - spinner.Success() - return dirs, nil } @@ -225,13 +224,6 @@ func (p *TerragruntProvider) generateStateJSONs(projectDirs []terragruntProjectD outs := make([][]byte, 0, len(projectDirs)) - spinnerMsg := "Running terragrunt show" - if len(projectDirs) > 1 { - spinnerMsg += " for each project" - } - spinner := ui.NewSpinner(spinnerMsg, p.spinnerOpts) - defer spinner.Fail() - for _, projectDir := range projectDirs { opts, err := p.buildCommandOpts(projectDir.ConfigDir) if err != nil { @@ -248,7 +240,7 @@ func (p *TerragruntProvider) generateStateJSONs(projectDirs []terragruntProjectD defer os.Remove(opts.TerraformConfigFile) } - out, err := p.runShow(opts, spinner, "", false) + out, err := p.runShow(opts, "", false) if err != nil { return outs, err } @@ -286,14 +278,13 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi defer os.Remove(opts.TerraformConfigFile) } - spinner := ui.NewSpinner("Running terragrunt run-all plan", p.spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Running terragrunt run-all plan") - planFile, planJSON, err := p.runPlan(opts, spinner, true) + planFile, planJSON, err := p.runPlan(opts, true) defer func() { err := cleanupPlanFiles(projectDirs, planFile) if err != nil { - log.Warn().Msgf("Error cleaning up plan files: %v", err) + logging.Logger.Warn().Msgf("Error cleaning up plan files: %v", err) } }() @@ -306,11 +297,7 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi } outs := make([][]byte, 0, len(projectDirs)) - spinnerMsg := "Running terragrunt show" - if len(projectDirs) > 1 { - spinnerMsg += " for each project" - } - spinner = ui.NewSpinner(spinnerMsg, p.spinnerOpts) + logging.Logger.Debug().Msg("Running terragrunt show") for _, projectDir := range projectDirs { opts, err := p.buildCommandOpts(projectDir.ConfigDir) @@ -321,7 +308,7 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi defer os.Remove(opts.TerraformConfigFile) } - out, err := p.runShow(opts, spinner, filepath.Join(projectDir.WorkingDir, planFile), false) + out, err := p.runShow(opts, filepath.Join(projectDir.WorkingDir, planFile), false) if err != nil { return outs, err } diff --git a/internal/providers/terraform/tftest/tftest.go b/internal/providers/terraform/tftest/tftest.go index d5444e59139..23efdc94115 100644 --- a/internal/providers/terraform/tftest/tftest.go +++ b/internal/providers/terraform/tftest/tftest.go @@ -15,11 +15,11 @@ import ( "github.com/stretchr/testify/require" "github.com/infracost/infracost/internal/hcl" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/output" "github.com/infracost/infracost/internal/usage" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/stretchr/testify/assert" "github.com/infracost/infracost/internal/config" @@ -116,7 +116,7 @@ func installPlugins() error { err := os.MkdirAll(initCache, os.ModePerm) if err != nil { - log.Error().Msgf("Error creating init cache directory: %s", err.Error()) + logging.Logger.Error().Msgf("Error creating init cache directory: %s", err.Error()) } tfdir, err := writeToTmpDir(initCache, project) @@ -126,7 +126,7 @@ func installPlugins() error { err = os.MkdirAll(pluginCache, os.ModePerm) if err != nil { - log.Error().Msgf("Error creating plugin cache directory: %s", err.Error()) + logging.Logger.Error().Msgf("Error creating plugin cache directory: %s", err.Error()) } else { os.Setenv("TF_PLUGIN_CACHE_DIR", pluginCache) } @@ -244,12 +244,7 @@ func goldenFileResourceTestWithOpts(t *testing.T, pName string, testName string, ctxOption(runCtx) } - var logBuf *bytes.Buffer - if options != nil && options.CaptureLogs { - logBuf = testutil.ConfigureTestToCaptureLogs(t, runCtx) - } else { - testutil.ConfigureTestToFailOnLogs(t, runCtx) - } + logBuf := testutil.ConfigureTestToCaptureLogs(t, runCtx) if options != nil && options.Currency != "" { runCtx.Config.Currency = options.Currency @@ -348,8 +343,9 @@ func loadResources(t *testing.T, pName string, tfProject TerraformProject, runCt } func RunCostCalculations(runCtx *config.RunContext, projects []*schema.Project) ([]*schema.Project, error) { + pf := prices.NewPriceFetcher(runCtx) for _, project := range projects { - err := prices.PopulatePrices(runCtx, project) + err := pf.PopulatePrices(project) if err != nil { return projects, err } @@ -437,7 +433,7 @@ func newHCLProvider(t *testing.T, runCtx *config.RunContext, tfdir string) *terr Path: tfdir, }, nil) - provider, err := terraform.NewHCLProvider(projectCtx, hcl.RootPath{Path: tfdir}, &terraform.HCLProviderConfig{SuppressLogging: true}) + provider, err := terraform.NewHCLProvider(projectCtx, hcl.RootPath{RepoPath: tfdir, Path: tfdir}, &terraform.HCLProviderConfig{SuppressLogging: true}) require.NoError(t, err) return provider diff --git a/internal/resources/aws/cloudfront_distribution.go b/internal/resources/aws/cloudfront_distribution.go index 4d8d058a03f..6f3dcdf53d2 100644 --- a/internal/resources/aws/cloudfront_distribution.go +++ b/internal/resources/aws/cloudfront_distribution.go @@ -1,6 +1,7 @@ package aws import ( + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -8,7 +9,6 @@ import ( "strconv" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/infracost/infracost/internal/usage" @@ -481,7 +481,7 @@ func (r *CloudfrontDistribution) shieldRequestsCostComponents() []*schema.CostCo } if apiRegion == "" { - log.Warn().Msgf("Skipping Origin shield HTTP requests for resource %s. Could not find mapping for region %s", r.Address, region) + logging.Logger.Warn().Msgf("Skipping Origin shield HTTP requests for resource %s. Could not find mapping for region %s", r.Address, region) return costComponents } @@ -491,7 +491,7 @@ func (r *CloudfrontDistribution) shieldRequestsCostComponents() []*schema.CostCo } if usageKey == "" { - log.Warn().Msgf("No usage for Origin shield HTTP requests for resource %s. Region %s not supported in usage file.", r.Address, region) + logging.Logger.Warn().Msgf("No usage for Origin shield HTTP requests for resource %s. Region %s not supported in usage file.", r.Address, region) } regionData := map[string]*int64{ diff --git a/internal/resources/aws/data_transfer.go b/internal/resources/aws/data_transfer.go index 1ed064483c5..f795d645df6 100644 --- a/internal/resources/aws/data_transfer.go +++ b/internal/resources/aws/data_transfer.go @@ -3,9 +3,9 @@ package aws import ( "fmt" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -51,7 +51,7 @@ func (r *DataTransfer) BuildResource() *schema.Resource { _, ok := RegionMapping[r.Region] if !ok { - log.Warn().Msgf("Skipping resource %s. Could not find mapping for region %s", r.Address, r.Region) + logging.Logger.Warn().Msgf("Skipping resource %s. Could not find mapping for region %s", r.Address, r.Region) return nil } diff --git a/internal/resources/aws/db_instance.go b/internal/resources/aws/db_instance.go index 829a7defa7f..fbb3e68a1bf 100644 --- a/internal/resources/aws/db_instance.go +++ b/internal/resources/aws/db_instance.go @@ -5,8 +5,7 @@ import ( "strings" "time" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -194,7 +193,7 @@ func (r *DBInstance) BuildResource() *schema.Resource { } priceFilter, err = resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" } diff --git a/internal/resources/aws/dx_connection.go b/internal/resources/aws/dx_connection.go index 525df5e6fe0..3352e6453dd 100644 --- a/internal/resources/aws/dx_connection.go +++ b/internal/resources/aws/dx_connection.go @@ -5,8 +5,7 @@ import ( "sort" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -118,7 +117,7 @@ func (r *DXConnection) outboundDataTransferComponent(fromRegion string, dataProc if !ok { // This shouldn't happen because we're loading the regions into the RegionsUsage struct // which should have same keys as the RegionMappings map - log.Warn().Msgf("Skipping resource %s usage cost: Outbound data transfer. Could not find mapping for region %s", r.Address, fromRegion) + logging.Logger.Warn().Msgf("Skipping resource %s usage cost: Outbound data transfer. Could not find mapping for region %s", r.Address, fromRegion) return nil } diff --git a/internal/resources/aws/ec2_host.go b/internal/resources/aws/ec2_host.go index a738c3007a7..cd42d4624ba 100644 --- a/internal/resources/aws/ec2_host.go +++ b/internal/resources/aws/ec2_host.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -58,7 +58,7 @@ func (r *EC2Host) BuildResource() *schema.Resource { priceFilter, err = resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" diff --git a/internal/resources/aws/elasticache_cluster.go b/internal/resources/aws/elasticache_cluster.go index c9f2d07a331..cfe8cb4e76b 100644 --- a/internal/resources/aws/elasticache_cluster.go +++ b/internal/resources/aws/elasticache_cluster.go @@ -1,10 +1,10 @@ package aws import ( - "github.com/rs/zerolog/log" "golang.org/x/text/cases" "golang.org/x/text/language" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -80,7 +80,7 @@ func (r *ElastiCacheCluster) elastiCacheCostComponent(autoscaling bool) *schema. } reservedFilter, err := resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } else { priceFilter = reservedFilter } @@ -184,7 +184,7 @@ func (r elasticacheReservationResolver) PriceFilter() (*schema.PriceFilter, erro } nodeType := strings.Split(r.cacheNodeType, ".")[1] // Get node type from cache node type. cache.m3.large -> m3 if stringInSlice(elasticacheReservedNodeLegacyTypes, nodeType) { - log.Warn().Msgf("No products found is possible for legacy nodes %s if provided payment option is not supported by the region.", strings.Join(elasticacheReservedNodeLegacyTypes, ", ")) + logging.Logger.Warn().Msgf("No products found is possible for legacy nodes %s if provided payment option is not supported by the region.", strings.Join(elasticacheReservedNodeLegacyTypes, ", ")) } return &schema.PriceFilter{ PurchaseOption: strPtr(purchaseOptionLabel), diff --git a/internal/resources/aws/instance.go b/internal/resources/aws/instance.go index 7b5b7d54c56..5e146cc6305 100644 --- a/internal/resources/aws/instance.go +++ b/internal/resources/aws/instance.go @@ -5,9 +5,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage/aws" @@ -71,7 +71,7 @@ func (a *Instance) BuildResource() *schema.Resource { if a.HasHost { a.Tenancy = "Host" } else { - log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up", a.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up", a.Address) return nil } } else if strings.ToLower(a.Tenancy) == "dedicated" { @@ -168,7 +168,7 @@ func (a *Instance) computeCostComponent() *schema.CostComponent { osFilterVal = "SUSE" default: if strVal(a.OperatingSystem) != "linux" { - log.Warn().Msgf("Unrecognized operating system %s, defaulting to Linux/UNIX", strVal(a.OperatingSystem)) + logging.Logger.Warn().Msgf("Unrecognized operating system %s, defaulting to Linux/UNIX", strVal(a.OperatingSystem)) } } @@ -184,7 +184,7 @@ func (a *Instance) computeCostComponent() *schema.CostComponent { } reservedFilter, err := resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } else { priceFilter = reservedFilter } diff --git a/internal/resources/aws/launch_configuration.go b/internal/resources/aws/launch_configuration.go index 29138608f75..a828dab96e2 100644 --- a/internal/resources/aws/launch_configuration.go +++ b/internal/resources/aws/launch_configuration.go @@ -3,9 +3,9 @@ package aws import ( "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -54,7 +54,7 @@ func (a *LaunchConfiguration) PopulateUsage(u *schema.UsageData) { func (a *LaunchConfiguration) BuildResource() *schema.Resource { if strings.ToLower(a.Tenancy) == "host" { - log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", a.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", a.Address) return nil } else if strings.ToLower(a.Tenancy) == "dedicated" { a.Tenancy = "Dedicated" diff --git a/internal/resources/aws/launch_template.go b/internal/resources/aws/launch_template.go index c56637aaf4d..2a8a9aba951 100644 --- a/internal/resources/aws/launch_template.go +++ b/internal/resources/aws/launch_template.go @@ -3,9 +3,9 @@ package aws import ( "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -55,7 +55,7 @@ func (a *LaunchTemplate) PopulateUsage(u *schema.UsageData) { func (a *LaunchTemplate) BuildResource() *schema.Resource { if strings.ToLower(a.Tenancy) == "host" { - log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Templates", a.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Templates", a.Address) return nil } else if strings.ToLower(a.Tenancy) == "dedicated" { a.Tenancy = "Dedicated" diff --git a/internal/resources/aws/lightsail_instance.go b/internal/resources/aws/lightsail_instance.go index a8f9ddca97b..11a947a7bb6 100644 --- a/internal/resources/aws/lightsail_instance.go +++ b/internal/resources/aws/lightsail_instance.go @@ -4,11 +4,10 @@ import ( "fmt" "strings" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" - "github.com/rs/zerolog/log" - "github.com/shopspring/decimal" ) @@ -58,7 +57,7 @@ func (r *LightsailInstance) BuildResource() *schema.Resource { specs, ok := bundlePrefixMappings[bundlePrefix] if !ok { - log.Warn().Msgf("Skipping resource %s. Unrecognized bundle_id %s", r.Address, r.BundleID) + logging.Logger.Warn().Msgf("Skipping resource %s. Unrecognized bundle_id %s", r.Address, r.BundleID) return nil } diff --git a/internal/resources/aws/rds_cluster_instance.go b/internal/resources/aws/rds_cluster_instance.go index 1b1ad6b4016..d7030027083 100644 --- a/internal/resources/aws/rds_cluster_instance.go +++ b/internal/resources/aws/rds_cluster_instance.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -61,7 +61,7 @@ func (r *RDSClusterInstance) BuildResource() *schema.Resource { } priceFilter, err = resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" } diff --git a/internal/resources/aws/s3_bucket.go b/internal/resources/aws/s3_bucket.go index 7222ee42a27..aee1b5ae3e6 100644 --- a/internal/resources/aws/s3_bucket.go +++ b/internal/resources/aws/s3_bucket.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -160,7 +160,7 @@ func (a *S3Bucket) BuildResource() *schema.Resource { if err != nil { msg = fmt.Sprintf("%s: %s", msg, err) } - log.Debug().Msgf(msg) + logging.Logger.Debug().Msgf(msg) } else { standardStorageClassUsage := u["standard"].(map[string]interface{}) diff --git a/internal/resources/aws/s3_bucket_lifececycle_configuration.go b/internal/resources/aws/s3_bucket_lifececycle_configuration.go index 11f8d25c76b..45832482886 100644 --- a/internal/resources/aws/s3_bucket_lifececycle_configuration.go +++ b/internal/resources/aws/s3_bucket_lifececycle_configuration.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -155,7 +155,7 @@ func (r *S3BucketLifecycleConfiguration) BuildResource() *schema.Resource { if err != nil { msg = fmt.Sprintf("%s: %s", msg, err) } - log.Debug().Msgf(msg) + logging.Logger.Debug().Msgf(msg) } else { standardStorageClassUsage := u["standard"].(map[string]interface{}) diff --git a/internal/resources/aws/ssm_parameter.go b/internal/resources/aws/ssm_parameter.go index 4908ee46ac2..6ae37bd6af7 100644 --- a/internal/resources/aws/ssm_parameter.go +++ b/internal/resources/aws/ssm_parameter.go @@ -1,14 +1,13 @@ package aws import ( + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "fmt" "strings" - "github.com/rs/zerolog/log" - "github.com/shopspring/decimal" ) @@ -46,7 +45,7 @@ func (r *SSMParameter) BuildResource() *schema.Resource { throughputLimit = strings.ToLower(*r.APIThroughputLimit) if throughputLimit != "standard" && throughputLimit != "advanced" && throughputLimit != "higher" { - log.Warn().Msgf("Skipping resource %s. Unrecognized api_throughput_limit %s, expecting standard, advanced or higher", r.Address, *r.APIThroughputLimit) + logging.Logger.Warn().Msgf("Skipping resource %s. Unrecognized api_throughput_limit %s, expecting standard, advanced or higher", r.Address, *r.APIThroughputLimit) return nil } } diff --git a/internal/resources/azure/data_factory_integration_runtime_azure.go b/internal/resources/azure/data_factory_integration_runtime_azure.go index 386a9bdce22..95048fd3b04 100644 --- a/internal/resources/azure/data_factory_integration_runtime_azure.go +++ b/internal/resources/azure/data_factory_integration_runtime_azure.go @@ -7,7 +7,6 @@ import ( "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" - "github.com/rs/zerolog/log" ) // DataFactoryIntegrationRuntimeAzure struct represents Azure Data Factory's @@ -77,8 +76,6 @@ func (r *DataFactoryIntegrationRuntimeAzure) computeCostComponent() *schema.Cost name := fmt.Sprintf("Compute (%s, %d vCores)", productType, r.Cores) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) - return &schema.CostComponent{ Name: name, Unit: "hours", diff --git a/internal/resources/azure/kubernetes_cluster_node_pool.go b/internal/resources/azure/kubernetes_cluster_node_pool.go index fa3916fe2a0..441579e8688 100644 --- a/internal/resources/azure/kubernetes_cluster_node_pool.go +++ b/internal/resources/azure/kubernetes_cluster_node_pool.go @@ -4,10 +4,10 @@ import ( "regexp" "strings" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" ) @@ -95,13 +95,13 @@ func aksOSDiskSubResource(region string, diskSize int, instanceType string) *sch diskName := mapDiskName(diskType, diskSize) if diskName == "" { - log.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskType, diskSize) + logging.Logger.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskType, diskSize) return nil } productName, ok := diskProductNameMap[diskType] if !ok { - log.Warn().Msgf("Could not map disk type %s to product name", diskType) + logging.Logger.Warn().Msgf("Could not map disk type %s to product name", diskType) return nil } diff --git a/internal/resources/azure/log_analytics_workspace.go b/internal/resources/azure/log_analytics_workspace.go index 3f21c6980b0..f7680dfdf3c 100644 --- a/internal/resources/azure/log_analytics_workspace.go +++ b/internal/resources/azure/log_analytics_workspace.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -187,7 +187,7 @@ func (r *LogAnalyticsWorkspace) BuildResource() *schema.Resource { } if _, ok := unsupportedLegacySkus[strings.ToLower(r.SKU)]; ok { - log.Warn().Msgf("skipping %s as it uses legacy pricing options", r.Address) + logging.Logger.Warn().Msgf("skipping %s as it uses legacy pricing options", r.Address) return &schema.Resource{ Name: r.Address, diff --git a/internal/resources/azure/managed_disk.go b/internal/resources/azure/managed_disk.go index e095c09b9df..d8deb01c3b9 100644 --- a/internal/resources/azure/managed_disk.go +++ b/internal/resources/azure/managed_disk.go @@ -1,6 +1,7 @@ package azure import ( + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -8,7 +9,6 @@ import ( "math" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" ) @@ -135,7 +135,7 @@ func managedDiskCostComponents(region, diskType string, diskSizeGB, diskIOPSRead validstorageReplicationType := mapStorageReplicationType(storageReplicationType) if !validstorageReplicationType { - log.Warn().Msgf("Could not map %s to a valid storage type", storageReplicationType) + logging.Logger.Warn().Msgf("Could not map %s to a valid storage type", storageReplicationType) return nil } @@ -155,13 +155,13 @@ func standardPremiumDiskCostComponents(region string, diskTypePrefix string, sto diskName := mapDiskName(diskTypePrefix, requestedSize) if diskName == "" { - log.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskTypePrefix, requestedSize) + logging.Logger.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskTypePrefix, requestedSize) return nil } productName, ok := diskProductNameMap[diskTypePrefix] if !ok { - log.Warn().Msgf("Could not map disk type %s to product name", diskTypePrefix) + logging.Logger.Warn().Msgf("Could not map disk type %s to product name", diskTypePrefix) return nil } diff --git a/internal/resources/azure/mssql_elasticpool.go b/internal/resources/azure/mssql_elasticpool.go index 63989749640..b84e9554363 100644 --- a/internal/resources/azure/mssql_elasticpool.go +++ b/internal/resources/azure/mssql_elasticpool.go @@ -4,7 +4,6 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/infracost/infracost/internal/resources" @@ -169,8 +168,6 @@ func (r *MSSQLElasticPool) computeHoursCostComponents() []*schema.CostComponent productNameRegex := fmt.Sprintf("/%s - %s/", r.Tier, r.Family) name := fmt.Sprintf("Compute (%s, %d vCore)", r.SKU, cores) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) - costComponents := []*schema.CostComponent{ { Name: name, diff --git a/internal/resources/azure/sql_database.go b/internal/resources/azure/sql_database.go index a4d33be86c6..e7848d5abd1 100644 --- a/internal/resources/azure/sql_database.go +++ b/internal/resources/azure/sql_database.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -233,7 +233,6 @@ func (r *SQLDatabase) serverlessComputeHoursCostComponents() []*schema.CostCompo } name := fmt.Sprintf("Compute (serverless, %s)", r.SKU) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) costComponents := []*schema.CostComponent{ { @@ -279,8 +278,6 @@ func (r *SQLDatabase) provisionedComputeCostComponents() []*schema.CostComponent productNameRegex := fmt.Sprintf("/%s - %s/", r.Tier, r.Family) name := fmt.Sprintf("Compute (provisioned, %s)", r.SKU) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) - costComponents := []*schema.CostComponent{ { Name: name, @@ -343,7 +340,7 @@ func (r *SQLDatabase) longTermRetentionCostComponent() *schema.CostComponent { redundancyType, ok := mssqlStorageRedundancyTypeMapping[strings.ToLower(r.BackupStorageType)] if !ok { - log.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) + logging.Logger.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) redundancyType = "RA-GRS" } @@ -370,7 +367,7 @@ func (r *SQLDatabase) pitrBackupCostComponent() *schema.CostComponent { redundancyType, ok := mssqlStorageRedundancyTypeMapping[strings.ToLower(r.BackupStorageType)] if !ok { - log.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) + logging.Logger.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) redundancyType = "RA-GRS" } @@ -396,7 +393,7 @@ func (r *SQLDatabase) extraDataStorageCostComponent(extraStorageGB float64) *sch tier, ok = mssqlTierMapping[strings.ToLower(r.SKU)[:1]] if !ok { - log.Warn().Msgf("Unrecognized tier for SKU '%s' for resource %s", r.SKU, r.Address) + logging.Logger.Warn().Msgf("Unrecognized tier for SKU '%s' for resource %s", r.SKU, r.Address) return nil } } diff --git a/internal/resources/core_resource.go b/internal/resources/core_resource.go index 23476c0e88a..2b632b91740 100644 --- a/internal/resources/core_resource.go +++ b/internal/resources/core_resource.go @@ -4,8 +4,7 @@ import ( "reflect" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -92,7 +91,7 @@ func PopulateArgsWithUsage(args interface{}, u *schema.UsageData) { continue } - log.Error().Msgf("Unsupported field { UsageKey: %s, Type: %v }", usageKey, f.Type()) + logging.Logger.Error().Msgf("Unsupported field { UsageKey: %s, Type: %v }", usageKey, f.Type()) } } } diff --git a/internal/resources/google/sql_database_instance.go b/internal/resources/google/sql_database_instance.go index f7a9bf5f096..f08a0b3035d 100644 --- a/internal/resources/google/sql_database_instance.go +++ b/internal/resources/google/sql_database_instance.go @@ -1,6 +1,7 @@ package google import ( + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -8,8 +9,6 @@ import ( "strings" "github.com/shopspring/decimal" - - "github.com/rs/zerolog/log" ) type SQLDatabaseInstance struct { @@ -48,7 +47,7 @@ func (r *SQLDatabaseInstance) BuildResource() *schema.Resource { var resource *schema.Resource if strings.EqualFold(r.Edition, "enterprise_plus") { - log.Warn().Msgf("edition %s of %s is not yet supported", r.Edition, r.Address) + logging.Logger.Warn().Msgf("edition %s of %s is not yet supported", r.Edition, r.Address) return nil } @@ -128,7 +127,7 @@ func (r *SQLDatabaseInstance) sharedInstanceCostComponent() *schema.CostComponen } else if strings.EqualFold(r.Tier, "db-g1-small") { resourceGroup = "SQLGen2InstancesG1Small" } else { - log.Warn().Msgf("tier %s of %s is not supported", r.Tier, r.Address) + logging.Logger.Warn().Msgf("tier %s of %s is not supported", r.Tier, r.Address) return nil } @@ -161,7 +160,7 @@ func (r *SQLDatabaseInstance) legacyMySQLInstanceCostComponent() *schema.CostCom vCPUs, err := r.vCPUs() if err != nil { - log.Warn().Msgf("vCPU of tier %s of %s is not parsable", r.Tier, r.Address) + logging.Logger.Warn().Msgf("vCPU of tier %s of %s is not parsable", r.Tier, r.Address) return nil } @@ -190,13 +189,13 @@ func (r *SQLDatabaseInstance) instanceCostComponents() []*schema.CostComponent { vCPUs, err := r.vCPUs() if err != nil { - log.Warn().Msgf("vCPU of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) + logging.Logger.Warn().Msgf("vCPU of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) return nil } mem, err := r.memory() if err != nil { - log.Warn().Msgf("memory of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) + logging.Logger.Warn().Msgf("memory of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) return nil } diff --git a/internal/schema/cost_component.go b/internal/schema/cost_component.go index f2cce3397f1..d5c0ffe10dd 100644 --- a/internal/schema/cost_component.go +++ b/internal/schema/cost_component.go @@ -24,6 +24,7 @@ type CostComponent struct { HourlyCost *decimal.Decimal MonthlyCost *decimal.Decimal UsageBased bool + PriceNotFound bool } func (c *CostComponent) CalculateCosts() { @@ -49,6 +50,13 @@ func (c *CostComponent) SetPrice(price decimal.Decimal) { c.price = price } +// SetPriceNotFound zeros the price and marks the component as having a price not +// found. +func (c *CostComponent) SetPriceNotFound() { + c.price = decimal.Zero + c.PriceNotFound = true +} + func (c *CostComponent) Price() decimal.Decimal { return c.price } diff --git a/internal/schema/diff.go b/internal/schema/diff.go index cf3a9841e55..3eec8f784ec 100644 --- a/internal/schema/diff.go +++ b/internal/schema/diff.go @@ -5,8 +5,9 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + + "github.com/infracost/infracost/internal/logging" ) // nameBracketReg matches the part of a cost component name before the brackets, and the part in the brackets @@ -64,7 +65,7 @@ func diffResourcesByKey(resourceKey string, pastResMap, currentResMap map[string past, pastOk := pastResMap[resourceKey] current, currentOk := currentResMap[resourceKey] if current == nil && past == nil { - log.Debug().Msgf("diffResourcesByKey nil current and past with key %s", resourceKey) + logging.Logger.Debug().Msgf("diffResourcesByKey nil current and past with key %s", resourceKey) return false, nil } baseResource := current diff --git a/internal/schema/project.go b/internal/schema/project.go index f386225b62c..b43f78e3d5f 100644 --- a/internal/schema/project.go +++ b/internal/schema/project.go @@ -357,6 +357,7 @@ type Project struct { Resources []*Resource Diff []*Resource HasDiff bool + DisplayName string } func (p *Project) AddProviderMetadata(metadatas []ProviderMetadata) { diff --git a/internal/schema/provider.go b/internal/schema/provider.go index 8136c10e01a..fd400241943 100644 --- a/internal/schema/provider.go +++ b/internal/schema/provider.go @@ -5,6 +5,9 @@ import "github.com/infracost/infracost/internal/config" type Provider interface { Type() string DisplayType() string + ProjectName() string + RelativePath() string + VarFiles() []string AddMetadata(*ProjectMetadata) LoadResources(UsageMap) ([]*Project, error) Context() *config.ProjectContext diff --git a/internal/schema/resource.go b/internal/schema/resource.go index 330d79aa1ee..842a9ab1ad2 100644 --- a/internal/schema/resource.go +++ b/internal/schema/resource.go @@ -3,9 +3,10 @@ package schema import ( "sort" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" + + "github.com/infracost/infracost/internal/logging" ) var ( @@ -34,6 +35,11 @@ type Resource struct { EstimateUsage EstimateFunc EstimationSummary map[string]bool Metadata map[string]gjson.Result + + // parent is the parent resource of this resource, this is only + // applicable for sub resources. See FlattenedSubResources for more info + // on how this is built and used. + parent *Resource } func CalculateCosts(project *Project) { @@ -42,6 +48,28 @@ func CalculateCosts(project *Project) { } } +// BaseResourceType returns the base resource type of the resource. This is the +// resource type of the top level resource in the hierarchy. For example, if the +// resource is a subresource of a `aws_instance` resource (e.g. +// ebs_block_device), the base resource type will be `aws_instance`. +func (r *Resource) BaseResourceType() string { + if r.parent == nil { + return r.ResourceType + } + + return r.parent.BaseResourceType() +} + +// BaseResourceName returns the base resource name of the resource. This is the +// resource name of the top level resource in the hierarchy. +func (r *Resource) BaseResourceName() string { + if r.parent == nil { + return r.Name + } + + return r.parent.BaseResourceName() +} + func (r *Resource) CalculateCosts() { h := decimal.Zero m := decimal.Zero @@ -92,14 +120,18 @@ func (r *Resource) CalculateCosts() { r.MonthlyUsageCost = monthlyUsageCost } if r.NoPrice { - log.Debug().Msgf("Skipping free resource %s", r.Name) + logging.Logger.Debug().Msgf("Skipping free resource %s", r.Name) } } +// FlattenedSubResources returns a list of resources from the given resources, +// flattening all sub resources recursively. It also sets the parent resource for +// each sub resource so that the full resource can be reconstructed. func (r *Resource) FlattenedSubResources() []*Resource { resources := make([]*Resource, 0, len(r.SubResources)) for _, s := range r.SubResources { + s.parent = r resources = append(resources, s) if len(s.SubResources) > 0 { diff --git a/internal/testutil/testutil.go b/internal/testutil/testutil.go index 6ea54bd4f17..32b188714bf 100644 --- a/internal/testutil/testutil.go +++ b/internal/testutil/testutil.go @@ -207,15 +207,6 @@ func (e ErrorOnAnyWriter) Write(data []byte) (n int, err error) { return io.Discard.Write(data) } -func ConfigureTestToFailOnLogs(t *testing.T, runCtx *config.RunContext) { - runCtx.Config.LogLevel = "warn" - runCtx.Config.SetLogDisableTimestamps(true) - runCtx.Config.SetLogWriter(io.MultiWriter(os.Stderr, ErrorOnAnyWriter{t})) - - err := logging.ConfigureBaseLogger(runCtx.Config) - require.Nil(t, err) -} - func ConfigureTestToCaptureLogs(t *testing.T, runCtx *config.RunContext) *bytes.Buffer { logBuf := bytes.NewBuffer([]byte{}) runCtx.Config.LogLevel = "warn" diff --git a/internal/ui/print.go b/internal/ui/print.go index 43134a31f87..b1f42b7f59a 100644 --- a/internal/ui/print.go +++ b/internal/ui/print.go @@ -4,8 +4,11 @@ import ( "fmt" "io" + "github.com/fatih/color" "github.com/spf13/cobra" + "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/version" ) @@ -13,14 +16,6 @@ import ( // to an underlying writer. type WriteWarningFunc func(msg string) -func PrintSuccess(w io.Writer, msg string) { - fmt.Fprintf(w, "%s %s\n", SuccessString("Success:"), msg) -} - -func PrintSuccessf(w io.Writer, msg string, a ...interface{}) { - PrintSuccess(w, fmt.Sprintf(msg, a...)) -} - func PrintError(w io.Writer, msg string) { fmt.Fprintf(w, "%s %s\n", ErrorString("Error:"), msg) } @@ -29,14 +24,6 @@ func PrintErrorf(w io.Writer, msg string, a ...interface{}) { PrintError(w, fmt.Sprintf(msg, a...)) } -func PrintWarning(w io.Writer, msg string) { - fmt.Fprintf(w, "%s %s\n", WarningString("Warning:"), msg) -} - -func PrintWarningf(w io.Writer, msg string, a ...interface{}) { - PrintWarning(w, fmt.Sprintf(msg, a...)) -} - func PrintUsage(cmd *cobra.Command) { cmd.SetOut(cmd.ErrOrStderr()) _ = cmd.Help() @@ -50,15 +37,22 @@ var ( ) // PrintUnexpectedErrorStack prints a full stack trace of a fatal error. -func PrintUnexpectedErrorStack(out io.Writer, err error) { - msg := fmt.Sprintf("\n%s %s\n\n%s\nEnvironment:\n%s\n\n%s %s\n", - ErrorString("Error:"), +func PrintUnexpectedErrorStack(err error) { + logging.Logger.Error().Msgf("%s\n\n%s\nEnvironment:\n%s\n\n%s %s\n", "An unexpected error occurred", err, fmt.Sprintf("Infracost %s", version.Version), stackErrorMsg, githubIssuesLink, ) +} + +func ProjectDisplayName(ctx *config.RunContext, name string) string { + return FormatIfNotCI(ctx, func(s string) string { + return color.BlueString(BoldString(s)) + }, name) +} - fmt.Fprint(out, msg) +func DirectoryDisplayName(ctx *config.RunContext, name string) string { + return FormatIfNotCI(ctx, UnderlineString, name) } diff --git a/internal/ui/promts.go b/internal/ui/promts.go deleted file mode 100644 index 1d2b607cf24..00000000000 --- a/internal/ui/promts.go +++ /dev/null @@ -1,63 +0,0 @@ -package ui - -import ( - "bufio" - "fmt" - "os" - "strings" -) - -// ValidateFn represents a validation function type for prompts. Function of -// this type should accept a string input and return an error if validation fails; -// otherwise return nil. -type ValidateFn func(input string) error - -// StringPrompt provides a single line for user input. It accepts an optional -// validation function. -func StringPrompt(label string, validate ValidateFn) string { - input := "" - reader := bufio.NewReader(os.Stdin) - - for { - fmt.Fprint(os.Stdout, label+": ") - input, _ = reader.ReadString('\n') - input = strings.TrimSpace(input) - - if validate == nil { - return input - } - - err := validate(input) - if err == nil { - break - } - - fmt.Fprintln(os.Stderr, err) - } - - return input -} - -// YesNoPrompt provides a yes/no user input. "No" is a default answer if left -// empty. -func YesNoPrompt(label string) bool { - choices := "y/N" - reader := bufio.NewReader(os.Stdin) - - for { - fmt.Fprintf(os.Stdout, "%s [%s] ", label, choices) - input, _ := reader.ReadString('\n') - input = strings.TrimSpace(input) - - if input == "" { - return false - } - - switch strings.ToLower(input) { - case "y", "yes": - return true - case "n", "no": - return false - } - } -} diff --git a/internal/ui/spin.go b/internal/ui/spin.go deleted file mode 100644 index 91d77779c79..00000000000 --- a/internal/ui/spin.go +++ /dev/null @@ -1,93 +0,0 @@ -package ui - -import ( - "fmt" - "os" - "runtime" - "time" - - spinnerpkg "github.com/briandowns/spinner" - "github.com/rs/zerolog/log" -) - -type SpinnerOptions struct { - EnableLogging bool - NoColor bool - Indent string -} - -type Spinner struct { - spinner *spinnerpkg.Spinner - msg string - opts SpinnerOptions -} - -// SpinnerFunc defines a function that returns a Spinner which can be used -// to report the progress of a certain action. -type SpinnerFunc func(msg string) *Spinner - -func NewSpinner(msg string, opts SpinnerOptions) *Spinner { - spinnerCharNumb := 14 - if runtime.GOOS == "windows" { - spinnerCharNumb = 9 - } - s := &Spinner{ - spinner: spinnerpkg.New(spinnerpkg.CharSets[spinnerCharNumb], 100*time.Millisecond, spinnerpkg.WithWriter(os.Stderr)), - msg: msg, - opts: opts, - } - - if s.opts.EnableLogging { - log.Info().Msgf("Starting: %s", msg) - } else { - s.spinner.Prefix = opts.Indent - s.spinner.Suffix = fmt.Sprintf(" %s", msg) - if !s.opts.NoColor { - _ = s.spinner.Color("fgHiCyan", "bold") - } - s.spinner.Start() - } - - return s -} - -func (s *Spinner) Stop() { - s.spinner.Stop() -} - -func (s *Spinner) Fail() { - if s.spinner == nil || !s.spinner.Active() { - return - } - s.Stop() - if s.opts.EnableLogging { - log.Error().Msgf("Failed: %s", s.msg) - } else { - fmt.Fprintf(os.Stderr, "%s%s %s\n", - s.opts.Indent, - ErrorString("✖"), - s.msg, - ) - } -} - -func (s *Spinner) SuccessWithMessage(newMsg string) { - s.msg = newMsg - s.Success() -} - -func (s *Spinner) Success() { - if !s.spinner.Active() { - return - } - s.Stop() - if s.opts.EnableLogging { - log.Info().Msgf("Completed: %s", s.msg) - } else { - fmt.Fprintf(os.Stderr, "%s%s %s\n", - s.opts.Indent, - PrimaryString("✔"), - s.msg, - ) - } -} diff --git a/internal/ui/strings.go b/internal/ui/strings.go index b8ed76d18a6..fa660dfed63 100644 --- a/internal/ui/strings.go +++ b/internal/ui/strings.go @@ -4,6 +4,8 @@ import ( "fmt" "github.com/fatih/color" + + "github.com/infracost/infracost/internal/config" ) var primary = color.New(color.FgHiCyan) @@ -89,3 +91,12 @@ func UnderlineString(msg string) string { func UnderlineStringf(msg string, a ...interface{}) string { return UnderlineString(fmt.Sprintf(msg, a...)) } + +// FormatIfNotCI runs the formatFunc if the current run context is not a CI run. +func FormatIfNotCI(ctx *config.RunContext, formatFunc func(string) string, value string) string { + if ctx.IsCIRun() { + return fmt.Sprintf("%q", value) + } + + return formatFunc(value) +} diff --git a/internal/ui/util.go b/internal/ui/util.go index 593dbec276d..d492f25b51e 100644 --- a/internal/ui/util.go +++ b/internal/ui/util.go @@ -25,10 +25,3 @@ func StripColor(str string) string { re := regexp.MustCompile(ansi) return re.ReplaceAllString(str, "") } - -func DisplayPath(path string) string { - if path == "" { - return "current directory" - } - return path -} diff --git a/internal/update/update.go b/internal/update/update.go index 2803b8bed3a..f58ebef2268 100644 --- a/internal/update/update.go +++ b/internal/update/update.go @@ -14,10 +14,10 @@ import ( "time" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "golang.org/x/mod/semver" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/version" ) @@ -34,7 +34,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { // Check cache for the latest version cachedLatestVersion, err := checkCachedLatestVersion(ctx) if err != nil { - log.Debug().Msgf("error getting cached latest version: %v", err) + logging.Logger.Debug().Msgf("error getting cached latest version: %v", err) } // Nothing to do if the current version is the latest cached version @@ -45,7 +45,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { isBrew, err := isBrewInstall() if err != nil { // don't fail if we can't detect brew, just fallback to other update method - log.Debug().Msgf("error checking if executable was installed via brew: %v", err) + logging.Logger.Debug().Msgf("error checking if executable was installed via brew: %v", err) } var cmd string @@ -75,7 +75,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { if latestVersion != cachedLatestVersion { err := setCachedLatestVersion(ctx, latestVersion) if err != nil { - log.Debug().Msgf("error saving cached latest version: %v", err) + logging.Logger.Debug().Msgf("error saving cached latest version: %v", err) } } diff --git a/internal/usage/aws/autoscaling.go b/internal/usage/aws/autoscaling.go index 9998f81a4d4..0f3053c558f 100644 --- a/internal/usage/aws/autoscaling.go +++ b/internal/usage/aws/autoscaling.go @@ -4,7 +4,8 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/autoscaling" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) func autoscalingNewClient(ctx context.Context, region string) (*autoscaling.Client, error) { @@ -21,7 +22,7 @@ func autoscalingNewClient(ctx context.Context, region string) (*autoscaling.Clie // 2. Instantaneous count right now // 3. Mean of min-size and max-size func AutoscalingGetInstanceCount(ctx context.Context, region string, name string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/AutoScaling GroupTotalInstances (region: %s, AutoScalingGroupName: %s)", region, name) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/AutoScaling GroupTotalInstances (region: %s, AutoScalingGroupName: %s)", region, name) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/AutoScaling", @@ -40,7 +41,7 @@ func AutoscalingGetInstanceCount(ctx context.Context, region string, name string if err != nil { return 0, err } - log.Debug().Msgf("Querying AWS EC2 API: DescribeAutoScalingGroups(region: %s, AutoScalingGroupNames: [%s])", region, name) + logging.Logger.Debug().Msgf("Querying AWS EC2 API: DescribeAutoScalingGroups(region: %s, AutoScalingGroupNames: [%s])", region, name) resp, err := client.DescribeAutoScalingGroups(ctx, &autoscaling.DescribeAutoScalingGroupsInput{ AutoScalingGroupNames: []string{name}, }) diff --git a/internal/usage/aws/dynamodb.go b/internal/usage/aws/dynamodb.go index 4aa07775a87..3b8fe0fc86b 100644 --- a/internal/usage/aws/dynamodb.go +++ b/internal/usage/aws/dynamodb.go @@ -5,7 +5,8 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/dynamodb" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) func dynamodbNewClient(ctx context.Context, region string) (*dynamodb.Client, error) { @@ -17,7 +18,7 @@ func dynamodbNewClient(ctx context.Context, region string) (*dynamodb.Client, er } func dynamodbGetRequests(ctx context.Context, region string, table string, metric string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/DynamoDB %s (region: %s, TableName: %s)", metric, region, table) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/DynamoDB %s (region: %s, TableName: %s)", metric, region, table) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/DynamoDB", @@ -40,7 +41,7 @@ func DynamoDBGetStorageBytes(ctx context.Context, region string, table string) ( if err != nil { return 0, err } - log.Debug().Msgf("Querying AWS DynamoDB API: DescribeTable(region: %s, table: %s)", region, table) + logging.Logger.Debug().Msgf("Querying AWS DynamoDB API: DescribeTable(region: %s, table: %s)", region, table) result, err := client.DescribeTable(ctx, &dynamodb.DescribeTableInput{TableName: strPtr(table)}) if err != nil { return 0, err diff --git a/internal/usage/aws/ec2.go b/internal/usage/aws/ec2.go index f93c618b295..6994ee5f47a 100644 --- a/internal/usage/aws/ec2.go +++ b/internal/usage/aws/ec2.go @@ -5,7 +5,8 @@ import ( "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/ec2/types" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) // c.f. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html @@ -40,7 +41,7 @@ func EC2DescribeOS(ctx context.Context, region string, ami string) (string, erro if err != nil { return "", err } - log.Debug().Msgf("Querying AWS EC2 API: DescribeImages (region: %s, ImageIds: [%s])", region, ami) + logging.Logger.Debug().Msgf("Querying AWS EC2 API: DescribeImages (region: %s, ImageIds: [%s])", region, ami) result, err := client.DescribeImages(ctx, &ec2.DescribeImagesInput{ ImageIds: []string{ami}, }) diff --git a/internal/usage/aws/eks.go b/internal/usage/aws/eks.go index 04f5ca2c1a6..a2db3e3a104 100644 --- a/internal/usage/aws/eks.go +++ b/internal/usage/aws/eks.go @@ -6,7 +6,8 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/eks" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) func eksNewClient(ctx context.Context, region string) (*eks.Client, error) { @@ -23,7 +24,7 @@ func EKSGetNodeGroupAutoscalingGroups(ctx context.Context, region string, cluste return []string{}, err } - log.Debug().Msgf("Querying AWS EKS API: DescribeNodegroup(region: %s, ClusterName: %s, NodegroupName: %s)", region, clusterName, nodeGroupName) + logging.Logger.Debug().Msgf("Querying AWS EKS API: DescribeNodegroup(region: %s, ClusterName: %s, NodegroupName: %s)", region, clusterName, nodeGroupName) result, err := client.DescribeNodegroup(ctx, &eks.DescribeNodegroupInput{ ClusterName: strPtr(clusterName), NodegroupName: strPtr(nodeGroupName), diff --git a/internal/usage/aws/lambda.go b/internal/usage/aws/lambda.go index 73f3d97560c..8c90190a467 100644 --- a/internal/usage/aws/lambda.go +++ b/internal/usage/aws/lambda.go @@ -5,11 +5,12 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/cloudwatch/types" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) func LambdaGetInvocations(ctx context.Context, region string, fn string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Invocations (region: %s, FunctionName: %s)", region, fn) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Invocations (region: %s, FunctionName: %s)", region, fn) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/Lambda", @@ -29,7 +30,7 @@ func LambdaGetInvocations(ctx context.Context, region string, fn string) (float6 } func LambdaGetDurationAvg(ctx context.Context, region string, fn string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Duration (region: %s, FunctionName: %s)", region, fn) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Duration (region: %s, FunctionName: %s)", region, fn) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/Lambda", diff --git a/internal/usage/aws/s3.go b/internal/usage/aws/s3.go index d9c3ab5f8d3..50b73abe234 100644 --- a/internal/usage/aws/s3.go +++ b/internal/usage/aws/s3.go @@ -6,7 +6,8 @@ import ( "github.com/aws/aws-sdk-go-v2/service/cloudwatch/types" "github.com/aws/aws-sdk-go-v2/service/s3" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) type ctxS3ConfigOptsKeyType struct{} @@ -32,7 +33,7 @@ func S3FindMetricsFilter(ctx context.Context, region string, bucket string) (str if err != nil { return "", err } - log.Debug().Msgf("Querying AWS S3 API: ListBucketMetricsConfigurations(region: %s, Bucket: %s)", region, bucket) + logging.Logger.Debug().Msgf("Querying AWS S3 API: ListBucketMetricsConfigurations(region: %s, Bucket: %s)", region, bucket) result, err := client.ListBucketMetricsConfigurations(ctx, &s3.ListBucketMetricsConfigurationsInput{ Bucket: strPtr(bucket), }) @@ -49,7 +50,7 @@ func S3FindMetricsFilter(ctx context.Context, region string, bucket string) (str } func S3GetBucketSizeBytes(ctx context.Context, region string, bucket string, storageType string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 BucketSizeBytes (region: %s, BucketName: %s, StorageType: %s)", region, bucket, storageType) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 BucketSizeBytes (region: %s, BucketName: %s, StorageType: %s)", region, bucket, storageType) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", @@ -72,7 +73,7 @@ func S3GetBucketSizeBytes(ctx context.Context, region string, bucket string, sto func S3GetBucketRequests(ctx context.Context, region string, bucket string, filterName string, metrics []string) (int64, error) { count := int64(0) for _, metric := range metrics { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", @@ -94,7 +95,7 @@ func S3GetBucketRequests(ctx context.Context, region string, bucket string, filt } func S3GetBucketDataBytes(ctx context.Context, region string, bucket string, filterName string, metric string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", diff --git a/internal/usage/aws/util.go b/internal/usage/aws/util.go index a33ca84bae7..e752e36570c 100644 --- a/internal/usage/aws/util.go +++ b/internal/usage/aws/util.go @@ -4,13 +4,13 @@ package aws import ( "time" - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" ) const timeMonth = time.Hour * 24 * 30 func sdkWarn(service string, usageType string, id string, err interface{}) { - log.Warn().Msgf("Error estimating %s %s usage for %s: %s", service, usageType, id, err) + logging.Logger.Warn().Msgf("Error estimating %s %s usage for %s: %s", service, usageType, id, err) } func intPtr(i int64) *int64 { diff --git a/internal/usage/resource_usage.go b/internal/usage/resource_usage.go index 36e59a0aa9a..8f8a1213aed 100644 --- a/internal/usage/resource_usage.go +++ b/internal/usage/resource_usage.go @@ -5,9 +5,9 @@ import ( "strconv" "github.com/pkg/errors" - "github.com/rs/zerolog/log" yamlv3 "gopkg.in/yaml.v3" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -108,7 +108,7 @@ func ResourceUsagesFromYAML(raw yamlv3.Node) ([]*ResourceUsage, error) { if len(raw.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - log.Error().Msgf("YAML resource usage contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + logging.Logger.Error().Msgf("YAML resource usage contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return []*ResourceUsage{}, errors.New("unexpected YAML format") } @@ -121,7 +121,7 @@ func ResourceUsagesFromYAML(raw yamlv3.Node) ([]*ResourceUsage, error) { if len(resourceValNode.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - log.Error().Msgf("YAML resource value contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + logging.Logger.Error().Msgf("YAML resource value contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return resourceUsages, errors.New("unexpected YAML format") } @@ -357,7 +357,7 @@ func ResourceUsagesToYAML(resourceUsages []*ResourceUsage) (yamlv3.Node, bool) { // } func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.UsageItem, error) { if keyNode == nil || valNode == nil { - log.Error().Msgf("YAML contains nil key or value node") + logging.Logger.Error().Msgf("YAML contains nil key or value node") return nil, errors.New("unexpected YAML format") } @@ -370,7 +370,7 @@ func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.Usag if len(valNode.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - log.Error().Msgf("YAML value map node contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + logging.Logger.Error().Msgf("YAML value map node contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return nil, errors.New("unexpected YAML format") } @@ -395,7 +395,7 @@ func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.Usag } else { err := valNode.Decode(&value) if err != nil { - log.Error().Msgf("Unable to decode YAML value") + logging.Logger.Error().Msgf("Unable to decode YAML value") return nil, errors.New("unexpected YAML format") } diff --git a/internal/usage/sync.go b/internal/usage/sync.go index 57adb50f75a..0e9e1de0e8d 100644 --- a/internal/usage/sync.go +++ b/internal/usage/sync.go @@ -7,10 +7,10 @@ import ( "sort" "strings" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -271,7 +271,7 @@ func syncResource(projectCtx *config.ProjectContext, resource *schema.Resource, err := resource.EstimateUsage(ctx, resourceUsageMap) if err != nil { syncResult.EstimationErrors[resource.Name] = err - log.Warn().Msgf("Error estimating usage for resource %s: %v", resource.Name, err) + logging.Logger.Warn().Msgf("Error estimating usage for resource %s: %v", resource.Name, err) } // Merge in the estimated usage diff --git a/internal/usage/usage_file.go b/internal/usage/usage_file.go index 039cc03ffa6..b52499bbaae 100644 --- a/internal/usage/usage_file.go +++ b/internal/usage/usage_file.go @@ -8,10 +8,10 @@ import ( "strings" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "golang.org/x/mod/semver" yamlv3 "gopkg.in/yaml.v3" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -41,7 +41,7 @@ func CreateUsageFile(path string) error { return errors.Wrapf(err, "Error writing blank usage file to %s", path) } } else { - log.Debug().Msg("Specified usage file already exists, no overriding") + logging.Logger.Debug().Msg("Specified usage file already exists, no overriding") } return nil @@ -50,7 +50,7 @@ func CreateUsageFile(path string) error { func LoadUsageFile(path string) (*UsageFile, error) { blankUsage := NewBlankUsageFile() if _, err := os.Stat(path); os.IsNotExist(err) { - log.Debug().Msg("Specified usage file does not exist. Using a blank file") + logging.Logger.Debug().Msg("Specified usage file does not exist. Using a blank file") return blankUsage, nil } diff --git a/schema/infracost.schema.json b/schema/infracost.schema.json index 76018f3d778..25b76a34f9a 100644 --- a/schema/infracost.schema.json +++ b/schema/infracost.schema.json @@ -72,7 +72,8 @@ "monthlyQuantity", "price", "hourlyCost", - "monthlyCost" + "monthlyCost", + "priceNotFound" ], "properties": { "name": { @@ -98,6 +99,9 @@ }, "usageBased": { "type": "boolean" + }, + "priceNotFound": { + "type": "boolean" } }, "additionalProperties": false, @@ -229,6 +233,7 @@ "Project": { "required": [ "name", + "displayName", "metadata", "pastBreakdown", "breakdown", @@ -239,6 +244,9 @@ "name": { "type": "string" }, + "displayName": { + "type": "string" + }, "metadata": { "$schema": "http://json-schema.org/draft-04/schema#", "$ref": "#/definitions/ProjectMetadata" diff --git a/tools/describezones/main.go b/tools/describezones/main.go index d84ab79eeb5..9eea092d20a 100644 --- a/tools/describezones/main.go +++ b/tools/describezones/main.go @@ -15,6 +15,8 @@ import ( "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/zclconf/go-cty/cty" "google.golang.org/api/compute/v1" + + "github.com/infracost/infracost/internal/logging" ) func main() { @@ -31,7 +33,7 @@ func main() { func describeAWSZones() { cfg, err := config.LoadDefaultConfig(context.Background()) if err != nil { - log.Fatalf("error loading aws config %s", err) + logging.Logger.Fatal().Msgf("error loading aws config %s", err) } svc := ec2.NewFromConfig(cfg) @@ -40,7 +42,7 @@ func describeAWSZones() { AllRegions: aws.Bool(true), }) if err != nil { - log.Fatalf("error describing ec2 regions %s", err) + logging.Logger.Fatal().Msgf("error describing ec2 regions %s", err) } m := make(map[string]map[string]cty.Value) for _, region := range resp.Regions { @@ -49,7 +51,7 @@ func describeAWSZones() { config.WithRegion(name), ) if err != nil { - log.Fatal(err) + logging.Logger.Fatal().Msg(err.Error()) } regionalSvc := ec2.NewFromConfig(regionalConf) @@ -95,13 +97,13 @@ var awsZones = map[string]cty.Value{ } `) if err != nil { - log.Fatalf("failed to create template: %s", err) + logging.Logger.Fatal().Msgf("failed to create template: %s", err) } buf := bytes.NewBuffer([]byte{}) err = tmpl.Execute(buf, m) if err != nil { - log.Fatalf("error executing template: %s", err) + logging.Logger.Fatal().Msgf("error executing template: %s", err) } writeOutput("aws", buf.Bytes()) @@ -111,7 +113,7 @@ func describeGCPZones() { computeService, err := compute.NewService(ctx) if err != nil { - log.Fatalf("failed to create compute service: %s", err) + logging.Logger.Fatal().Msgf("failed to create compute service: %s", err) } projectID := "691877312977" @@ -131,7 +133,7 @@ func describeGCPZones() { return nil }); err != nil { - log.Fatalf("Failed to list regions: %s", err) + logging.Logger.Fatal().Msgf("Failed to list regions: %s", err) } tmpl, err := template.New("test").Parse(` @@ -148,13 +150,13 @@ var gcpZones = map[string]cty.Value{ } `) if err != nil { - log.Fatalf("failed to create template: %s", err) + logging.Logger.Fatal().Msgf("failed to create template: %s", err) } buf := bytes.NewBuffer([]byte{}) err = tmpl.Execute(buf, regions) if err != nil { - log.Fatalf("error executing template: %s", err) + logging.Logger.Fatal().Msgf("error executing template: %s", err) } writeOutput("gcp", buf.Bytes()) @@ -163,16 +165,16 @@ var gcpZones = map[string]cty.Value{ func writeOutput(provider string, input []byte) { f, err := os.Create("zones_" + provider + ".go") if err != nil { - log.Fatalf("could not create output file: %s", err) + logging.Logger.Fatal().Msgf("could not create output file: %s", err) } formatted, err := format.Source(input) if err != nil { - log.Fatalf("could not format output: %s", err) + logging.Logger.Fatal().Msgf("could not format output: %s", err) } _, err = f.Write(formatted) if err != nil { - log.Fatalf("could not write output: %s", err) + logging.Logger.Fatal().Msgf("could not write output: %s", err) } } diff --git a/tools/release/main.go b/tools/release/main.go index 59af9816dc9..b509742a48c 100644 --- a/tools/release/main.go +++ b/tools/release/main.go @@ -10,9 +10,10 @@ import ( "strings" "github.com/google/go-github/v41/github" - "github.com/rs/zerolog/log" "golang.org/x/oauth2" "golang.org/x/sync/errgroup" + + "github.com/infracost/infracost/internal/logging" ) func main() { @@ -28,22 +29,22 @@ func main() { } if err != nil { - log.Error().Msgf("failed to create draft release %s", err) + logging.Logger.Error().Msgf("failed to create draft release %s", err) return } toUpload, err := findReleaseAssets() if err != nil { - log.Error().Msgf("failed to collect release assets %s", err) + logging.Logger.Error().Msgf("failed to collect release assets %s", err) return } err = uploadAssets(toUpload, cli, release) if err != nil { - log.Error().Msgf("failed to upload release assets %s", err) + logging.Logger.Error().Msgf("failed to upload release assets %s", err) return } - log.Info().Msg("successfully created draft release") + logging.Logger.Info().Msg("successfully created draft release") } func fetchExistingRelease(cli *github.Client, tag string) (*github.RepositoryRelease, error) { @@ -70,7 +71,7 @@ func fetchExistingRelease(cli *github.Client, tag string) (*github.RepositoryRel for _, asset := range release.Assets { _, err = cli.Repositories.DeleteReleaseAsset(context.Background(), "infracost", "infracost", asset.GetID()) if err != nil { - log.Error().Msgf("failed to delete asset %s", err) + logging.Logger.Error().Msgf("failed to delete asset %s", err) continue } } @@ -165,7 +166,7 @@ func uploadAssets(toUpload []string, cli *github.Client, release *github.Reposit } func uploadAsset(file string, cli *github.Client, id int64) error { - log.Info().Msgf("uploading asset %s", file) + logging.Logger.Info().Msgf("uploading asset %s", file) f, err := os.Open(file) if err != nil { From 513085a130f689bc2d027d9d45aae41fd69aef43 Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Tue, 23 Apr 2024 15:19:32 +0200 Subject: [PATCH 23/50] fix: `pricesNotFoundList` env property (#3029) Change the `pricesNotFound` property so that it can be correctly aggregated in reporting. --- cmd/infracost/run.go | 2 +- internal/prices/prices.go | 11 +++++++++-- internal/prices/prices_test.go | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/cmd/infracost/run.go b/cmd/infracost/run.go index dad6619491b..222a7cd4f81 100644 --- a/cmd/infracost/run.go +++ b/cmd/infracost/run.go @@ -925,7 +925,7 @@ func (r *parallelRunner) buildRunEnv(projectContexts []*config.ProjectContext, o env["totalUnestimatedUsages"] = summary.TotalUnestimatedUsages if r.pricingFetcher.MissingPricesLen() > 0 { - env["pricesNotFound"] = r.pricingFetcher.MissingPricesComponents() + env["pricesNotFoundList"] = r.pricingFetcher.MissingPricesComponents() } if n := or.ExampleProjectName(); n != "" { diff --git a/internal/prices/prices.go b/internal/prices/prices.go index ce590493717..6ed81972803 100644 --- a/internal/prices/prices.go +++ b/internal/prices/prices.go @@ -112,11 +112,18 @@ func (p *PriceFetcher) addNotFoundResult(result apiclient.PriceQueryResult) { // MissingPricesComponents returns a map of missing prices by component name, component // names are in the format: resource_type.cost_component_name. -func (p *PriceFetcher) MissingPricesComponents() map[string]int { +func (p *PriceFetcher) MissingPricesComponents() []string { p.mux.RLock() defer p.mux.RUnlock() - return p.components + var result []string + for key, count := range p.components { + for i := 0; i < count; i++ { + result = append(result, key) + } + } + + return result } // MissingPricesLen returns the number of missing prices. diff --git a/internal/prices/prices_test.go b/internal/prices/prices_test.go index 959ead85ec5..881b08175dd 100644 --- a/internal/prices/prices_test.go +++ b/internal/prices/prices_test.go @@ -17,7 +17,7 @@ func Test_notFound_Add(t *testing.T) { tests := []struct { name string args args - want map[string]int + want []string }{ { name: "test aggregates resource/cost component with correct keys", @@ -41,7 +41,7 @@ func Test_notFound_Add(t *testing.T) { }, }, }}, - want: map[string]int{"aws_instance.compute": 2, "aws_instance.data_storage": 1}, + want: []string{"aws_instance.compute", "aws_instance.compute", "aws_instance.data_storage"}, }, } for _, tt := range tests { From 44c603fc5e2cbfcafa1c810f22dda3e1fc37bd6e Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Tue, 23 Apr 2024 15:29:40 +0200 Subject: [PATCH 24/50] fix: always return `DetectionOutput` from `Detect` (#3030) Resolves issue where `infracost generate` throws an panic if an error is encountered during `Detect`. --- internal/providers/detect.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/providers/detect.go b/internal/providers/detect.go index 1ad0e7ee49e..f2afc780439 100644 --- a/internal/providers/detect.go +++ b/internal/providers/detect.go @@ -30,7 +30,7 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource path := project.Path if _, err := os.Stat(path); os.IsNotExist(err) { - return nil, fmt.Errorf("No such file or directory %s", path) + return &DetectionOutput{}, fmt.Errorf("No such file or directory %s", path) } forceCLI := project.TerraformForceCLI @@ -83,7 +83,7 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource pl := hcl.NewProjectLocator(logging.Logger, locatorConfig) rootPaths := pl.FindRootModules(project.Path) if len(rootPaths) == 0 { - return nil, fmt.Errorf("could not detect path type for '%s'", path) + return &DetectionOutput{}, fmt.Errorf("could not detect path type for '%s'", path) } repoPath := ctx.Config.RepoPath() From a468bce140136bed33d68d2f316b174ae02030b4 Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Tue, 23 Apr 2024 19:34:11 +0200 Subject: [PATCH 25/50] feat: support wildcards for autodetect `envNames` (#3031) Adds support for wildcard naming in autodetect `envNames` configuration. This enables users to define conventions for env names that can dynamically expand in the future. This greatly reduces the burden of managing the envNames section and makes it more maintainable. --- .../wildcard_env_names/expected.golden | 34 +++++++++++++++++ .../wildcard_env_names/infracost.yml.tmpl | 7 ++++ .../generate/wildcard_env_names/tree.txt | 10 +++++ internal/hcl/project_locator.go | 37 ++++++++++++++++--- 4 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 cmd/infracost/testdata/generate/wildcard_env_names/expected.golden create mode 100644 cmd/infracost/testdata/generate/wildcard_env_names/infracost.yml.tmpl create mode 100644 cmd/infracost/testdata/generate/wildcard_env_names/tree.txt diff --git a/cmd/infracost/testdata/generate/wildcard_env_names/expected.golden b/cmd/infracost/testdata/generate/wildcard_env_names/expected.golden new file mode 100644 index 00000000000..65c4c1373c9 --- /dev/null +++ b/cmd/infracost/testdata/generate/wildcard_env_names/expected.golden @@ -0,0 +1,34 @@ +version: 0.1 + +projects: + - path: terraform + name: terraform-conf-dev-foo + terraform_var_files: + - env/conf-dev-foo.tfvars + skip_autodetect: true + - path: terraform + name: terraform-conf-prod-foo + terraform_var_files: + - env/conf-prod-foo.tfvars + skip_autodetect: true + - path: terraform + name: terraform-dev + terraform_var_files: + - env/dev.tfvars + skip_autodetect: true + - path: terraform + name: terraform-ops-dev + terraform_var_files: + - env/ops-dev.tfvars + skip_autodetect: true + - path: terraform + name: terraform-ops-prod-bar + terraform_var_files: + - env/ops-prod-bar.tfvars + skip_autodetect: true + - path: terraform + name: terraform-ops-prod-foo + terraform_var_files: + - env/ops-prod-foo.tfvars + skip_autodetect: true + diff --git a/cmd/infracost/testdata/generate/wildcard_env_names/infracost.yml.tmpl b/cmd/infracost/testdata/generate/wildcard_env_names/infracost.yml.tmpl new file mode 100644 index 00000000000..0d1ce52afdd --- /dev/null +++ b/cmd/infracost/testdata/generate/wildcard_env_names/infracost.yml.tmpl @@ -0,0 +1,7 @@ +version: 0.1 +autodetect: + env_names: + - ops-* + - conf-* + - dev + diff --git a/cmd/infracost/testdata/generate/wildcard_env_names/tree.txt b/cmd/infracost/testdata/generate/wildcard_env_names/tree.txt new file mode 100644 index 00000000000..b016de56b3f --- /dev/null +++ b/cmd/infracost/testdata/generate/wildcard_env_names/tree.txt @@ -0,0 +1,10 @@ +. +└── terraform + ├── env + │ ├── ops-prod-foo.tfvars + │ ├── ops-prod-bar.tfvars + │ ├── ops-dev.tfvars + │ ├── conf-dev-foo.tfvars + │ ├── dev.tfvars + │ └── conf-prod-foo.tfvars + └── main.tf diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index c334fc27ca5..cdfc6b24326 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -4,6 +4,7 @@ import ( "bufio" "fmt" "os" + "path" "path/filepath" "sort" "strings" @@ -70,6 +71,7 @@ type EnvFileMatcher struct { envNames []string envLookup map[string]struct{} extensions []string + wildcards []string } func CreateEnvFileMatcher(names []string, extensions []string) *EnvFileMatcher { @@ -83,10 +85,20 @@ func CreateEnvFileMatcher(names []string, extensions []string) *EnvFileMatcher { return CreateEnvFileMatcher(defaultEnvs, extensions) } - // ensure all env names to lowercase so we can match case insensitively. - envNames := make([]string, len(names)) - for i, name := range names { - envNames[i] = strings.ToLower(name) + var envNames []string + var wildcards []string + for _, name := range names { + // envNames can contain wildcards, we need to handle them separately. e.g: dev-* + // will create separate envs for dev-staging and dev-legacy. We don't want these + // wildcards to appear in the envNames list as this will create unwanted env + // grouping. + if strings.Contains(name, "*") { + wildcards = append(wildcards, name) + continue + } + + // ensure all env names to lowercase, so we can match case insensitively. + envNames = append(envNames, strings.ToLower(name)) } lookup := make(map[string]struct{}, len(names)) @@ -95,9 +107,10 @@ func CreateEnvFileMatcher(names []string, extensions []string) *EnvFileMatcher { } return &EnvFileMatcher{ - envNames: names, + envNames: envNames, envLookup: lookup, extensions: extensions, + wildcards: wildcards, } } @@ -129,6 +142,12 @@ func (e *EnvFileMatcher) IsEnvName(file string) bool { } } + for _, wildcard := range e.wildcards { + if isMatch, _ := path.Match(wildcard, clean); isMatch { + return true + } + } + return false } @@ -146,6 +165,14 @@ func (e *EnvFileMatcher) EnvName(file string) string { return clean } + // if we have a wildcard match to an env name return the clean name now + // as the partial match logic can collide with wildcard matches. + for _, wildcard := range e.wildcards { + if isMatch, _ := path.Match(wildcard, clean); isMatch { + return clean + } + } + // if we have a partial suffix match to an env name return the partial match // which is the longest match. This is likely to be the better match. e.g: if we // have both dev and legacy-dev as defined envNames, given a tfvar named From 2343800471f263c7130d00f2dbda96c0736ee43c Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Tue, 23 Apr 2024 13:49:24 +0100 Subject: [PATCH 26/50] enhance: support env terraform var files in hidden files We sometimes see Terraform var files prefixed with a '.', e.g. `.prod.tfvars`. This change ensures these files are recognized for the correct environment. --- .../generate/hidden_var_files/expected.golden | 36 +++++++++++++++++++ .../generate/hidden_var_files/tree.txt | 11 ++++++ internal/hcl/project_locator.go | 20 +++++++---- 3 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 cmd/infracost/testdata/generate/hidden_var_files/expected.golden create mode 100644 cmd/infracost/testdata/generate/hidden_var_files/tree.txt diff --git a/cmd/infracost/testdata/generate/hidden_var_files/expected.golden b/cmd/infracost/testdata/generate/hidden_var_files/expected.golden new file mode 100644 index 00000000000..1fba5f5393d --- /dev/null +++ b/cmd/infracost/testdata/generate/hidden_var_files/expected.golden @@ -0,0 +1,36 @@ +version: 0.1 + +projects: + - path: apps/bar + name: apps-bar-dev + terraform_var_files: + - ../default.tfvars + - ../.network-baz.tfvars + - ../.network-bat.tfvars + - ../.dev.tfvars + skip_autodetect: true + - path: apps/bar + name: apps-bar-prod + terraform_var_files: + - ../default.tfvars + - ../.network-baz.tfvars + - ../.network-bat.tfvars + - ../.prod.tfvars + skip_autodetect: true + - path: apps/foo + name: apps-foo-dev + terraform_var_files: + - ../default.tfvars + - ../.network-baz.tfvars + - ../.network-bat.tfvars + - ../.dev.tfvars + skip_autodetect: true + - path: apps/foo + name: apps-foo-prod + terraform_var_files: + - ../default.tfvars + - ../.network-baz.tfvars + - ../.network-bat.tfvars + - ../.prod.tfvars + skip_autodetect: true + diff --git a/cmd/infracost/testdata/generate/hidden_var_files/tree.txt b/cmd/infracost/testdata/generate/hidden_var_files/tree.txt new file mode 100644 index 00000000000..f0f3c972c5f --- /dev/null +++ b/cmd/infracost/testdata/generate/hidden_var_files/tree.txt @@ -0,0 +1,11 @@ +. +└── apps + ├── bar + │ └── main.tf + ├── foo + │ └── main.tf + ├── .network-baz.tfvars + ├── .network-bat.tfvars + ├── .dev.tfvars + ├── .prod.tfvars + └── default.tfvars diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index cdfc6b24326..2ce12523fec 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -207,11 +207,11 @@ func (e *EnvFileMatcher) EnvName(file string) string { } func (e *EnvFileMatcher) hasEnvPrefix(clean string, name string) bool { - return strings.HasPrefix(clean, name+"-") || strings.HasPrefix(clean, name+"_") + return strings.HasPrefix(clean, name+"-") || strings.HasPrefix(clean, name+"_") || strings.HasPrefix(clean, "."+name) } func (e *EnvFileMatcher) hasEnvSuffix(clean string, name string) bool { - return strings.HasSuffix(clean, "_"+name) || strings.HasSuffix(clean, "-"+name) + return strings.HasSuffix(clean, "_"+name) || strings.HasSuffix(clean, "-"+name) || strings.HasSuffix(clean, "."+name) } type discoveredProject struct { @@ -1486,17 +1486,25 @@ func hasDefaultVarFileExtension(name string) bool { } // fullExtension returns the full extension of a file, starting from the first -// dot in the file name. This is used instead of the builtin filepath.Ext -// function as the latter only returns the last extension in the file name. For +// dot in the file name. For hidden file (starting with a dot), the second dot is used. +// This is used instead of the builtin filepath.Ext function as the latter +// only returns the last extension in the file name. For // example filepath.Ext("file.tfvars.json") would return ".json" instead of // ".tfvars.json". func fullExtension(fileName string) string { + if len(fileName) == 0 { + return "" + } + // Find the index of the first dot. - dotIndex := strings.Index(fileName, ".") - if dotIndex == -1 { + // Skip the first character as we don't want to match hidden files. + dotIndex := strings.Index(fileName[1:], ".") + 1 + + if dotIndex == 0 { // No dot found, return empty string. return "" } + // Return the substring from the first dot to the end of the string. return fileName[dotIndex:] } From dde0c1586bc512063f01ff4f0b17c3048f74e119 Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Tue, 23 Apr 2024 17:40:40 +0100 Subject: [PATCH 27/50] enhance: support `.` in env var file names This adds support for var files like `config.prod.tfvars`, which will be recognized as the `prod` env. This needed a refactor to how we clean var file names since previously this would have stripped `.prod.tfvars` from the var file name. Instead now we only strip valid extensions. --- .../expected.golden | 4 + .../tree.txt | 2 + internal/hcl/project_locator.go | 168 ++++++++++-------- internal/providers/terraform/hcl_provider.go | 2 +- 4 files changed, 101 insertions(+), 75 deletions(-) rename cmd/infracost/testdata/generate/{hidden_var_files => env_var_dots}/expected.golden (87%) rename cmd/infracost/testdata/generate/{hidden_var_files => env_var_dots}/tree.txt (79%) diff --git a/cmd/infracost/testdata/generate/hidden_var_files/expected.golden b/cmd/infracost/testdata/generate/env_var_dots/expected.golden similarity index 87% rename from cmd/infracost/testdata/generate/hidden_var_files/expected.golden rename to cmd/infracost/testdata/generate/env_var_dots/expected.golden index 1fba5f5393d..51466afbace 100644 --- a/cmd/infracost/testdata/generate/hidden_var_files/expected.golden +++ b/cmd/infracost/testdata/generate/env_var_dots/expected.golden @@ -7,6 +7,7 @@ projects: - ../default.tfvars - ../.network-baz.tfvars - ../.network-bat.tfvars + - ../config.dev.tfvars - ../.dev.tfvars skip_autodetect: true - path: apps/bar @@ -15,6 +16,7 @@ projects: - ../default.tfvars - ../.network-baz.tfvars - ../.network-bat.tfvars + - ../config.prod.tfvars - ../.prod.tfvars skip_autodetect: true - path: apps/foo @@ -23,6 +25,7 @@ projects: - ../default.tfvars - ../.network-baz.tfvars - ../.network-bat.tfvars + - ../config.dev.tfvars - ../.dev.tfvars skip_autodetect: true - path: apps/foo @@ -31,6 +34,7 @@ projects: - ../default.tfvars - ../.network-baz.tfvars - ../.network-bat.tfvars + - ../config.prod.tfvars - ../.prod.tfvars skip_autodetect: true diff --git a/cmd/infracost/testdata/generate/hidden_var_files/tree.txt b/cmd/infracost/testdata/generate/env_var_dots/tree.txt similarity index 79% rename from cmd/infracost/testdata/generate/hidden_var_files/tree.txt rename to cmd/infracost/testdata/generate/env_var_dots/tree.txt index f0f3c972c5f..5750848bb15 100644 --- a/cmd/infracost/testdata/generate/hidden_var_files/tree.txt +++ b/cmd/infracost/testdata/generate/env_var_dots/tree.txt @@ -6,6 +6,8 @@ │ └── main.tf ├── .network-baz.tfvars ├── .network-bat.tfvars + ├── config.dev.tfvars + ├── config.prod.tfvars ├── .dev.tfvars ├── .prod.tfvars └── default.tfvars diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index 2ce12523fec..0a983f3dc38 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -153,7 +153,9 @@ func (e *EnvFileMatcher) IsEnvName(file string) bool { func (e *EnvFileMatcher) clean(name string) string { base := filepath.Base(name) - return strings.ToLower(strings.TrimSuffix(base, fullExtension(base))) + + stem, _ := splitExtension(base, e.extensions) + return strings.ToLower(stem) } // EnvName returns the environment name for the given var file. @@ -246,16 +248,16 @@ type ProjectLocator struct { envMatcher *EnvFileMatcher skip bool - shouldSkipDir func(string) bool - shouldIncludeDir func(string) bool - pathOverrides []pathOverride - wdContainsTerragrunt bool - fallbackToIncludePaths bool - maxConfiguredDepth int - forceProjectType string - teraformVarFileExtensions []string - hclParser *hclparse.Parser - hasCustomEnvExt bool + shouldSkipDir func(string) bool + shouldIncludeDir func(string) bool + pathOverrides []pathOverride + wdContainsTerragrunt bool + fallbackToIncludePaths bool + maxConfiguredDepth int + forceProjectType string + terraformVarFileExtensions []string + hclParser *hclparse.Parser + hasCustomEnvExt bool } // ProjectLocatorConfig provides configuration options on how the locator functions. @@ -339,21 +341,21 @@ func NewProjectLocator(logger zerolog.Logger, config *ProjectLocatorConfig) *Pro shouldIncludeDir: func(s string) bool { return false }, - fallbackToIncludePaths: config.FallbackToIncludePaths, - forceProjectType: config.ForceProjectType, - teraformVarFileExtensions: extensions, - hclParser: hclparse.NewParser(), - hasCustomEnvExt: len(config.TerraformVarFileExtensions) > 0, + fallbackToIncludePaths: config.FallbackToIncludePaths, + forceProjectType: config.ForceProjectType, + terraformVarFileExtensions: extensions, + hclParser: hclparse.NewParser(), + hasCustomEnvExt: len(config.TerraformVarFileExtensions) > 0, } } return &ProjectLocator{ - modules: make(map[string]struct{}), - discoveredVarFiles: make(map[string][]RootPathVarFile), - logger: logger, - envMatcher: matcher, - teraformVarFileExtensions: defaultExtensions, - hclParser: hclparse.NewParser(), + modules: make(map[string]struct{}), + discoveredVarFiles: make(map[string][]RootPathVarFile), + logger: logger, + envMatcher: matcher, + terraformVarFileExtensions: defaultExtensions, + hclParser: hclparse.NewParser(), } } @@ -1431,48 +1433,39 @@ func (p *ProjectLocator) walkPaths(fullPath string, level int, maxSearchDepth in } func (p *ProjectLocator) isTerraformVarFile(name string, fullPath string) bool { - for _, envExt := range p.teraformVarFileExtensions { - // if we have custom extensions enabled in the autodetect configuration we need - // to match the exact extension of the file to the custom env var extension. This - // is so that when we have a custom extension that specifies no extension e.g. - // "", this doesn't match all files (as it would with strings.HasSuffix). - if p.hasCustomEnvExt { - // first check if the file has a default var file extension - // if it does we can skip the custom extension check. - if hasDefaultVarFileExtension(name) { - return true - } + if hasDefaultVarFileExtension(name) { + return true + } - fileExt := fullExtension(name) - if fileExt == envExt { - // if we have custom extensions enabled in the autodetect configuration we need - // to make sure that this file is a valid HCL file before we add it to the list - // of discovered var files. This is because we can have collisions with custom - // env var extensions and other files that are not valid HCL files. e.g. with an - // empty/wildcard extension we could match a file called "tfvars" and also - // "Jenkinsfile", the latter being a non-HCL file. - _, d := p.hclParser.ParseHCLFile(fullPath) - if d != nil { - continue - } + // we also check for tfvars.json files as these are non-standard naming + // conventions which are used by some projects. + if strings.HasPrefix(name, "tfvars") && strings.HasSuffix(name, ".json") { + return true + } - return true - } + // If there are no custom extensions we can early exit here. + if !p.hasCustomEnvExt { + return false + } - continue - } + // if we have custom extensions enabled in the autodetect configuration we need + // to check the extension of the file to see if it matches any of the custom + if !hasVarFileExtension(name, p.terraformVarFileExtensions) { + return false + } - // default back to the standard suffix matching if we don't have custom - // extensions this means we can flexibly match extensions that might appear - // outside the norm. e.g. prod.env.tfvars - if strings.HasSuffix(name, envExt) { - return true - } + // if we have custom extensions enabled in the autodetect configuration we need + // to make sure that this file is a valid HCL file before we add it to the list + // of discovered var files. This is because we can have collisions with custom + // env var extensions and other files that are not valid HCL files. e.g. with an + // empty/wildcard extension we could match a file called "tfvars" and also + // "Jenkinsfile", the latter being a non-HCL file. + _, d := p.hclParser.ParseHCLFile(fullPath) + if d != nil { + return false } - // we also check for tfvars.json files as these are non-standard naming - // conventions which are used by some projects. - return strings.HasPrefix(name, "tfvars") && strings.HasSuffix(name, ".json") + return true } func hasDefaultVarFileExtension(name string) bool { @@ -1485,28 +1478,55 @@ func hasDefaultVarFileExtension(name string) bool { return false } -// fullExtension returns the full extension of a file, starting from the first -// dot in the file name. For hidden file (starting with a dot), the second dot is used. -// This is used instead of the builtin filepath.Ext function as the latter -// only returns the last extension in the file name. For -// example filepath.Ext("file.tfvars.json") would return ".json" instead of -// ".tfvars.json". -func fullExtension(fileName string) string { +// splitExtension splits the extension from a file name. It will return the file name +// without the extension and the extension itself. If the file name does not have an +// extension it will return the original file name and an empty string. +func splitExtension(fileName string, extensions []string) (string, string) { + if len(fileName) == 0 { + return "", "" + } + + // Sort the extensions by length so that we can match the longest extension first. + sorted := make([]string, len(extensions)) + copy(sorted, extensions) + sort.Slice(sorted, func(i, j int) bool { + return len(sorted[i]) > len(sorted[j]) + }) + + for _, ext := range sorted { + if strings.HasSuffix(fileName, ext) { + return fileName[:len(fileName)-len(ext)], ext + } + } + + return fileName, "" +} + +// hasVarFileExtension checks if the file name has a valid extension. +func hasVarFileExtension(fileName string, extensions []string) bool { if len(fileName) == 0 { - return "" + return false } - // Find the index of the first dot. - // Skip the first character as we don't want to match hidden files. - dotIndex := strings.Index(fileName[1:], ".") + 1 + _, ext := splitExtension(fileName, extensions) + if ext != "" { + return true + } - if dotIndex == 0 { - // No dot found, return empty string. - return "" + blankExtensionAllowed := false + for _, e := range extensions { + if e == "" { + blankExtensionAllowed = true + break + } } - // Return the substring from the first dot to the end of the string. - return fileName[dotIndex:] + // Check if there's a dot in the filename, but ignore the first character as we don't want to match hidden files. + if ext == "" && blankExtensionAllowed && !strings.Contains(fileName[1:], ".") { + return true + } + + return false } type terraformDirInfo struct { diff --git a/internal/providers/terraform/hcl_provider.go b/internal/providers/terraform/hcl_provider.go index f84beb5c041..0f60ab70df8 100644 --- a/internal/providers/terraform/hcl_provider.go +++ b/internal/providers/terraform/hcl_provider.go @@ -173,7 +173,7 @@ func NewHCLProvider(ctx *config.ProjectContext, rootPath hcl.RootPath, config *H rootPath.Path = initialPath return &HCLProvider{ policyClient: policyClient, - Parser: hcl.NewParser(rootPath, hcl.CreateEnvFileMatcher(ctx.RunContext.Config.Autodetect.EnvNames, nil), loader, logger, options...), + Parser: hcl.NewParser(rootPath, hcl.CreateEnvFileMatcher(ctx.RunContext.Config.Autodetect.EnvNames, ctx.RunContext.Config.Autodetect.TerraformVarFileExtensions), loader, logger, options...), planJSONParser: NewParser(ctx, true), ctx: ctx, config: *config, From 9fbb0ce77efd501dc3bbec03c4b98d0cdc703266 Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Tue, 23 Apr 2024 18:04:57 +0100 Subject: [PATCH 28/50] enhance: ignore empty var files during autodetect If the user has `terraform_var_file_extensions` set to '' then we want to make sure we exclude empty files with no extensions. --- .../generate/env_var_extensions/tree.txt | 1 + internal/hcl/project_locator.go | 51 ++++++++++++------- internal/testutil/generate.go | 8 ++- 3 files changed, 40 insertions(+), 20 deletions(-) diff --git a/cmd/infracost/testdata/generate/env_var_extensions/tree.txt b/cmd/infracost/testdata/generate/env_var_extensions/tree.txt index 6b80fdb201a..5524e3d5273 100644 --- a/cmd/infracost/testdata/generate/env_var_extensions/tree.txt +++ b/cmd/infracost/testdata/generate/env_var_extensions/tree.txt @@ -8,6 +8,7 @@ ├── Jenkinsfile ├── dev.tfvars ├── common.tfvars.json + ├── empty-file ├── prod-custom-ext ├── prod.env.tfvars └── default.tfvars diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index 0a983f3dc38..fd3a6b00b6b 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -85,6 +85,12 @@ func CreateEnvFileMatcher(names []string, extensions []string) *EnvFileMatcher { return CreateEnvFileMatcher(defaultEnvs, extensions) } + // Sort the extensions by length so that we always prefer the longest extension + // when matching a file. + sort.Slice(extensions, func(i, j int) bool { + return len(extensions[i]) > len(extensions[j]) + }) + var envNames []string var wildcards []string for _, name := range names { @@ -154,7 +160,7 @@ func (e *EnvFileMatcher) IsEnvName(file string) bool { func (e *EnvFileMatcher) clean(name string) string { base := filepath.Base(name) - stem, _ := splitExtension(base, e.extensions) + stem, _ := splitVarFileExt(base, e.extensions) return strings.ToLower(stem) } @@ -317,6 +323,12 @@ func NewProjectLocator(logger zerolog.Logger, config *ProjectLocatorConfig) *Pro matcher = CreateEnvFileMatcher(config.EnvNames, nil) } + // Sort the extensions by length so that we always prefer the longest extension + // when matching a file. + sort.Slice(extensions, func(i, j int) bool { + return len(extensions[i]) > len(extensions[j]) + }) + overrides := make([]pathOverride, len(config.PathOverrides)) for i, override := range config.PathOverrides { overrides[i] = newPathOverride(override) @@ -1460,12 +1472,16 @@ func (p *ProjectLocator) isTerraformVarFile(name string, fullPath string) bool { // env var extensions and other files that are not valid HCL files. e.g. with an // empty/wildcard extension we could match a file called "tfvars" and also // "Jenkinsfile", the latter being a non-HCL file. - _, d := p.hclParser.ParseHCLFile(fullPath) + f, d := p.hclParser.ParseHCLFile(fullPath) if d != nil { return false } - return true + // If the file is empty or has a comment, it would still be considered a valid + // So we check it has at least one attribute defined. + attr, _ := f.Body.JustAttributes() + + return len(attr) > 0 } func hasDefaultVarFileExtension(name string) bool { @@ -1478,22 +1494,17 @@ func hasDefaultVarFileExtension(name string) bool { return false } -// splitExtension splits the extension from a file name. It will return the file name -// without the extension and the extension itself. If the file name does not have an -// extension it will return the original file name and an empty string. -func splitExtension(fileName string, extensions []string) (string, string) { +// splitVarFileExt splits the var file extension (.tfvar, .tfvar.json, etc) from a file name. +// It will return the file name without the extension and the extension itself. If the file name +// does not have a valid var file extension it will return the original file name and an empty string. +// +// The valid extensions should be passed in by the caller sorted by preference. +func splitVarFileExt(fileName string, sortedExts []string) (string, string) { if len(fileName) == 0 { return "", "" } - // Sort the extensions by length so that we can match the longest extension first. - sorted := make([]string, len(extensions)) - copy(sorted, extensions) - sort.Slice(sorted, func(i, j int) bool { - return len(sorted[i]) > len(sorted[j]) - }) - - for _, ext := range sorted { + for _, ext := range sortedExts { if strings.HasSuffix(fileName, ext) { return fileName[:len(fileName)-len(ext)], ext } @@ -1508,11 +1519,13 @@ func hasVarFileExtension(fileName string, extensions []string) bool { return false } - _, ext := splitExtension(fileName, extensions) - if ext != "" { + _, varFileExt := splitVarFileExt(fileName, extensions) + if varFileExt != "" { return true } + // Check if a "" extension is allowed. This means we allowed var files to be in files + // without an extension such as `prod` or `dev`. blankExtensionAllowed := false for _, e := range extensions { if e == "" { @@ -1521,8 +1534,8 @@ func hasVarFileExtension(fileName string, extensions []string) bool { } } - // Check if there's a dot in the filename, but ignore the first character as we don't want to match hidden files. - if ext == "" && blankExtensionAllowed && !strings.Contains(fileName[1:], ".") { + // If the file has no extension and we allow blank extensions we return true. + if filepath.Ext(fileName) == "" && blankExtensionAllowed { return true } diff --git a/internal/testutil/generate.go b/internal/testutil/generate.go index 8b52bcfd9e6..a5615bd8777 100644 --- a/internal/testutil/generate.go +++ b/internal/testutil/generate.go @@ -73,7 +73,7 @@ func createFileWithContents(filePath string) error { }` case "terragrunt.hcl.json": content = `include { - path = find_in_parent_folders() + path = find_in_parent_folders() }` case "Jenkinsfile": content = ` @@ -109,6 +109,12 @@ instance_type = "m5.4xlarge" ` } + if strings.HasPrefix(filename, "empty-file") { + content = ` + # This is an empty file +` + } + return os.WriteFile(filePath, []byte(content), 0600) } From cd0ddc8898c5f1bd6045602a936ab1c46486e25f Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Wed, 24 Apr 2024 09:48:00 +0100 Subject: [PATCH 29/50] fix: ensure hidden files are properly recognised as env var files --- .../env_var_dot_extensions/expected.golden | 32 +++++++++++++++++++ .../env_var_dot_extensions/infracost.yml.tmpl | 10 ++++++ .../generate/env_var_dot_extensions/tree.txt | 11 +++++++ internal/hcl/project_locator.go | 5 ++- 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 cmd/infracost/testdata/generate/env_var_dot_extensions/expected.golden create mode 100644 cmd/infracost/testdata/generate/env_var_dot_extensions/infracost.yml.tmpl create mode 100644 cmd/infracost/testdata/generate/env_var_dot_extensions/tree.txt diff --git a/cmd/infracost/testdata/generate/env_var_dot_extensions/expected.golden b/cmd/infracost/testdata/generate/env_var_dot_extensions/expected.golden new file mode 100644 index 00000000000..41cd87551cc --- /dev/null +++ b/cmd/infracost/testdata/generate/env_var_dot_extensions/expected.golden @@ -0,0 +1,32 @@ +version: 0.1 + +projects: + - path: apps/bar + name: apps-bar-dev + terraform_var_files: + - ../default.tfvars + - ../.dev-custom-ext + - ../.config.dev.env.tfvars + skip_autodetect: true + - path: apps/bar + name: apps-bar-prod + terraform_var_files: + - ../default.tfvars + - ../.prod-custom-ext + - ../.config.prod.env.tfvars + skip_autodetect: true + - path: apps/foo + name: apps-foo-dev + terraform_var_files: + - ../default.tfvars + - ../.dev-custom-ext + - ../.config.dev.env.tfvars + skip_autodetect: true + - path: apps/foo + name: apps-foo-prod + terraform_var_files: + - ../default.tfvars + - ../.prod-custom-ext + - ../.config.prod.env.tfvars + skip_autodetect: true + diff --git a/cmd/infracost/testdata/generate/env_var_dot_extensions/infracost.yml.tmpl b/cmd/infracost/testdata/generate/env_var_dot_extensions/infracost.yml.tmpl new file mode 100644 index 00000000000..817c08edfc2 --- /dev/null +++ b/cmd/infracost/testdata/generate/env_var_dot_extensions/infracost.yml.tmpl @@ -0,0 +1,10 @@ +version: 0.1 +autodetect: + env_names: + - baz + - dev + - prod + terraform_var_file_extensions: + - ".tfvars" + - ".env.tfvars" + - "" diff --git a/cmd/infracost/testdata/generate/env_var_dot_extensions/tree.txt b/cmd/infracost/testdata/generate/env_var_dot_extensions/tree.txt new file mode 100644 index 00000000000..35caa2d57c2 --- /dev/null +++ b/cmd/infracost/testdata/generate/env_var_dot_extensions/tree.txt @@ -0,0 +1,11 @@ +. +└── apps + ├── bar + │ └── main.tf + ├── foo + │ └── main.tf + ├── .dev-custom-ext + ├── .prod-custom-ext + ├── .config.prod.env.tfvars + ├── .config.dev.env.tfvars + └── default.tfvars diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index fd3a6b00b6b..d5545c3db58 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -1535,7 +1535,10 @@ func hasVarFileExtension(fileName string, extensions []string) bool { } // If the file has no extension and we allow blank extensions we return true. - if filepath.Ext(fileName) == "" && blankExtensionAllowed { + // When checking if the extension is blank we also remove any leading dots from + // the file name otherwise filepath.Ext returns the full file name as the extension + // for hidden files. + if filepath.Ext(strings.TrimPrefix(fileName, ".")) == "" && blankExtensionAllowed { return true } From 2cb2e71e60c2189bb3769f5c74cc3311c64a62dd Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Wed, 24 Apr 2024 14:45:42 +0200 Subject: [PATCH 30/50] feat: add templatefile support (#3027) * feat: add templatefile support Adds support for the `templatefile` function and adds coverage for various other file functions. * fix: use symlink realpath * fix: isPathInRepo only applicable for github/gitlab app --- cmd/infracost/breakdown_test.go | 50 ++++++ .../breakdown_terraform_file_funcs.golden | 139 ++++++++++++++++ .../instance.json | 3 + .../breakdown_terraform_file_funcs/main.tf | 65 ++++++++ .../sym-instance.json | 1 + .../templ.tftpl | 3 + .../breakdown_terragrunt_file_funcs.golden | 149 ++++++++++++++++++ .../instance.json | 3 + .../breakdown_terragrunt_file_funcs/main.tf | 87 ++++++++++ .../sym-instance.json | 1 + .../templ.tftpl | 3 + .../terragrunt.hcl | 5 + cmd/infracost/testdata/instance.json | 3 + cmd/infracost/testdata/templ.tftpl | 3 + internal/hcl/evaluator.go | 66 ++++---- internal/hcl/funcs/crypto.go | 28 ++-- internal/hcl/funcs/crypto_test.go | 12 +- internal/hcl/funcs/filesystem.go | 90 +++++++++-- internal/hcl/funcs/filesystem_test.go | 32 +++- internal/hcl/graph.go | 12 +- internal/hcl/graph_vertex_module_call.go | 12 +- internal/hcl/parser.go | 1 + .../terraform/terragrunt_hcl_provider.go | 28 +++- 23 files changed, 702 insertions(+), 94 deletions(-) create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf create mode 120000 cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf create mode 120000 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl create mode 100644 cmd/infracost/testdata/instance.json create mode 100644 cmd/infracost/testdata/templ.tftpl diff --git a/cmd/infracost/breakdown_test.go b/cmd/infracost/breakdown_test.go index 06dd3fa890a..b405ffc1f00 100644 --- a/cmd/infracost/breakdown_test.go +++ b/cmd/infracost/breakdown_test.go @@ -1336,3 +1336,53 @@ func TestBreakdownNoPricesWarnings(t *testing.T) { nil, ) } + +func TestBreakdownTerragruntFileFuncs(t *testing.T) { + if os.Getenv("GITHUB_ACTIONS") == "" { + t.Skip("skipping as this test is only designed for GitHub Actions") + } + + t.Setenv("INFRACOST_CI_PLATFORM", "github_app") + + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + }, + nil, + // only run the graph evaluator for these tests as otherwise we can mocked values + // in the golden files which cause failures between the hcl/hcl graph tests + func(ctx *config.RunContext) { + ctx.Config.GraphEvaluator = true + }, + ) +} + +func TestBreakdownTerraformFileFuncs(t *testing.T) { + if os.Getenv("GITHUB_ACTIONS") == "" { + t.Skip("skipping as this test is only designed for GitHub Actions") + } + + t.Setenv("INFRACOST_CI_PLATFORM", "github_app") + + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + }, + nil, + // only run the graph evaluator for these tests as otherwise we can mocked values + // in the golden files which cause failures between the hcl/hcl graph tests + func(ctx *config.RunContext) { + ctx.Config.GraphEvaluator = true + }, + ) +} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden b/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden new file mode 100644 index 00000000000..ff3e049f2f6 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden @@ -0,0 +1,139 @@ +Project: main + + Name Monthly Qty Unit Monthly Cost + + aws_instance.file["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $175.50 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +23 cloud resources were detected: +∙ 23 were estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $175 ┃ $0.00 ┃ $175 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + + +Logs: +WARN 19 aws_instance prices missing across 19 resources + diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json b/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json new file mode 100644 index 00000000000..b3fb356b747 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json @@ -0,0 +1,3 @@ +{ + "instance_type": "m5.large" +} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf b/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf new file mode 100644 index 00000000000..863e3523980 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf @@ -0,0 +1,65 @@ +provider "aws" { + region = "us-east-1" + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +locals { + files = [ + { name = "cd", file = "instance.json", }, + { name = "sym", file = "sym-instance.json", }, + { name = "pd", file = "../instance.json", }, + { + name = "abs", + file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json", + }, + { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/instance.json", }, + ] + dirs = [ + { name = "cd", dir = "." }, + { name = "pd", dir = "../" }, + { name = "abs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/" }, + { name = "pdabs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/" }, + + ] + template_files = [ + { name = "cd", file = "templ.tftpl", }, + { name = "pd", file = "../templ.tftpl", }, + { + name = "abs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl", + }, + { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/templ.tftpl", } + ] +} + +resource "aws_instance" "file" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = jsondecode(file(each.value)).instance_type +} + +resource "aws_instance" "fileexists" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = fileexists(each.value) ? "e" : "ne" +} + +resource "aws_instance" "fileset" { + for_each = { for f in local.dirs : f.name => f.dir } + ami = "ami-674cbc1e" + instance_type = length(fileset(each.value, "*.json")) +} + +resource "aws_instance" "filemd5" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = filemd5(each.value) +} + +resource "aws_instance" "template_file" { + for_each = { for f in local.template_files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = jsondecode(templatefile(each.value, {})).instance_type +} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json b/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json new file mode 120000 index 00000000000..2598ef6dccc --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json @@ -0,0 +1 @@ +../instance.json \ No newline at end of file diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl b/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl new file mode 100644 index 00000000000..460d1557190 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl @@ -0,0 +1,3 @@ +${jsonencode({ +"instance_type": "t2.micro", +})} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden new file mode 100644 index 00000000000..926ddd40499 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden @@ -0,0 +1,149 @@ +Project: main + + Name Monthly Qty Unit Monthly Cost + + aws_instance.file["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.get_account_id + ├─ Instance usage (Linux/UNIX, on-demand, account_id-mock) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.get_aws_caller_identity_arn + ├─ Instance usage (Linux/UNIX, on-demand, arn:aws:iam::123456789012:user/terragrunt-mock) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $177.10 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +25 cloud resources were detected: +∙ 25 were estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $177 ┃ $0.00 ┃ $177 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + + +Logs: +WARN 21 aws_instance prices missing across 21 resources + diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json new file mode 100644 index 00000000000..b3fb356b747 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json @@ -0,0 +1,3 @@ +{ + "instance_type": "m5.large" +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf new file mode 100644 index 00000000000..be73cc5ef1c --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf @@ -0,0 +1,87 @@ +provider "aws" { + region = "us-east-1" + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +variable "get_aws_account_id" { + type = string +} + +variable "get_aws_caller_identity_arn" { + type = string +} + +variable "get_aws_caller_identity_user_id" { + type = string +} + +resource "aws_instance" "get_account_id" { + ami = "ami-674cbc1e" + instance_type = var.get_aws_account_id +} + +resource "aws_instance" "get_aws_caller_identity_arn" { + ami = "ami-674cbc1e" + instance_type = var.get_aws_caller_identity_arn +} + +locals { + files = [ + { name = "cd", file = "instance.json", }, + { name = "sym", file = "sym-instance.json", }, + { name = "pd", file = "../instance.json", }, + { + name = "abs", + file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json", + }, + { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/instance.json", }, + ] + dirs = [ + { name = "cd", dir = "." }, + { name = "pd", dir = "../" }, + { name = "abs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/" }, + { name = "pdabs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/" }, + + ] + template_files = [ + { name = "cd", file = "templ.tftpl", }, + { name = "pd", file = "../templ.tftpl", }, + { + name = "abs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl", + }, + { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/templ.tftpl", } + ] +} + +resource "aws_instance" "file" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = jsondecode(file(each.value)).instance_type +} + +resource "aws_instance" "fileexists" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = fileexists(each.value) ? "e" : "ne" +} + +resource "aws_instance" "fileset" { + for_each = { for f in local.dirs : f.name => f.dir } + ami = "ami-674cbc1e" + instance_type = length(fileset(each.value, "*.json")) +} + +resource "aws_instance" "filemd5" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = filemd5(each.value) +} + +resource "aws_instance" "template_file" { + for_each = { for f in local.template_files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = jsondecode(templatefile(each.value, {})).instance_type +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json new file mode 120000 index 00000000000..2598ef6dccc --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json @@ -0,0 +1 @@ +../instance.json \ No newline at end of file diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl new file mode 100644 index 00000000000..460d1557190 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl @@ -0,0 +1,3 @@ +${jsonencode({ +"instance_type": "t2.micro", +})} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl new file mode 100644 index 00000000000..4775c125bc9 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl @@ -0,0 +1,5 @@ +inputs = { + get_aws_account_id = get_aws_account_id() + get_aws_caller_identity_arn = get_aws_caller_identity_arn() + get_aws_caller_identity_user_id = get_aws_caller_identity_user_id() +} diff --git a/cmd/infracost/testdata/instance.json b/cmd/infracost/testdata/instance.json new file mode 100644 index 00000000000..8cecf9c98b8 --- /dev/null +++ b/cmd/infracost/testdata/instance.json @@ -0,0 +1,3 @@ +{ + "instance_type": "t2.small" +} diff --git a/cmd/infracost/testdata/templ.tftpl b/cmd/infracost/testdata/templ.tftpl new file mode 100644 index 00000000000..4b0f947ded9 --- /dev/null +++ b/cmd/infracost/testdata/templ.tftpl @@ -0,0 +1,3 @@ +${jsonencode({ +"instance_type": "t2.medium", +})} diff --git a/internal/hcl/evaluator.go b/internal/hcl/evaluator.go index b153f097d90..bed6d86a01e 100644 --- a/internal/hcl/evaluator.go +++ b/internal/hcl/evaluator.go @@ -95,24 +95,26 @@ type Evaluator struct { logger zerolog.Logger isGraph bool filteredBlocks []*Block + repoPath string } // NewEvaluator returns an Evaluator with Context initialised with top level variables. // This Context is then passed to all Blocks as child Context so that variables built in Evaluation // are propagated to the Block Attributes. + func NewEvaluator( + repoPath string, module Module, workingDir string, inputVars map[string]cty.Value, moduleMetadata *modules.Manifest, visitedModules map[string]map[string]cty.Value, - workspace string, - blockBuilder BlockBuilder, + workspace string, blockBuilder BlockBuilder, logger zerolog.Logger, isGraph bool, ) *Evaluator { ctx := NewContext(&hcl.EvalContext{ - Functions: ExpFunctions(module.RootPath, logger), + Functions: ExpFunctions(repoPath, module.RootPath, logger), }, nil, logger) // Add any provider references from blocks in this module. @@ -171,6 +173,7 @@ func NewEvaluator( Logger() return &Evaluator{ + repoPath: repoPath, module: module, ctx: ctx, inputVars: inputVars, @@ -344,25 +347,23 @@ func (e *Evaluator) evaluateModules() { e.visitedModules[fullName] = vars - moduleEvaluator := NewEvaluator( - Module{ - Name: fullName, - Source: moduleCall.Module.Source, - Blocks: moduleCall.Module.RawBlocks, - RawBlocks: moduleCall.Module.RawBlocks, - RootPath: e.module.RootPath, - ModulePath: moduleCall.Path, - Modules: nil, - Parent: &e.module, - SourceURL: moduleCall.Module.SourceURL, - ProviderReferences: moduleCall.Module.ProviderReferences, - }, + moduleEvaluator := NewEvaluator(e.repoPath, Module{ + Name: fullName, + Source: moduleCall.Module.Source, + Blocks: moduleCall.Module.RawBlocks, + RawBlocks: moduleCall.Module.RawBlocks, + RootPath: e.module.RootPath, + ModulePath: moduleCall.Path, + Modules: nil, + Parent: &e.module, + SourceURL: moduleCall.Module.SourceURL, + ProviderReferences: moduleCall.Module.ProviderReferences, + }, e.workingDir, vars, e.moduleMetadata, map[string]map[string]cty.Value{}, - e.workspace, - e.blockBuilder, + e.workspace, e.blockBuilder, e.logger, e.isGraph, ) @@ -1139,8 +1140,8 @@ func (e *Evaluator) loadModules(lastContext hcl.EvalContext) { // ExpFunctions returns the set of functions that should be used to when evaluating // expressions in the receiving scope. -func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Function { - return map[string]function.Function{ +func ExpFunctions(repoDir, baseDir string, logger zerolog.Logger) map[string]function.Function { + fns := map[string]function.Function{ "abs": stdlib.AbsoluteFunc, "abspath": funcs.AbsPathFunc, "basename": funcs.BasenameFunc, @@ -1168,16 +1169,16 @@ func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Fun "element": stdlib.ElementFunc, "endswith": funcs.EndsWithFunc, "chunklist": stdlib.ChunklistFunc, - "file": funcs.MakeFileFunc(baseDir, false), - "fileexists": funcs.MakeFileExistsFunc(baseDir), - "fileset": funcs.MakeFileSetFunc(baseDir), - "filebase64": funcs.MakeFileFunc(baseDir, true), - "filebase64sha256": funcs.MakeFileBase64Sha256Func(baseDir), - "filebase64sha512": funcs.MakeFileBase64Sha512Func(baseDir), - "filemd5": funcs.MakeFileMd5Func(baseDir), - "filesha1": funcs.MakeFileSha1Func(baseDir), - "filesha256": funcs.MakeFileSha256Func(baseDir), - "filesha512": funcs.MakeFileSha512Func(baseDir), + "file": funcs.MakeFileFunc(repoDir, baseDir, false), + "filebase64": funcs.MakeFileFunc(repoDir, baseDir, true), + "fileexists": funcs.MakeFileExistsFunc(repoDir, baseDir), + "fileset": funcs.MakeFileSetFunc(repoDir, baseDir), + "filebase64sha256": funcs.MakeFileBase64Sha256Func(repoDir, baseDir), + "filebase64sha512": funcs.MakeFileBase64Sha512Func(repoDir, baseDir), + "filemd5": funcs.MakeFileMd5Func(repoDir, baseDir), + "filesha1": funcs.MakeFileSha1Func(repoDir, baseDir), + "filesha256": funcs.MakeFileSha256Func(repoDir, baseDir), + "filesha512": funcs.MakeFileSha512Func(repoDir, baseDir), "flatten": stdlib.FlattenFunc, "floor": stdlib.FloorFunc, "format": stdlib.FormatFunc, @@ -1251,4 +1252,9 @@ func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Fun "zipmap": stdlib.ZipmapFunc, } + fns["templatefile"] = funcs.MakeTemplateFileFunc(repoDir, baseDir, func() map[string]function.Function { + return fns + }) + + return fns } diff --git a/internal/hcl/funcs/crypto.go b/internal/hcl/funcs/crypto.go index c49915a1e87..36b464b6a4d 100644 --- a/internal/hcl/funcs/crypto.go +++ b/internal/hcl/funcs/crypto.go @@ -74,8 +74,8 @@ var Base64Sha256Func = makeStringHashFunction(sha256.New, base64.StdEncoding.Enc // MakeFileBase64Sha256Func constructs a function that is like Base64Sha256Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileBase64Sha256Func(baseDir string) function.Function { - return makeFileHashFunction(baseDir, sha256.New, base64.StdEncoding.EncodeToString) +func MakeFileBase64Sha256Func(repoDir, baseDir string) function.Function { + return makeFileHashFunction(repoDir, baseDir, sha256.New, base64.StdEncoding.EncodeToString) } // Base64Sha512Func constructs a function that computes the SHA256 hash of a given string @@ -84,8 +84,8 @@ var Base64Sha512Func = makeStringHashFunction(sha512.New, base64.StdEncoding.Enc // MakeFileBase64Sha512Func constructs a function that is like Base64Sha512Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileBase64Sha512Func(baseDir string) function.Function { - return makeFileHashFunction(baseDir, sha512.New, base64.StdEncoding.EncodeToString) +func MakeFileBase64Sha512Func(repoDir, baseDir string) function.Function { + return makeFileHashFunction(repoDir, baseDir, sha512.New, base64.StdEncoding.EncodeToString) } // BcryptFunc constructs a function that computes a hash of the given string using the Blowfish cipher. @@ -131,8 +131,8 @@ var Md5Func = makeStringHashFunction(md5.New, hex.EncodeToString) // MakeFileMd5Func constructs a function that is like Md5Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileMd5Func(baseDir string) function.Function { - return makeFileHashFunction(baseDir, md5.New, hex.EncodeToString) +func MakeFileMd5Func(repoDir, baseDir string) function.Function { + return makeFileHashFunction(repoDir, baseDir, md5.New, hex.EncodeToString) } // RsaDecryptFunc constructs a function that decrypts an RSA-encrypted ciphertext. @@ -190,8 +190,8 @@ var Sha1Func = makeStringHashFunction(sha1.New, hex.EncodeToString) // MakeFileSha1Func constructs a function that is like Sha1Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileSha1Func(baseDir string) function.Function { - return makeFileHashFunction(baseDir, sha1.New, hex.EncodeToString) +func MakeFileSha1Func(repoDir, baseDir string) function.Function { + return makeFileHashFunction(repoDir, baseDir, sha1.New, hex.EncodeToString) } // Sha256Func constructs a function that computes the SHA256 hash of a given string @@ -200,8 +200,8 @@ var Sha256Func = makeStringHashFunction(sha256.New, hex.EncodeToString) // MakeFileSha256Func constructs a function that is like Sha256Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileSha256Func(baseDir string) function.Function { - return makeFileHashFunction(baseDir, sha256.New, hex.EncodeToString) +func MakeFileSha256Func(repoDir, baseDir string) function.Function { + return makeFileHashFunction(repoDir, baseDir, sha256.New, hex.EncodeToString) } // Sha512Func constructs a function that computes the SHA512 hash of a given string @@ -210,8 +210,8 @@ var Sha512Func = makeStringHashFunction(sha512.New, hex.EncodeToString) // MakeFileSha512Func constructs a function that is like Sha512Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileSha512Func(baseDir string) function.Function { - return makeFileHashFunction(baseDir, sha512.New, hex.EncodeToString) +func MakeFileSha512Func(repoDir, baseDir string) function.Function { + return makeFileHashFunction(repoDir, baseDir, sha512.New, hex.EncodeToString) } func makeStringHashFunction(hf func() hash.Hash, enc func([]byte) string) function.Function { @@ -233,7 +233,7 @@ func makeStringHashFunction(hf func() hash.Hash, enc func([]byte) string) functi }) } -func makeFileHashFunction(baseDir string, hf func() hash.Hash, enc func([]byte) string) function.Function { +func makeFileHashFunction(repoDir, baseDir string, hf func() hash.Hash, enc func([]byte) string) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ { @@ -244,7 +244,7 @@ func makeFileHashFunction(baseDir string, hf func() hash.Hash, enc func([]byte) Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { path := args[0].AsString() - f, err := openFile(baseDir, path) + f, err := openFile(repoDir, baseDir, path) if err != nil { return cty.UnknownVal(cty.String), err } diff --git a/internal/hcl/funcs/crypto_test.go b/internal/hcl/funcs/crypto_test.go index ad7590bb6bc..a9056c9b40a 100644 --- a/internal/hcl/funcs/crypto_test.go +++ b/internal/hcl/funcs/crypto_test.go @@ -144,7 +144,7 @@ func TestFileBase64Sha256(t *testing.T) { }, } - fileSHA256 := MakeFileBase64Sha256Func(".") + fileSHA256 := MakeFileBase64Sha256Func("", ".") for _, test := range tests { t.Run(fmt.Sprintf("filebase64sha256(%#v)", test.Path), func(t *testing.T) { @@ -225,7 +225,7 @@ func TestFileBase64Sha512(t *testing.T) { }, } - fileSHA512 := MakeFileBase64Sha512Func(".") + fileSHA512 := MakeFileBase64Sha512Func("", ".") for _, test := range tests { t.Run(fmt.Sprintf("filebase64sha512(%#v)", test.Path), func(t *testing.T) { @@ -343,7 +343,7 @@ func TestFileMD5(t *testing.T) { }, } - fileMD5 := MakeFileMd5Func(".") + fileMD5 := MakeFileMd5Func("", ".") for _, test := range tests { t.Run(fmt.Sprintf("filemd5(%#v)", test.Path), func(t *testing.T) { @@ -500,7 +500,7 @@ func TestFileSHA1(t *testing.T) { }, } - fileSHA1 := MakeFileSha1Func(".") + fileSHA1 := MakeFileSha1Func("", ".") for _, test := range tests { t.Run(fmt.Sprintf("filesha1(%#v)", test.Path), func(t *testing.T) { @@ -578,7 +578,7 @@ func TestFileSHA256(t *testing.T) { }, } - fileSHA256 := MakeFileSha256Func(".") + fileSHA256 := MakeFileSha256Func("", ".") for _, test := range tests { t.Run(fmt.Sprintf("filesha256(%#v)", test.Path), func(t *testing.T) { @@ -656,7 +656,7 @@ func TestFileSHA512(t *testing.T) { }, } - fileSHA512 := MakeFileSha512Func(".") + fileSHA512 := MakeFileSha512Func("", ".") for _, test := range tests { t.Run(fmt.Sprintf("filesha512(%#v)", test.Path), func(t *testing.T) { diff --git a/internal/hcl/funcs/filesystem.go b/internal/hcl/funcs/filesystem.go index 4c4ede06a7a..d895f237b4b 100644 --- a/internal/hcl/funcs/filesystem.go +++ b/internal/hcl/funcs/filesystem.go @@ -6,6 +6,7 @@ import ( "io" "os" "path/filepath" + "strings" "unicode/utf8" "github.com/bmatcuk/doublestar" @@ -19,7 +20,7 @@ import ( // MakeFileFunc constructs a function that takes a file path and returns the // contents of that file, either directly as a string (where valid UTF-8 is // required) or as a string containing base64 bytes. -func MakeFileFunc(baseDir string, encBase64 bool) function.Function { +func MakeFileFunc(repoDir, baseDir string, encBase64 bool) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ { @@ -30,7 +31,7 @@ func MakeFileFunc(baseDir string, encBase64 bool) function.Function { Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { path := args[0].AsString() - src, err := readFileBytes(baseDir, path) + src, err := readFileBytes(repoDir, baseDir, path) if err != nil { err = function.NewArgError(0, err) return cty.UnknownVal(cty.String), err @@ -63,7 +64,7 @@ func MakeFileFunc(baseDir string, encBase64 bool) function.Function { // As a special exception, a referenced template file may not recursively call // the templatefile function, since that would risk the same file being // included into itself indefinitely. -func MakeTemplateFileFunc(baseDir string, funcsCb func() map[string]function.Function) function.Function { +func MakeTemplateFileFunc(repoDir, baseDir string, funcsCb func() map[string]function.Function) function.Function { params := []function.Parameter{ { @@ -79,7 +80,8 @@ func MakeTemplateFileFunc(baseDir string, funcsCb func() map[string]function.Fun loadTmpl := func(fn string) (hcl.Expression, error) { // We re-use File here to ensure the same filename interpretation // as it does, along with its other safety checks. - tmplVal, err := File(baseDir, cty.StringVal(fn)) + fileFn := MakeFileFunc(repoDir, baseDir, false) + tmplVal, err := fileFn.Call([]cty.Value{cty.StringVal(fn)}) if err != nil { return nil, err } @@ -182,7 +184,7 @@ func MakeTemplateFileFunc(baseDir string, funcsCb func() map[string]function.Fun // MakeFileExistsFunc constructs a function that takes a path // and determines whether a file exists at that path -func MakeFileExistsFunc(baseDir string) function.Function { +func MakeFileExistsFunc(repoDir, baseDir string) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ { @@ -205,6 +207,11 @@ func MakeFileExistsFunc(baseDir string) function.Function { // Ensure that the path is canonical for the host OS path = filepath.Clean(path) + // Ensure that the path is within the repository directory + if err := isPathInRepo(repoDir, path); err != nil { + return cty.False, nil + } + fi, err := os.Stat(path) if err != nil { if os.IsNotExist(err) { @@ -225,7 +232,7 @@ func MakeFileExistsFunc(baseDir string) function.Function { // MakeFileSetFunc constructs a function that takes a glob pattern // and enumerates a file set from that pattern -func MakeFileSetFunc(baseDir string) function.Function { +func MakeFileSetFunc(repoDir string, baseDir string) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ { @@ -246,6 +253,11 @@ func MakeFileSetFunc(baseDir string) function.Function { path = filepath.Join(baseDir, path) } + err := isPathInRepo(repoDir, path) + if err != nil { + return cty.SetValEmpty(cty.String), nil + } + // Join the path to the glob pattern, while ensuring the full // pattern is canonical for the host OS. The joined path is // automatically cleaned during this operation. @@ -258,6 +270,9 @@ func MakeFileSetFunc(baseDir string) function.Function { var matchVals []cty.Value for _, match := range matches { + if err := isPathInRepo(repoDir, match); err != nil { + continue + } fi, err := os.Stat(match) if err != nil { @@ -352,7 +367,7 @@ var PathExpandFunc = function.New(&function.Spec{ }, }) -func openFile(baseDir, path string) (*os.File, error) { +func openFile(repoDir, baseDir, path string) (*os.File, error) { path, err := homedir.Expand(path) if err != nil { return nil, fmt.Errorf("failed to expand ~: %s", err) @@ -364,12 +379,61 @@ func openFile(baseDir, path string) (*os.File, error) { // Ensure that the path is canonical for the host OS path = filepath.Clean(path) + err = isPathInRepo(repoDir, path) + if err != nil { + return nil, err + } return os.Open(path) } -func readFileBytes(baseDir, path string) ([]byte, error) { - f, err := openFile(baseDir, path) +func isPathInRepo(repoDir string, path string) error { + // isPathInRepo is a no-op when not running in github/gitlab app env. + ciPlatform := os.Getenv("INFRACOST_CI_PLATFORM") + if ciPlatform != "github_app" && ciPlatform != "gitlab_app" { + return nil + } + + if filepath.IsAbs(path) && !filepath.IsAbs(repoDir) { + repoDirAbs, err := filepath.Abs(repoDir) + if err == nil { + repoDir = repoDirAbs + } + } + + // ensure the path resolves to the real symlink path + path = symlinkPath(path) + + clean := filepath.Clean(repoDir) + if repoDir != "" && !strings.HasPrefix(path, clean) { + return fmt.Errorf("file %s is not within the repository directory %s", path, repoDir) + } + + return nil +} + +// symlinkPath checks the given file path and returns the real path if it is a +// symlink. +func symlinkPath(filepathStr string) string { + fileInfo, err := os.Lstat(filepathStr) + if err != nil { + return filepathStr + } + + if fileInfo.Mode()&os.ModeSymlink != 0 { + realPath, err := filepath.EvalSymlinks(filepathStr) + if err != nil { + return filepathStr + } + + return realPath + } + + return filepathStr +} + +func readFileBytes(repoDir, baseDir, path string) ([]byte, error) { + f, err := openFile(repoDir, baseDir, path) if err != nil { if os.IsNotExist(err) { // An extra Terraform-specific hint for this situation @@ -394,7 +458,7 @@ func readFileBytes(baseDir, path string) ([]byte, error) { // directory, so this wrapper takes a base directory string and uses it to // construct the underlying function before calling it. func File(baseDir string, path cty.Value) (cty.Value, error) { - fn := MakeFileFunc(baseDir, false) + fn := MakeFileFunc("", baseDir, false) return fn.Call([]cty.Value{path}) } @@ -404,7 +468,7 @@ func File(baseDir string, path cty.Value) (cty.Value, error) { // directory, so this wrapper takes a base directory string and uses it to // construct the underlying function before calling it. func FileExists(baseDir string, path cty.Value) (cty.Value, error) { - fn := MakeFileExistsFunc(baseDir) + fn := MakeFileExistsFunc("", baseDir) return fn.Call([]cty.Value{path}) } @@ -414,7 +478,7 @@ func FileExists(baseDir string, path cty.Value) (cty.Value, error) { // directory, so this wrapper takes a base directory string and uses it to // construct the underlying function before calling it. func FileSet(baseDir string, path, pattern cty.Value) (cty.Value, error) { - fn := MakeFileSetFunc(baseDir) + fn := MakeFileSetFunc("", baseDir) return fn.Call([]cty.Value{path, pattern}) } @@ -426,7 +490,7 @@ func FileSet(baseDir string, path, pattern cty.Value) (cty.Value, error) { // directory, so this wrapper takes a base directory string and uses it to // construct the underlying function before calling it. func FileBase64(baseDir string, path cty.Value) (cty.Value, error) { - fn := MakeFileFunc(baseDir, true) + fn := MakeFileFunc("", baseDir, true) return fn.Call([]cty.Value{path}) } diff --git a/internal/hcl/funcs/filesystem_test.go b/internal/hcl/funcs/filesystem_test.go index 80ff694f71c..20ef5b8db50 100644 --- a/internal/hcl/funcs/filesystem_test.go +++ b/internal/hcl/funcs/filesystem_test.go @@ -13,30 +13,48 @@ import ( func TestFile(t *testing.T) { tests := []struct { - Path cty.Value - Want cty.Value - Err bool + Path cty.Value + RepoPath string + OSFunc func(t *testing.T) + Want cty.Value + Err bool }{ { cty.StringVal("testdata/hello.txt"), + "", + func(t *testing.T) {}, cty.StringVal("Hello World"), false, }, { cty.StringVal("testdata/icon.png"), + "", + func(t *testing.T) {}, cty.NilVal, true, // Not valid UTF-8 }, { cty.StringVal("testdata/missing"), + "", + func(t *testing.T) {}, cty.NilVal, true, // no file exists }, + { + cty.StringVal("testdata/hello.txt"), + "/foo/bar", + func(t *testing.T) { t.Setenv("INFRACOST_CI_PLATFORM", "github_app") }, + cty.NilVal, + true, + }, } for _, test := range tests { - t.Run(fmt.Sprintf("File(\".\", %#v)", test.Path), func(t *testing.T) { - got, err := File(".", test.Path) + t.Run(fmt.Sprintf("MakeFileFunc(%s, \".\", %s#v)", test.RepoPath, test.Path), func(t *testing.T) { + test.OSFunc(t) + + fn := MakeFileFunc(test.RepoPath, ".", false) + got, err := fn.Call([]cty.Value{test.Path}) if test.Err { if err == nil { @@ -157,10 +175,10 @@ func TestTemplateFile(t *testing.T) { }, } - templateFileFn := MakeTemplateFileFunc(".", func() map[string]function.Function { + templateFileFn := MakeTemplateFileFunc("", ".", func() map[string]function.Function { return map[string]function.Function{ "join": stdlib.JoinFunc, - "templatefile": MakeFileFunc(".", false), // just a placeholder, since templatefile itself overrides this + "templatefile": MakeFileFunc("", ".", false), // just a placeholder, since templatefile itself overrides this } }) diff --git a/internal/hcl/graph.go b/internal/hcl/graph.go index 73a43d834f1..2d0f9c21f68 100644 --- a/internal/hcl/graph.go +++ b/internal/hcl/graph.go @@ -450,17 +450,7 @@ func (g *Graph) loadBlocksForModule(evaluator *Evaluator) ([]*Block, error) { return nil, fmt.Errorf("could not load module %q", block.FullName()) } - moduleEvaluator := NewEvaluator( - *modCall.Module, - evaluator.workingDir, - map[string]cty.Value{}, - evaluator.moduleMetadata, - map[string]map[string]cty.Value{}, - evaluator.workspace, - evaluator.blockBuilder, - evaluator.logger, - evaluator.isGraph, - ) + moduleEvaluator := NewEvaluator(evaluator.repoPath, *modCall.Module, evaluator.workingDir, map[string]cty.Value{}, evaluator.moduleMetadata, map[string]map[string]cty.Value{}, evaluator.workspace, evaluator.blockBuilder, evaluator.logger, evaluator.isGraph) modBlocks, err := g.loadBlocksForModule(moduleEvaluator) if err != nil { diff --git a/internal/hcl/graph_vertex_module_call.go b/internal/hcl/graph_vertex_module_call.go index 39fd7b085b2..2f321ee001b 100644 --- a/internal/hcl/graph_vertex_module_call.go +++ b/internal/hcl/graph_vertex_module_call.go @@ -117,17 +117,7 @@ func (v *VertexModuleCall) expand(e *Evaluator, b *Block, mutex *sync.Mutex) ([] vars := block.Values().AsValueMap() - moduleEvaluator := NewEvaluator( - *modCall.Module, - e.workingDir, - vars, - e.moduleMetadata, - map[string]map[string]cty.Value{}, - e.workspace, - e.blockBuilder, - e.logger, - e.isGraph, - ) + moduleEvaluator := NewEvaluator(e.repoPath, *modCall.Module, e.workingDir, vars, e.moduleMetadata, map[string]map[string]cty.Value{}, e.workspace, e.blockBuilder, e.logger, e.isGraph) v.moduleConfigs.Add(unexpandedName, ModuleConfig{ name: name, diff --git a/internal/hcl/parser.go b/internal/hcl/parser.go index a0a4fa6c352..48210591ae1 100644 --- a/internal/hcl/parser.go +++ b/internal/hcl/parser.go @@ -395,6 +395,7 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { // load an Evaluator with the top level Blocks to begin Context propagation. evaluator := NewEvaluator( + p.repoPath, Module{ Name: "", Source: "", diff --git a/internal/providers/terraform/terragrunt_hcl_provider.go b/internal/providers/terraform/terragrunt_hcl_provider.go index 1bc2eae9c0b..d368b83501c 100644 --- a/internal/providers/terraform/terragrunt_hcl_provider.go +++ b/internal/providers/terraform/terragrunt_hcl_provider.go @@ -457,10 +457,23 @@ func (p *TerragruntHCLProvider) prepWorkingDirs() ([]*terragruntWorkingDirInfo, return }, Functions: func(baseDir string) map[string]function.Function { - funcs := hcl.ExpFunctions(baseDir, p.logger) + repoPath := p.Path.RepoPath + if !filepath.IsAbs(repoPath) { + abs, err := filepath.Abs(repoPath) + if err != nil { + p.logger.Debug().Err(err).Msgf("Failed to transform Terragrunt repo path to absolute path for %s", repoPath) + } else { + repoPath = abs + } + } + + funcs := hcl.ExpFunctions(repoPath, baseDir, p.logger) funcs["run_cmd"] = mockSliceFuncStaticReturn(cty.StringVal("run_cmd-mock")) funcs["sops_decrypt_file"] = mockSliceFuncStaticReturn(cty.StringVal("sops_decrypt_file-mock")) + funcs["get_aws_account_id"] = mockSliceFuncStaticReturn(cty.StringVal("account_id-mock")) + funcs["get_aws_caller_identity_arn"] = mockSliceFuncStaticReturn(cty.StringVal("arn:aws:iam::123456789012:user/terragrunt-mock")) + funcs["get_aws_caller_identity_user_id"] = mockSliceFuncStaticReturn(cty.StringVal("caller_identity_user_id-mock")) return funcs }, @@ -595,10 +608,21 @@ func (p *TerragruntHCLProvider) runTerragrunt(opts *tgoptions.TerragruntOptions) logCtx := p.logger.With().Str("parent_provider", "terragrunt_dir").Ctx(context.Background()) + repoPath := p.Path.RepoPath + if filepath.IsAbs(pconfig.Path) && !filepath.IsAbs(repoPath) { + abs, err := filepath.Abs(repoPath) + if err != nil { + p.logger.Debug().Err(err).Msgf("Failed to transform Terragrunt repo path to absolute path for %s", repoPath) + } else { + repoPath = abs + } + } + h, err := NewHCLProvider( config.NewProjectContext(p.ctx.RunContext, &pconfig, logCtx), hcl.RootPath{ - Path: pconfig.Path, + Path: pconfig.Path, + RepoPath: repoPath, }, &HCLProviderConfig{CacheParsingModules: true, SkipAutoDetection: true}, ops..., From 3e2f18c2b81fc2619d5f4bec5095abd98b52abbd Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Wed, 24 Apr 2024 17:32:24 +0200 Subject: [PATCH 31/50] fix: bad yaml indentation for generated config file (#3034) --- internal/providers/terraform/terragrunt_hcl_provider.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/providers/terraform/terragrunt_hcl_provider.go b/internal/providers/terraform/terragrunt_hcl_provider.go index d368b83501c..2bd5ab4a426 100644 --- a/internal/providers/terraform/terragrunt_hcl_provider.go +++ b/internal/providers/terraform/terragrunt_hcl_provider.go @@ -201,7 +201,7 @@ func (p *TerragruntHCLProvider) VarFiles() []string { func (p *TerragruntHCLProvider) YAML() string { str := strings.Builder{} - str.WriteString(fmt.Sprintf(" - path: %s\nname: %s\n", p.RelativePath(), p.ProjectName())) + str.WriteString(fmt.Sprintf(" - path: %s\n name: %s\n", p.RelativePath(), p.ProjectName())) return str.String() } From 6f56cb818158af2032114ec01b9400953966d5dc Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Thu, 25 Apr 2024 10:43:31 +0200 Subject: [PATCH 32/50] fix: tests after yaml indentation change (#3035) --- .../testdata/generate/force_project_type/expected.golden | 2 +- .../testdata/generate/terragrunt/expected.golden | 9 +++------ .../terragrunt_and_terraform_mixed/expected.golden | 9 +++------ 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/cmd/infracost/testdata/generate/force_project_type/expected.golden b/cmd/infracost/testdata/generate/force_project_type/expected.golden index ec60d5c578c..b8ed185d599 100644 --- a/cmd/infracost/testdata/generate/force_project_type/expected.golden +++ b/cmd/infracost/testdata/generate/force_project_type/expected.golden @@ -12,5 +12,5 @@ projects: - prod.tfvars skip_autodetect: true - path: nondup -name: nondup + name: nondup diff --git a/cmd/infracost/testdata/generate/terragrunt/expected.golden b/cmd/infracost/testdata/generate/terragrunt/expected.golden index ff44a328566..16efd191a97 100644 --- a/cmd/infracost/testdata/generate/terragrunt/expected.golden +++ b/cmd/infracost/testdata/generate/terragrunt/expected.golden @@ -2,12 +2,9 @@ version: 0.1 projects: - path: apps/bar -name: apps-bar + name: apps-bar - path: apps/baz/bip -name: apps-baz-bip + name: apps-baz-bip - path: apps/foo -name: apps-foo + name: apps-foo - -Err: -Error: could not validate generated config file, check file syntax: yaml: line 6: mapping values are not allowed in this context diff --git a/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden b/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden index c5d113fe632..2601b695e62 100644 --- a/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden +++ b/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden @@ -2,9 +2,9 @@ version: 0.1 projects: - path: apps/bar -name: apps-bar + name: apps-bar - path: apps/baz/bip -name: apps-baz-bip + name: apps-baz-bip - path: apps/fez name: apps-fez-dev terraform_var_files: @@ -16,8 +16,5 @@ name: apps-baz-bip - ../envs/prod.tfvars skip_autodetect: true - path: apps/foo -name: apps-foo + name: apps-foo - -Err: -Error: could not validate generated config file, check file syntax: yaml: line 6: mapping values are not allowed in this context From f6748a5796d9b434feac316dba5dbe9dbcb98c22 Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Thu, 25 Apr 2024 12:03:40 +0200 Subject: [PATCH 33/50] Revert "feat: add templatefile support (#3027)" (#3037) This reverts commit 2cb2e71e60c2189bb3769f5c74cc3311c64a62dd. --- cmd/infracost/breakdown_test.go | 50 ------ .../breakdown_terraform_file_funcs.golden | 139 ---------------- .../instance.json | 3 - .../breakdown_terraform_file_funcs/main.tf | 65 -------- .../sym-instance.json | 1 - .../templ.tftpl | 3 - .../breakdown_terragrunt_file_funcs.golden | 149 ------------------ .../instance.json | 3 - .../breakdown_terragrunt_file_funcs/main.tf | 87 ---------- .../sym-instance.json | 1 - .../templ.tftpl | 3 - .../terragrunt.hcl | 5 - cmd/infracost/testdata/instance.json | 3 - cmd/infracost/testdata/templ.tftpl | 3 - internal/hcl/evaluator.go | 66 ++++---- internal/hcl/funcs/crypto.go | 28 ++-- internal/hcl/funcs/crypto_test.go | 12 +- internal/hcl/funcs/filesystem.go | 90 ++--------- internal/hcl/funcs/filesystem_test.go | 32 +--- internal/hcl/graph.go | 12 +- internal/hcl/graph_vertex_module_call.go | 12 +- internal/hcl/parser.go | 1 - .../terraform/terragrunt_hcl_provider.go | 28 +--- 23 files changed, 94 insertions(+), 702 deletions(-) delete mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden delete mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json delete mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf delete mode 120000 cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json delete mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf delete mode 120000 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl delete mode 100644 cmd/infracost/testdata/instance.json delete mode 100644 cmd/infracost/testdata/templ.tftpl diff --git a/cmd/infracost/breakdown_test.go b/cmd/infracost/breakdown_test.go index b405ffc1f00..06dd3fa890a 100644 --- a/cmd/infracost/breakdown_test.go +++ b/cmd/infracost/breakdown_test.go @@ -1336,53 +1336,3 @@ func TestBreakdownNoPricesWarnings(t *testing.T) { nil, ) } - -func TestBreakdownTerragruntFileFuncs(t *testing.T) { - if os.Getenv("GITHUB_ACTIONS") == "" { - t.Skip("skipping as this test is only designed for GitHub Actions") - } - - t.Setenv("INFRACOST_CI_PLATFORM", "github_app") - - testName := testutil.CalcGoldenFileTestdataDirName() - dir := path.Join("./testdata", testName) - GoldenFileCommandTest( - t, - testutil.CalcGoldenFileTestdataDirName(), - []string{ - "breakdown", - "--path", dir, - }, - nil, - // only run the graph evaluator for these tests as otherwise we can mocked values - // in the golden files which cause failures between the hcl/hcl graph tests - func(ctx *config.RunContext) { - ctx.Config.GraphEvaluator = true - }, - ) -} - -func TestBreakdownTerraformFileFuncs(t *testing.T) { - if os.Getenv("GITHUB_ACTIONS") == "" { - t.Skip("skipping as this test is only designed for GitHub Actions") - } - - t.Setenv("INFRACOST_CI_PLATFORM", "github_app") - - testName := testutil.CalcGoldenFileTestdataDirName() - dir := path.Join("./testdata", testName) - GoldenFileCommandTest( - t, - testutil.CalcGoldenFileTestdataDirName(), - []string{ - "breakdown", - "--path", dir, - }, - nil, - // only run the graph evaluator for these tests as otherwise we can mocked values - // in the golden files which cause failures between the hcl/hcl graph tests - func(ctx *config.RunContext) { - ctx.Config.GraphEvaluator = true - }, - ) -} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden b/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden deleted file mode 100644 index ff3e049f2f6..00000000000 --- a/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden +++ /dev/null @@ -1,139 +0,0 @@ -Project: main - - Name Monthly Qty Unit Monthly Cost - - aws_instance.file["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.file["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.template_file["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.template_file["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.file["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.file["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.file["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileset["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileset["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileset["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileset["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.template_file["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.template_file["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $175.50 - -*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. - -────────────────────────────────── -23 cloud resources were detected: -∙ 23 were estimated - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $175 ┃ $0.00 ┃ $175 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ - -Err: - - -Logs: -WARN 19 aws_instance prices missing across 19 resources - diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json b/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json deleted file mode 100644 index b3fb356b747..00000000000 --- a/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "instance_type": "m5.large" -} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf b/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf deleted file mode 100644 index 863e3523980..00000000000 --- a/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf +++ /dev/null @@ -1,65 +0,0 @@ -provider "aws" { - region = "us-east-1" - skip_credentials_validation = true - skip_requesting_account_id = true - access_key = "mock_access_key" - secret_key = "mock_secret_key" -} - -locals { - files = [ - { name = "cd", file = "instance.json", }, - { name = "sym", file = "sym-instance.json", }, - { name = "pd", file = "../instance.json", }, - { - name = "abs", - file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json", - }, - { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/instance.json", }, - ] - dirs = [ - { name = "cd", dir = "." }, - { name = "pd", dir = "../" }, - { name = "abs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/" }, - { name = "pdabs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/" }, - - ] - template_files = [ - { name = "cd", file = "templ.tftpl", }, - { name = "pd", file = "../templ.tftpl", }, - { - name = "abs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl", - }, - { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/templ.tftpl", } - ] -} - -resource "aws_instance" "file" { - for_each = { for f in local.files : f.name => f.file } - ami = "ami-674cbc1e" - instance_type = jsondecode(file(each.value)).instance_type -} - -resource "aws_instance" "fileexists" { - for_each = { for f in local.files : f.name => f.file } - ami = "ami-674cbc1e" - instance_type = fileexists(each.value) ? "e" : "ne" -} - -resource "aws_instance" "fileset" { - for_each = { for f in local.dirs : f.name => f.dir } - ami = "ami-674cbc1e" - instance_type = length(fileset(each.value, "*.json")) -} - -resource "aws_instance" "filemd5" { - for_each = { for f in local.files : f.name => f.file } - ami = "ami-674cbc1e" - instance_type = filemd5(each.value) -} - -resource "aws_instance" "template_file" { - for_each = { for f in local.template_files : f.name => f.file } - ami = "ami-674cbc1e" - instance_type = jsondecode(templatefile(each.value, {})).instance_type -} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json b/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json deleted file mode 120000 index 2598ef6dccc..00000000000 --- a/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json +++ /dev/null @@ -1 +0,0 @@ -../instance.json \ No newline at end of file diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl b/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl deleted file mode 100644 index 460d1557190..00000000000 --- a/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl +++ /dev/null @@ -1,3 +0,0 @@ -${jsonencode({ -"instance_type": "t2.micro", -})} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden deleted file mode 100644 index 926ddd40499..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden +++ /dev/null @@ -1,149 +0,0 @@ -Project: main - - Name Monthly Qty Unit Monthly Cost - - aws_instance.file["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.file["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.template_file["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.template_file["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.file["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.file["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.file["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileexists["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.filemd5["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileset["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileset["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileset["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.fileset["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.get_account_id - ├─ Instance usage (Linux/UNIX, on-demand, account_id-mock) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.get_aws_caller_identity_arn - ├─ Instance usage (Linux/UNIX, on-demand, arn:aws:iam::123456789012:user/terragrunt-mock) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.template_file["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - aws_instance.template_file["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found - └─ root_block_device - └─ Storage (general purpose SSD, gp2) 8 GB $0.80 - - OVERALL TOTAL $177.10 - -*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. - -────────────────────────────────── -25 cloud resources were detected: -∙ 25 were estimated - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $177 ┃ $0.00 ┃ $177 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ - -Err: - - -Logs: -WARN 21 aws_instance prices missing across 21 resources - diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json deleted file mode 100644 index b3fb356b747..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "instance_type": "m5.large" -} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf deleted file mode 100644 index be73cc5ef1c..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf +++ /dev/null @@ -1,87 +0,0 @@ -provider "aws" { - region = "us-east-1" - skip_credentials_validation = true - skip_requesting_account_id = true - access_key = "mock_access_key" - secret_key = "mock_secret_key" -} - -variable "get_aws_account_id" { - type = string -} - -variable "get_aws_caller_identity_arn" { - type = string -} - -variable "get_aws_caller_identity_user_id" { - type = string -} - -resource "aws_instance" "get_account_id" { - ami = "ami-674cbc1e" - instance_type = var.get_aws_account_id -} - -resource "aws_instance" "get_aws_caller_identity_arn" { - ami = "ami-674cbc1e" - instance_type = var.get_aws_caller_identity_arn -} - -locals { - files = [ - { name = "cd", file = "instance.json", }, - { name = "sym", file = "sym-instance.json", }, - { name = "pd", file = "../instance.json", }, - { - name = "abs", - file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json", - }, - { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/instance.json", }, - ] - dirs = [ - { name = "cd", dir = "." }, - { name = "pd", dir = "../" }, - { name = "abs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/" }, - { name = "pdabs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/" }, - - ] - template_files = [ - { name = "cd", file = "templ.tftpl", }, - { name = "pd", file = "../templ.tftpl", }, - { - name = "abs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl", - }, - { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/templ.tftpl", } - ] -} - -resource "aws_instance" "file" { - for_each = { for f in local.files : f.name => f.file } - ami = "ami-674cbc1e" - instance_type = jsondecode(file(each.value)).instance_type -} - -resource "aws_instance" "fileexists" { - for_each = { for f in local.files : f.name => f.file } - ami = "ami-674cbc1e" - instance_type = fileexists(each.value) ? "e" : "ne" -} - -resource "aws_instance" "fileset" { - for_each = { for f in local.dirs : f.name => f.dir } - ami = "ami-674cbc1e" - instance_type = length(fileset(each.value, "*.json")) -} - -resource "aws_instance" "filemd5" { - for_each = { for f in local.files : f.name => f.file } - ami = "ami-674cbc1e" - instance_type = filemd5(each.value) -} - -resource "aws_instance" "template_file" { - for_each = { for f in local.template_files : f.name => f.file } - ami = "ami-674cbc1e" - instance_type = jsondecode(templatefile(each.value, {})).instance_type -} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json deleted file mode 120000 index 2598ef6dccc..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json +++ /dev/null @@ -1 +0,0 @@ -../instance.json \ No newline at end of file diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl deleted file mode 100644 index 460d1557190..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl +++ /dev/null @@ -1,3 +0,0 @@ -${jsonencode({ -"instance_type": "t2.micro", -})} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl deleted file mode 100644 index 4775c125bc9..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl +++ /dev/null @@ -1,5 +0,0 @@ -inputs = { - get_aws_account_id = get_aws_account_id() - get_aws_caller_identity_arn = get_aws_caller_identity_arn() - get_aws_caller_identity_user_id = get_aws_caller_identity_user_id() -} diff --git a/cmd/infracost/testdata/instance.json b/cmd/infracost/testdata/instance.json deleted file mode 100644 index 8cecf9c98b8..00000000000 --- a/cmd/infracost/testdata/instance.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "instance_type": "t2.small" -} diff --git a/cmd/infracost/testdata/templ.tftpl b/cmd/infracost/testdata/templ.tftpl deleted file mode 100644 index 4b0f947ded9..00000000000 --- a/cmd/infracost/testdata/templ.tftpl +++ /dev/null @@ -1,3 +0,0 @@ -${jsonencode({ -"instance_type": "t2.medium", -})} diff --git a/internal/hcl/evaluator.go b/internal/hcl/evaluator.go index bed6d86a01e..b153f097d90 100644 --- a/internal/hcl/evaluator.go +++ b/internal/hcl/evaluator.go @@ -95,26 +95,24 @@ type Evaluator struct { logger zerolog.Logger isGraph bool filteredBlocks []*Block - repoPath string } // NewEvaluator returns an Evaluator with Context initialised with top level variables. // This Context is then passed to all Blocks as child Context so that variables built in Evaluation // are propagated to the Block Attributes. - func NewEvaluator( - repoPath string, module Module, workingDir string, inputVars map[string]cty.Value, moduleMetadata *modules.Manifest, visitedModules map[string]map[string]cty.Value, - workspace string, blockBuilder BlockBuilder, + workspace string, + blockBuilder BlockBuilder, logger zerolog.Logger, isGraph bool, ) *Evaluator { ctx := NewContext(&hcl.EvalContext{ - Functions: ExpFunctions(repoPath, module.RootPath, logger), + Functions: ExpFunctions(module.RootPath, logger), }, nil, logger) // Add any provider references from blocks in this module. @@ -173,7 +171,6 @@ func NewEvaluator( Logger() return &Evaluator{ - repoPath: repoPath, module: module, ctx: ctx, inputVars: inputVars, @@ -347,23 +344,25 @@ func (e *Evaluator) evaluateModules() { e.visitedModules[fullName] = vars - moduleEvaluator := NewEvaluator(e.repoPath, Module{ - Name: fullName, - Source: moduleCall.Module.Source, - Blocks: moduleCall.Module.RawBlocks, - RawBlocks: moduleCall.Module.RawBlocks, - RootPath: e.module.RootPath, - ModulePath: moduleCall.Path, - Modules: nil, - Parent: &e.module, - SourceURL: moduleCall.Module.SourceURL, - ProviderReferences: moduleCall.Module.ProviderReferences, - }, + moduleEvaluator := NewEvaluator( + Module{ + Name: fullName, + Source: moduleCall.Module.Source, + Blocks: moduleCall.Module.RawBlocks, + RawBlocks: moduleCall.Module.RawBlocks, + RootPath: e.module.RootPath, + ModulePath: moduleCall.Path, + Modules: nil, + Parent: &e.module, + SourceURL: moduleCall.Module.SourceURL, + ProviderReferences: moduleCall.Module.ProviderReferences, + }, e.workingDir, vars, e.moduleMetadata, map[string]map[string]cty.Value{}, - e.workspace, e.blockBuilder, + e.workspace, + e.blockBuilder, e.logger, e.isGraph, ) @@ -1140,8 +1139,8 @@ func (e *Evaluator) loadModules(lastContext hcl.EvalContext) { // ExpFunctions returns the set of functions that should be used to when evaluating // expressions in the receiving scope. -func ExpFunctions(repoDir, baseDir string, logger zerolog.Logger) map[string]function.Function { - fns := map[string]function.Function{ +func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Function { + return map[string]function.Function{ "abs": stdlib.AbsoluteFunc, "abspath": funcs.AbsPathFunc, "basename": funcs.BasenameFunc, @@ -1169,16 +1168,16 @@ func ExpFunctions(repoDir, baseDir string, logger zerolog.Logger) map[string]fun "element": stdlib.ElementFunc, "endswith": funcs.EndsWithFunc, "chunklist": stdlib.ChunklistFunc, - "file": funcs.MakeFileFunc(repoDir, baseDir, false), - "filebase64": funcs.MakeFileFunc(repoDir, baseDir, true), - "fileexists": funcs.MakeFileExistsFunc(repoDir, baseDir), - "fileset": funcs.MakeFileSetFunc(repoDir, baseDir), - "filebase64sha256": funcs.MakeFileBase64Sha256Func(repoDir, baseDir), - "filebase64sha512": funcs.MakeFileBase64Sha512Func(repoDir, baseDir), - "filemd5": funcs.MakeFileMd5Func(repoDir, baseDir), - "filesha1": funcs.MakeFileSha1Func(repoDir, baseDir), - "filesha256": funcs.MakeFileSha256Func(repoDir, baseDir), - "filesha512": funcs.MakeFileSha512Func(repoDir, baseDir), + "file": funcs.MakeFileFunc(baseDir, false), + "fileexists": funcs.MakeFileExistsFunc(baseDir), + "fileset": funcs.MakeFileSetFunc(baseDir), + "filebase64": funcs.MakeFileFunc(baseDir, true), + "filebase64sha256": funcs.MakeFileBase64Sha256Func(baseDir), + "filebase64sha512": funcs.MakeFileBase64Sha512Func(baseDir), + "filemd5": funcs.MakeFileMd5Func(baseDir), + "filesha1": funcs.MakeFileSha1Func(baseDir), + "filesha256": funcs.MakeFileSha256Func(baseDir), + "filesha512": funcs.MakeFileSha512Func(baseDir), "flatten": stdlib.FlattenFunc, "floor": stdlib.FloorFunc, "format": stdlib.FormatFunc, @@ -1252,9 +1251,4 @@ func ExpFunctions(repoDir, baseDir string, logger zerolog.Logger) map[string]fun "zipmap": stdlib.ZipmapFunc, } - fns["templatefile"] = funcs.MakeTemplateFileFunc(repoDir, baseDir, func() map[string]function.Function { - return fns - }) - - return fns } diff --git a/internal/hcl/funcs/crypto.go b/internal/hcl/funcs/crypto.go index 36b464b6a4d..c49915a1e87 100644 --- a/internal/hcl/funcs/crypto.go +++ b/internal/hcl/funcs/crypto.go @@ -74,8 +74,8 @@ var Base64Sha256Func = makeStringHashFunction(sha256.New, base64.StdEncoding.Enc // MakeFileBase64Sha256Func constructs a function that is like Base64Sha256Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileBase64Sha256Func(repoDir, baseDir string) function.Function { - return makeFileHashFunction(repoDir, baseDir, sha256.New, base64.StdEncoding.EncodeToString) +func MakeFileBase64Sha256Func(baseDir string) function.Function { + return makeFileHashFunction(baseDir, sha256.New, base64.StdEncoding.EncodeToString) } // Base64Sha512Func constructs a function that computes the SHA256 hash of a given string @@ -84,8 +84,8 @@ var Base64Sha512Func = makeStringHashFunction(sha512.New, base64.StdEncoding.Enc // MakeFileBase64Sha512Func constructs a function that is like Base64Sha512Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileBase64Sha512Func(repoDir, baseDir string) function.Function { - return makeFileHashFunction(repoDir, baseDir, sha512.New, base64.StdEncoding.EncodeToString) +func MakeFileBase64Sha512Func(baseDir string) function.Function { + return makeFileHashFunction(baseDir, sha512.New, base64.StdEncoding.EncodeToString) } // BcryptFunc constructs a function that computes a hash of the given string using the Blowfish cipher. @@ -131,8 +131,8 @@ var Md5Func = makeStringHashFunction(md5.New, hex.EncodeToString) // MakeFileMd5Func constructs a function that is like Md5Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileMd5Func(repoDir, baseDir string) function.Function { - return makeFileHashFunction(repoDir, baseDir, md5.New, hex.EncodeToString) +func MakeFileMd5Func(baseDir string) function.Function { + return makeFileHashFunction(baseDir, md5.New, hex.EncodeToString) } // RsaDecryptFunc constructs a function that decrypts an RSA-encrypted ciphertext. @@ -190,8 +190,8 @@ var Sha1Func = makeStringHashFunction(sha1.New, hex.EncodeToString) // MakeFileSha1Func constructs a function that is like Sha1Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileSha1Func(repoDir, baseDir string) function.Function { - return makeFileHashFunction(repoDir, baseDir, sha1.New, hex.EncodeToString) +func MakeFileSha1Func(baseDir string) function.Function { + return makeFileHashFunction(baseDir, sha1.New, hex.EncodeToString) } // Sha256Func constructs a function that computes the SHA256 hash of a given string @@ -200,8 +200,8 @@ var Sha256Func = makeStringHashFunction(sha256.New, hex.EncodeToString) // MakeFileSha256Func constructs a function that is like Sha256Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileSha256Func(repoDir, baseDir string) function.Function { - return makeFileHashFunction(repoDir, baseDir, sha256.New, hex.EncodeToString) +func MakeFileSha256Func(baseDir string) function.Function { + return makeFileHashFunction(baseDir, sha256.New, hex.EncodeToString) } // Sha512Func constructs a function that computes the SHA512 hash of a given string @@ -210,8 +210,8 @@ var Sha512Func = makeStringHashFunction(sha512.New, hex.EncodeToString) // MakeFileSha512Func constructs a function that is like Sha512Func but reads the // contents of a file rather than hashing a given literal string. -func MakeFileSha512Func(repoDir, baseDir string) function.Function { - return makeFileHashFunction(repoDir, baseDir, sha512.New, hex.EncodeToString) +func MakeFileSha512Func(baseDir string) function.Function { + return makeFileHashFunction(baseDir, sha512.New, hex.EncodeToString) } func makeStringHashFunction(hf func() hash.Hash, enc func([]byte) string) function.Function { @@ -233,7 +233,7 @@ func makeStringHashFunction(hf func() hash.Hash, enc func([]byte) string) functi }) } -func makeFileHashFunction(repoDir, baseDir string, hf func() hash.Hash, enc func([]byte) string) function.Function { +func makeFileHashFunction(baseDir string, hf func() hash.Hash, enc func([]byte) string) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ { @@ -244,7 +244,7 @@ func makeFileHashFunction(repoDir, baseDir string, hf func() hash.Hash, enc func Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { path := args[0].AsString() - f, err := openFile(repoDir, baseDir, path) + f, err := openFile(baseDir, path) if err != nil { return cty.UnknownVal(cty.String), err } diff --git a/internal/hcl/funcs/crypto_test.go b/internal/hcl/funcs/crypto_test.go index a9056c9b40a..ad7590bb6bc 100644 --- a/internal/hcl/funcs/crypto_test.go +++ b/internal/hcl/funcs/crypto_test.go @@ -144,7 +144,7 @@ func TestFileBase64Sha256(t *testing.T) { }, } - fileSHA256 := MakeFileBase64Sha256Func("", ".") + fileSHA256 := MakeFileBase64Sha256Func(".") for _, test := range tests { t.Run(fmt.Sprintf("filebase64sha256(%#v)", test.Path), func(t *testing.T) { @@ -225,7 +225,7 @@ func TestFileBase64Sha512(t *testing.T) { }, } - fileSHA512 := MakeFileBase64Sha512Func("", ".") + fileSHA512 := MakeFileBase64Sha512Func(".") for _, test := range tests { t.Run(fmt.Sprintf("filebase64sha512(%#v)", test.Path), func(t *testing.T) { @@ -343,7 +343,7 @@ func TestFileMD5(t *testing.T) { }, } - fileMD5 := MakeFileMd5Func("", ".") + fileMD5 := MakeFileMd5Func(".") for _, test := range tests { t.Run(fmt.Sprintf("filemd5(%#v)", test.Path), func(t *testing.T) { @@ -500,7 +500,7 @@ func TestFileSHA1(t *testing.T) { }, } - fileSHA1 := MakeFileSha1Func("", ".") + fileSHA1 := MakeFileSha1Func(".") for _, test := range tests { t.Run(fmt.Sprintf("filesha1(%#v)", test.Path), func(t *testing.T) { @@ -578,7 +578,7 @@ func TestFileSHA256(t *testing.T) { }, } - fileSHA256 := MakeFileSha256Func("", ".") + fileSHA256 := MakeFileSha256Func(".") for _, test := range tests { t.Run(fmt.Sprintf("filesha256(%#v)", test.Path), func(t *testing.T) { @@ -656,7 +656,7 @@ func TestFileSHA512(t *testing.T) { }, } - fileSHA512 := MakeFileSha512Func("", ".") + fileSHA512 := MakeFileSha512Func(".") for _, test := range tests { t.Run(fmt.Sprintf("filesha512(%#v)", test.Path), func(t *testing.T) { diff --git a/internal/hcl/funcs/filesystem.go b/internal/hcl/funcs/filesystem.go index d895f237b4b..4c4ede06a7a 100644 --- a/internal/hcl/funcs/filesystem.go +++ b/internal/hcl/funcs/filesystem.go @@ -6,7 +6,6 @@ import ( "io" "os" "path/filepath" - "strings" "unicode/utf8" "github.com/bmatcuk/doublestar" @@ -20,7 +19,7 @@ import ( // MakeFileFunc constructs a function that takes a file path and returns the // contents of that file, either directly as a string (where valid UTF-8 is // required) or as a string containing base64 bytes. -func MakeFileFunc(repoDir, baseDir string, encBase64 bool) function.Function { +func MakeFileFunc(baseDir string, encBase64 bool) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ { @@ -31,7 +30,7 @@ func MakeFileFunc(repoDir, baseDir string, encBase64 bool) function.Function { Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { path := args[0].AsString() - src, err := readFileBytes(repoDir, baseDir, path) + src, err := readFileBytes(baseDir, path) if err != nil { err = function.NewArgError(0, err) return cty.UnknownVal(cty.String), err @@ -64,7 +63,7 @@ func MakeFileFunc(repoDir, baseDir string, encBase64 bool) function.Function { // As a special exception, a referenced template file may not recursively call // the templatefile function, since that would risk the same file being // included into itself indefinitely. -func MakeTemplateFileFunc(repoDir, baseDir string, funcsCb func() map[string]function.Function) function.Function { +func MakeTemplateFileFunc(baseDir string, funcsCb func() map[string]function.Function) function.Function { params := []function.Parameter{ { @@ -80,8 +79,7 @@ func MakeTemplateFileFunc(repoDir, baseDir string, funcsCb func() map[string]fun loadTmpl := func(fn string) (hcl.Expression, error) { // We re-use File here to ensure the same filename interpretation // as it does, along with its other safety checks. - fileFn := MakeFileFunc(repoDir, baseDir, false) - tmplVal, err := fileFn.Call([]cty.Value{cty.StringVal(fn)}) + tmplVal, err := File(baseDir, cty.StringVal(fn)) if err != nil { return nil, err } @@ -184,7 +182,7 @@ func MakeTemplateFileFunc(repoDir, baseDir string, funcsCb func() map[string]fun // MakeFileExistsFunc constructs a function that takes a path // and determines whether a file exists at that path -func MakeFileExistsFunc(repoDir, baseDir string) function.Function { +func MakeFileExistsFunc(baseDir string) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ { @@ -207,11 +205,6 @@ func MakeFileExistsFunc(repoDir, baseDir string) function.Function { // Ensure that the path is canonical for the host OS path = filepath.Clean(path) - // Ensure that the path is within the repository directory - if err := isPathInRepo(repoDir, path); err != nil { - return cty.False, nil - } - fi, err := os.Stat(path) if err != nil { if os.IsNotExist(err) { @@ -232,7 +225,7 @@ func MakeFileExistsFunc(repoDir, baseDir string) function.Function { // MakeFileSetFunc constructs a function that takes a glob pattern // and enumerates a file set from that pattern -func MakeFileSetFunc(repoDir string, baseDir string) function.Function { +func MakeFileSetFunc(baseDir string) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ { @@ -253,11 +246,6 @@ func MakeFileSetFunc(repoDir string, baseDir string) function.Function { path = filepath.Join(baseDir, path) } - err := isPathInRepo(repoDir, path) - if err != nil { - return cty.SetValEmpty(cty.String), nil - } - // Join the path to the glob pattern, while ensuring the full // pattern is canonical for the host OS. The joined path is // automatically cleaned during this operation. @@ -270,9 +258,6 @@ func MakeFileSetFunc(repoDir string, baseDir string) function.Function { var matchVals []cty.Value for _, match := range matches { - if err := isPathInRepo(repoDir, match); err != nil { - continue - } fi, err := os.Stat(match) if err != nil { @@ -367,7 +352,7 @@ var PathExpandFunc = function.New(&function.Spec{ }, }) -func openFile(repoDir, baseDir, path string) (*os.File, error) { +func openFile(baseDir, path string) (*os.File, error) { path, err := homedir.Expand(path) if err != nil { return nil, fmt.Errorf("failed to expand ~: %s", err) @@ -379,61 +364,12 @@ func openFile(repoDir, baseDir, path string) (*os.File, error) { // Ensure that the path is canonical for the host OS path = filepath.Clean(path) - err = isPathInRepo(repoDir, path) - if err != nil { - return nil, err - } return os.Open(path) } -func isPathInRepo(repoDir string, path string) error { - // isPathInRepo is a no-op when not running in github/gitlab app env. - ciPlatform := os.Getenv("INFRACOST_CI_PLATFORM") - if ciPlatform != "github_app" && ciPlatform != "gitlab_app" { - return nil - } - - if filepath.IsAbs(path) && !filepath.IsAbs(repoDir) { - repoDirAbs, err := filepath.Abs(repoDir) - if err == nil { - repoDir = repoDirAbs - } - } - - // ensure the path resolves to the real symlink path - path = symlinkPath(path) - - clean := filepath.Clean(repoDir) - if repoDir != "" && !strings.HasPrefix(path, clean) { - return fmt.Errorf("file %s is not within the repository directory %s", path, repoDir) - } - - return nil -} - -// symlinkPath checks the given file path and returns the real path if it is a -// symlink. -func symlinkPath(filepathStr string) string { - fileInfo, err := os.Lstat(filepathStr) - if err != nil { - return filepathStr - } - - if fileInfo.Mode()&os.ModeSymlink != 0 { - realPath, err := filepath.EvalSymlinks(filepathStr) - if err != nil { - return filepathStr - } - - return realPath - } - - return filepathStr -} - -func readFileBytes(repoDir, baseDir, path string) ([]byte, error) { - f, err := openFile(repoDir, baseDir, path) +func readFileBytes(baseDir, path string) ([]byte, error) { + f, err := openFile(baseDir, path) if err != nil { if os.IsNotExist(err) { // An extra Terraform-specific hint for this situation @@ -458,7 +394,7 @@ func readFileBytes(repoDir, baseDir, path string) ([]byte, error) { // directory, so this wrapper takes a base directory string and uses it to // construct the underlying function before calling it. func File(baseDir string, path cty.Value) (cty.Value, error) { - fn := MakeFileFunc("", baseDir, false) + fn := MakeFileFunc(baseDir, false) return fn.Call([]cty.Value{path}) } @@ -468,7 +404,7 @@ func File(baseDir string, path cty.Value) (cty.Value, error) { // directory, so this wrapper takes a base directory string and uses it to // construct the underlying function before calling it. func FileExists(baseDir string, path cty.Value) (cty.Value, error) { - fn := MakeFileExistsFunc("", baseDir) + fn := MakeFileExistsFunc(baseDir) return fn.Call([]cty.Value{path}) } @@ -478,7 +414,7 @@ func FileExists(baseDir string, path cty.Value) (cty.Value, error) { // directory, so this wrapper takes a base directory string and uses it to // construct the underlying function before calling it. func FileSet(baseDir string, path, pattern cty.Value) (cty.Value, error) { - fn := MakeFileSetFunc("", baseDir) + fn := MakeFileSetFunc(baseDir) return fn.Call([]cty.Value{path, pattern}) } @@ -490,7 +426,7 @@ func FileSet(baseDir string, path, pattern cty.Value) (cty.Value, error) { // directory, so this wrapper takes a base directory string and uses it to // construct the underlying function before calling it. func FileBase64(baseDir string, path cty.Value) (cty.Value, error) { - fn := MakeFileFunc("", baseDir, true) + fn := MakeFileFunc(baseDir, true) return fn.Call([]cty.Value{path}) } diff --git a/internal/hcl/funcs/filesystem_test.go b/internal/hcl/funcs/filesystem_test.go index 20ef5b8db50..80ff694f71c 100644 --- a/internal/hcl/funcs/filesystem_test.go +++ b/internal/hcl/funcs/filesystem_test.go @@ -13,48 +13,30 @@ import ( func TestFile(t *testing.T) { tests := []struct { - Path cty.Value - RepoPath string - OSFunc func(t *testing.T) - Want cty.Value - Err bool + Path cty.Value + Want cty.Value + Err bool }{ { cty.StringVal("testdata/hello.txt"), - "", - func(t *testing.T) {}, cty.StringVal("Hello World"), false, }, { cty.StringVal("testdata/icon.png"), - "", - func(t *testing.T) {}, cty.NilVal, true, // Not valid UTF-8 }, { cty.StringVal("testdata/missing"), - "", - func(t *testing.T) {}, cty.NilVal, true, // no file exists }, - { - cty.StringVal("testdata/hello.txt"), - "/foo/bar", - func(t *testing.T) { t.Setenv("INFRACOST_CI_PLATFORM", "github_app") }, - cty.NilVal, - true, - }, } for _, test := range tests { - t.Run(fmt.Sprintf("MakeFileFunc(%s, \".\", %s#v)", test.RepoPath, test.Path), func(t *testing.T) { - test.OSFunc(t) - - fn := MakeFileFunc(test.RepoPath, ".", false) - got, err := fn.Call([]cty.Value{test.Path}) + t.Run(fmt.Sprintf("File(\".\", %#v)", test.Path), func(t *testing.T) { + got, err := File(".", test.Path) if test.Err { if err == nil { @@ -175,10 +157,10 @@ func TestTemplateFile(t *testing.T) { }, } - templateFileFn := MakeTemplateFileFunc("", ".", func() map[string]function.Function { + templateFileFn := MakeTemplateFileFunc(".", func() map[string]function.Function { return map[string]function.Function{ "join": stdlib.JoinFunc, - "templatefile": MakeFileFunc("", ".", false), // just a placeholder, since templatefile itself overrides this + "templatefile": MakeFileFunc(".", false), // just a placeholder, since templatefile itself overrides this } }) diff --git a/internal/hcl/graph.go b/internal/hcl/graph.go index 2d0f9c21f68..73a43d834f1 100644 --- a/internal/hcl/graph.go +++ b/internal/hcl/graph.go @@ -450,7 +450,17 @@ func (g *Graph) loadBlocksForModule(evaluator *Evaluator) ([]*Block, error) { return nil, fmt.Errorf("could not load module %q", block.FullName()) } - moduleEvaluator := NewEvaluator(evaluator.repoPath, *modCall.Module, evaluator.workingDir, map[string]cty.Value{}, evaluator.moduleMetadata, map[string]map[string]cty.Value{}, evaluator.workspace, evaluator.blockBuilder, evaluator.logger, evaluator.isGraph) + moduleEvaluator := NewEvaluator( + *modCall.Module, + evaluator.workingDir, + map[string]cty.Value{}, + evaluator.moduleMetadata, + map[string]map[string]cty.Value{}, + evaluator.workspace, + evaluator.blockBuilder, + evaluator.logger, + evaluator.isGraph, + ) modBlocks, err := g.loadBlocksForModule(moduleEvaluator) if err != nil { diff --git a/internal/hcl/graph_vertex_module_call.go b/internal/hcl/graph_vertex_module_call.go index 2f321ee001b..39fd7b085b2 100644 --- a/internal/hcl/graph_vertex_module_call.go +++ b/internal/hcl/graph_vertex_module_call.go @@ -117,7 +117,17 @@ func (v *VertexModuleCall) expand(e *Evaluator, b *Block, mutex *sync.Mutex) ([] vars := block.Values().AsValueMap() - moduleEvaluator := NewEvaluator(e.repoPath, *modCall.Module, e.workingDir, vars, e.moduleMetadata, map[string]map[string]cty.Value{}, e.workspace, e.blockBuilder, e.logger, e.isGraph) + moduleEvaluator := NewEvaluator( + *modCall.Module, + e.workingDir, + vars, + e.moduleMetadata, + map[string]map[string]cty.Value{}, + e.workspace, + e.blockBuilder, + e.logger, + e.isGraph, + ) v.moduleConfigs.Add(unexpandedName, ModuleConfig{ name: name, diff --git a/internal/hcl/parser.go b/internal/hcl/parser.go index 48210591ae1..a0a4fa6c352 100644 --- a/internal/hcl/parser.go +++ b/internal/hcl/parser.go @@ -395,7 +395,6 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { // load an Evaluator with the top level Blocks to begin Context propagation. evaluator := NewEvaluator( - p.repoPath, Module{ Name: "", Source: "", diff --git a/internal/providers/terraform/terragrunt_hcl_provider.go b/internal/providers/terraform/terragrunt_hcl_provider.go index 2bd5ab4a426..70cb79ba588 100644 --- a/internal/providers/terraform/terragrunt_hcl_provider.go +++ b/internal/providers/terraform/terragrunt_hcl_provider.go @@ -457,23 +457,10 @@ func (p *TerragruntHCLProvider) prepWorkingDirs() ([]*terragruntWorkingDirInfo, return }, Functions: func(baseDir string) map[string]function.Function { - repoPath := p.Path.RepoPath - if !filepath.IsAbs(repoPath) { - abs, err := filepath.Abs(repoPath) - if err != nil { - p.logger.Debug().Err(err).Msgf("Failed to transform Terragrunt repo path to absolute path for %s", repoPath) - } else { - repoPath = abs - } - } - - funcs := hcl.ExpFunctions(repoPath, baseDir, p.logger) + funcs := hcl.ExpFunctions(baseDir, p.logger) funcs["run_cmd"] = mockSliceFuncStaticReturn(cty.StringVal("run_cmd-mock")) funcs["sops_decrypt_file"] = mockSliceFuncStaticReturn(cty.StringVal("sops_decrypt_file-mock")) - funcs["get_aws_account_id"] = mockSliceFuncStaticReturn(cty.StringVal("account_id-mock")) - funcs["get_aws_caller_identity_arn"] = mockSliceFuncStaticReturn(cty.StringVal("arn:aws:iam::123456789012:user/terragrunt-mock")) - funcs["get_aws_caller_identity_user_id"] = mockSliceFuncStaticReturn(cty.StringVal("caller_identity_user_id-mock")) return funcs }, @@ -608,21 +595,10 @@ func (p *TerragruntHCLProvider) runTerragrunt(opts *tgoptions.TerragruntOptions) logCtx := p.logger.With().Str("parent_provider", "terragrunt_dir").Ctx(context.Background()) - repoPath := p.Path.RepoPath - if filepath.IsAbs(pconfig.Path) && !filepath.IsAbs(repoPath) { - abs, err := filepath.Abs(repoPath) - if err != nil { - p.logger.Debug().Err(err).Msgf("Failed to transform Terragrunt repo path to absolute path for %s", repoPath) - } else { - repoPath = abs - } - } - h, err := NewHCLProvider( config.NewProjectContext(p.ctx.RunContext, &pconfig, logCtx), hcl.RootPath{ - Path: pconfig.Path, - RepoPath: repoPath, + Path: pconfig.Path, }, &HCLProviderConfig{CacheParsingModules: true, SkipAutoDetection: true}, ops..., From 885c62dbdf4f634daf96618597da0a27cfece383 Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Thu, 25 Apr 2024 13:04:12 +0200 Subject: [PATCH 34/50] revert: logging changes (#3038) * Revert "fix: tests after yaml indentation change (#3035)" This reverts commit 6f56cb818158af2032114ec01b9400953966d5dc. * Revert "fix: bad yaml indentation for generated config file (#3034)" This reverts commit 3e2f18c2b81fc2619d5f4bec5095abd98b52abbd. * Revert "fix: always return `DetectionOutput` from `Detect` (#3030)" This reverts commit 44c603fc5e2cbfcafa1c810f22dda3e1fc37bd6e. * Revert "fix: `pricesNotFoundList` env property (#3029)" This reverts commit 513085a130f689bc2d027d9d45aae41fd69aef43. * Revert "refactor: log output (#3003)" This reverts commit ba372260d1fcd46608c40159c6d3821320a31e5b. --- cmd/infracost/breakdown_test.go | 14 - cmd/infracost/cmd_test.go | 7 +- cmd/infracost/comment.go | 6 +- cmd/infracost/configure.go | 11 +- cmd/infracost/generate.go | 8 +- cmd/infracost/main.go | 8 +- cmd/infracost/output.go | 16 +- cmd/infracost/register.go | 5 +- cmd/infracost/run.go | 314 ++++++++---------- ...wn_auto_with_multi_varfile_projects.golden | 20 +- .../breakdown_config_file.golden | 1 - ...n_config_file_with_skip_auto_detect.golden | 16 +- .../breakdown_format_json.golden | 127 +++---- .../breakdown_format_json_with_tags.golden | 139 +++----- ...eakdown_format_json_with_tags_azure.golden | 13 +- ...akdown_format_json_with_tags_google.golden | 37 +-- ...breakdown_format_json_with_warnings.golden | 3 +- .../breakdown_format_jsonshow_skipped.golden | 130 +++----- .../breakdown_invalid_path.golden | 3 - .../breakdown_multi_project_autodetect.golden | 16 +- .../breakdown_multi_project_skip_paths.golden | 12 +- ...multi_project_skip_paths_root_level.golden | 12 +- ...kdown_multi_project_with_all_errors.golden | 16 +- .../breakdown_multi_project_with_error.golden | 16 +- ...ulti_project_with_error_output_json.golden | 50 +-- .../breakdown_no_prices_warnings.golden | 56 ---- .../breakdown_no_prices_warnings/main.tf | 66 ---- ...ection_if_terraform_var_file_passed.golden | 12 +- .../breakdown_terraform_directory.golden | 4 +- ...rm_directory_with_default_var_files.golden | 12 +- ...rm_directory_with_recursive_modules.golden | 12 +- .../breakdown_terraform_fields_invalid.golden | 4 +- .../infracost_output.golden | 39 --- ...wn_terraform_usage_file_invalid_key.golden | 4 +- ...erraform_usage_file_wildcard_module.golden | 12 +- .../breakdown_terragrunt.golden | 8 +- .../breakdown_terragrunt_extra_args.golden | 12 +- .../breakdown_terragrunt_get_env.golden | 16 +- ...n_terragrunt_get_env_with_whitelist.golden | 4 +- ...breakdown_terragrunt_hcldeps_output.golden | 26 +- ...n_terragrunt_hcldeps_output_include.golden | 12 +- ...wn_terragrunt_hcldeps_output_mocked.golden | 20 +- ...grunt_hcldeps_output_single_project.golden | 12 +- ...erragrunt_hclmodule_output_for_each.golden | 12 +- .../breakdown_terragrunt_hclmulti.golden | 8 +- ...kdown_terragrunt_hclmulti_no_source.golden | 16 +- .../breakdown_terragrunt_hclsingle.golden | 4 +- .../breakdown_terragrunt_iamroles.golden | 12 +- .../breakdown_terragrunt_include_deps.golden | 16 +- .../breakdown_terragrunt_nested.golden | 8 +- .../breakdown_terragrunt_skip_paths.golden | 20 +- .../breakdown_terragrunt_source_map.golden | 12 +- ...n_terragrunt_with_dashboard_enabled.golden | 8 +- ...wn_terragrunt_with_mocked_functions.golden | 12 +- ...down_terragrunt_with_parent_include.golden | 12 +- ...kdown_terragrunt_with_remote_source.golden | 32 +- .../breakdown_with_actual_costs.golden | 12 +- ...reakdown_with_data_blocks_in_submod.golden | 12 +- .../breakdown_with_deep_merge_module.golden | 12 +- .../breakdown_with_default_tags.golden | 43 +-- .../breakdown_with_depends_upon_module.golden | 12 +- .../breakdown_with_dynamic_iterator.golden | 12 +- ...akdown_with_free_resources_checksum.golden | 25 +- ...reakdown_with_local_path_data_block.golden | 12 +- .../breakdown_with_mocked_merge.golden | 12 +- .../breakdown_with_multiple_providers.golden | 12 +- .../breakdown_with_nested_foreach.golden | 12 +- ...akdown_with_nested_provider_aliases.golden | 12 +- .../breakdown_with_optional_variables.golden | 12 +- ...eakdown_with_policy_data_upload_hcl.golden | 61 ++-- ...n_with_policy_data_upload_plan_json.golden | 61 ++-- ..._with_policy_data_upload_terragrunt.golden | 61 ++-- ...h_private_terraform_registry_module.golden | 12 +- ...rm_registry_module_populates_errors.golden | 2 +- ...wn_with_providers_depending_on_data.golden | 12 +- .../breakdown_with_workspace.golden | 12 +- .../catches_runtime_error.golden | 6 +- ...w_skip_no_diff_with_initial_comment.golden | 14 +- ...kip_no_diff_without_initial_comment.golden | 6 +- ...it_hub_guardrail_failure_with_block.golden | 12 +- ..._hub_guardrail_failure_with_comment.golden | 12 +- ...rail_failure_with_comment_and_block.golden | 12 +- ...il_failure_without_comment_or_block.golden | 10 +- ..._hub_guardrail_success_with_comment.golden | 10 +- ...b_guardrail_success_without_comment.golden | 8 +- ...e_skip_no_diff_with_initial_comment.golden | 14 +- ...kip_no_diff_without_initial_comment.golden | 6 +- ...b_skip_no_diff_with_initial_comment.golden | 6 +- ...kip_no_diff_without_initial_comment.golden | 6 +- .../comment_git_hub_with_no_guardrailt.golden | 6 +- .../config_file_nil_projects_errors.golden | 3 - .../diff_prior_empty_project.golden | 2 +- .../diff_prior_empty_project_json.golden | 25 +- .../diff_terraform_directory.golden | 2 +- .../diff_with_compare_to.golden | 2 +- .../diff_with_compare_to_format_json.golden | 52 +-- ...iff_with_compare_to_format_json.hcl.golden | 52 +-- ...with_current_and_past_project_error.golden | 26 +- ...mpare_to_with_current_project_error.golden | 26 +- ..._compare_to_with_past_project_error.golden | 26 +- .../diff_with_config_file_compare_to.golden | 4 +- ...fig_file_compare_to_deleted_project.golden | 2 +- .../diff_with_free_resources_checksum.golden | 25 +- .../diff_with_policy_data_upload.golden | 22 +- ...ig_file_and_terraform_workspace_env.golden | 4 +- ...rs_terraform_workspace_flag_and_env.golden | 4 +- .../force_project_type/expected.golden | 1 - .../generate/terragrunt/expected.golden | 3 - .../expected.golden | 3 - .../hcllocal_object_mock.golden | 12 +- .../hclmodule_count/hclmodule_count.golden | 12 +- .../hclmodule_for_each.golden | 12 +- .../hclmodule_output_counts.golden | 12 +- .../hclmodule_output_counts_nested.golden | 12 +- ...lmodule_reevaluated_on_input_change.golden | 12 +- .../hclmodule_relative_filesets.golden | 12 +- .../hclmulti_project_infra.hcl.golden | 16 +- .../hclmulti_var_files.golden | 12 +- .../hclmulti_workspace.golden | 16 +- .../hclprovider_alias.golden | 12 +- .../output_format_json.golden | 170 ++++------ .../infracost_output.golden | 2 +- .../register_help_flag.golden | 4 +- ...ith_blocking_fin_ops_policy_failure.golden | 6 +- ...oad_with_blocking_guardrail_failure.golden | 6 +- ...ad_with_blocking_tag_policy_failure.golden | 6 +- .../upload_with_cloud_disabled.golden | 2 +- .../upload_with_fin_ops_policy_warning.golden | 2 +- .../upload_with_guardrail_failure.golden | 6 +- .../upload_with_guardrail_success.golden | 4 +- .../upload_with_path/upload_with_path.golden | 2 +- .../upload_with_path_format_json.golden | 14 +- .../upload_with_share_link.golden | 2 +- .../upload_with_tag_policy_warning.golden | 2 +- cmd/resourcecheck/main.go | 13 +- contributing/add_new_resource_guide.md | 2 +- internal/apiclient/auth.go | 8 +- internal/apiclient/client.go | 3 +- internal/apiclient/dashboard.go | 13 +- internal/apiclient/policy.go | 4 +- internal/apiclient/pricing.go | 11 +- internal/clierror/error.go | 5 +- internal/config/config.go | 60 +--- internal/config/configuration.go | 5 +- internal/config/credentials.go | 5 +- internal/config/migrate.go | 11 +- internal/config/run_context.go | 28 ++ internal/credentials/terraform.go | 15 +- internal/extclient/authed_client.go | 3 +- internal/hcl/attribute.go | 6 +- internal/hcl/evaluator.go | 14 +- internal/hcl/graph.go | 1 + internal/hcl/graph_vertex_module_call.go | 1 + internal/hcl/modules/loader.go | 16 +- internal/hcl/parser.go | 42 ++- internal/hcl/project_locator.go | 4 +- internal/hcl/remote_variables_loader.go | 42 ++- internal/output/combined.go | 5 +- internal/output/html.go | 5 +- internal/output/output.go | 12 +- internal/output/table.go | 29 +- internal/prices/prices.go | 267 ++++----------- internal/prices/prices_test.go | 63 ---- .../cloudformation/aws/dynamodb_table.go | 4 +- .../cloudformation/template_provider.go | 22 +- internal/providers/detect.go | 43 +-- .../terraform/aws/autoscaling_group.go | 4 +- internal/providers/terraform/aws/aws.go | 4 +- .../aws/directory_service_directory.go | 5 +- .../acm_certificate_test.golden | 2 +- .../acmpca_certificate_authority_test.golden | 2 +- .../api_gateway_rest_api_test.golden | 2 +- .../api_gateway_stage_test.golden | 2 +- .../apigatewayv2_api_test.golden | 2 +- .../autoscaling_group_test.golden | 6 +- .../backup_vault_test.golden | 2 +- .../cloudformation_stack_set_test.golden | 2 +- .../cloudformation_stack_test.golden | 2 +- .../cloudfront_distribution_test.golden | 2 +- .../cloudhsm_v2_hsm_test.golden | 2 +- .../cloudtrail_test/cloudtrail_test.golden | 2 +- .../cloudwatch_dashboard_test.golden | 2 +- .../cloudwatch_event_bus_test.golden | 2 +- .../cloudwatch_log_group_test.golden | 2 +- .../cloudwatch_metric_alarm_test.golden | 2 +- .../codebuild_project_test.golden | 2 +- .../config_config_rule_test.golden | 2 +- .../config_configuration_recorder_test.golden | 2 +- ...onfig_organization_custom_rule_test.golden | 2 +- ...nfig_organization_managed_rule_test.golden | 2 +- .../data_transfer_test.golden | 2 +- .../db_instance_test/db_instance_test.golden | 2 +- .../directory_service_directory_test.golden | 2 +- .../aws/testdata/dms_test/dms_test.golden | 2 +- .../docdb_cluster_instance_test.golden | 2 +- .../docdb_cluster_snapshot_test.golden | 2 +- .../docdb_cluster_test.golden | 2 +- .../dx_connection_test.golden | 2 +- .../dx_gateway_association_test.golden | 2 +- .../dynamodb_table_test.golden | 2 +- .../ebs_snapshot_copy_test.golden | 2 +- .../ebs_snapshot_test.golden | 2 +- .../ebs_volume_test/ebs_volume_test.golden | 2 +- .../ec2_client_vpn_endpoint_test.golden | 2 +- ...client_vpn_network_association_test.golden | 2 +- .../ec2_host_test/ec2_host_test.golden | 2 +- .../ec2_traffic_mirror_session_test.golden | 2 +- ...sit_gateway_peering_attachment_test.golden | 2 +- ...transit_gateway_vpc_attachment_test.golden | 2 +- .../ecr_repository_test.golden | 2 +- .../ecs_service_test/ecs_service_test.golden | 2 +- .../efs_file_system_test.golden | 2 +- .../aws/testdata/eip_test/eip_test.golden | 2 +- .../eks_cluster_test/eks_cluster_test.golden | 2 +- .../eks_fargate_profile_test.golden | 2 +- .../eks_node_group_test.golden | 2 +- .../elastic_beanstalk_environment_test.golden | 2 +- .../elasticache_cluster_test.golden | 2 +- .../elasticache_replication_group_test.golden | 2 +- .../elasticsearch_domain_test.golden | 2 +- .../aws/testdata/elb_test/elb_test.golden | 2 +- .../fsx_openzfs_file_system_test.golden | 2 +- .../fsx_windows_file_system_test.golden | 2 +- ...bal_accelerator_endpoint_group_test.golden | 2 +- .../global_accelerator_test.golden | 2 +- .../glue_catalog_database_test.golden | 2 +- .../glue_crawler_test.golden | 2 +- .../glue_job_test/glue_job_test.golden | 2 +- .../instance_test/instance_test.golden | 4 +- ...nesis_firehose_delivery_stream_test.golden | 2 +- .../kinesis_stream_test.golden | 2 +- .../kinesisanalytics_application_test.golden | 2 +- ...alyticsv2_application_snapshot_test.golden | 10 +- ...kinesisanalyticsv2_application_test.golden | 2 +- .../kms_external_key_test.golden | 2 +- .../testdata/kms_key_test/kms_key_test.golden | 2 +- .../lambda_function_test.golden | 2 +- ...provisioned_concurrency_config_test.golden | 2 +- .../aws/testdata/lb_test/lb_test.golden | 2 +- .../lightsail_instance_test.golden | 2 +- .../mq_broker_test/mq_broker_test.golden | 2 +- .../msk_cluster_test/msk_cluster_test.golden | 2 +- .../mwaa_environment_test.golden | 2 +- .../nat_gateway_test/nat_gateway_test.golden | 2 +- .../neptune_cluster_instance_test.golden | 2 +- .../neptune_cluster_snapshot_test.golden | 2 +- .../neptune_cluster_test.golden | 2 +- .../networkfirewall_firewall_test.golden | 2 +- .../opensearch_domain_test.golden | 2 +- .../rds_cluster_instance_test.golden | 2 +- .../rds_cluster_test/rds_cluster_test.golden | 2 +- .../redshift_cluster_test.golden | 2 +- .../route53_health_check_test.golden | 2 +- .../route53_record_test.golden | 2 +- .../route53_resolver_endpoint_test.golden | 2 +- .../route53_zone_test.golden | 2 +- ...bucket_analytics_configuration_test.golden | 2 +- .../s3_bucket_inventory_test.golden | 2 +- ...bucket_lifecycle_configuration_test.golden | 2 +- .../s3_bucket_test/s3_bucket_test.golden | 2 +- .../s3_bucket_v3_test.golden | 2 +- .../secretsmanager_secret_test.golden | 2 +- .../sfn_state_machine_test.golden | 2 +- .../sns_topic_subscription_test.golden | 2 +- .../sns_topic_test/sns_topic_test.golden | 2 +- .../sqs_queue_test/sqs_queue_test.golden | 2 +- .../ssm_activation_test.golden | 2 +- .../ssm_parameter_test.golden | 2 +- .../transfer_server_test.golden | 2 +- .../vpc_endpoint_test.golden | 2 +- .../vpn_connection_test.golden | 2 +- .../waf_web_acl_test/waf_web_acl_test.golden | 8 +- .../wafv2_web_acl_test.golden | 2 +- .../providers/terraform/azure/cdn_endpoint.go | 4 +- .../azure/cosmosdb_cassandra_keyspace.go | 6 +- .../azure/cosmosdb_cassandra_table.go | 7 +- .../azure/cosmosdb_mongo_collection.go | 7 +- .../terraform/azure/key_vault_certificate.go | 4 +- .../terraform/azure/key_vault_key.go | 4 +- .../terraform/azure/mariadb_server.go | 6 +- .../monitor_scheduled_query_rules_alert_v2.go | 4 +- .../terraform/azure/mssql_database.go | 5 +- .../terraform/azure/mysql_flexible_server.go | 9 +- .../providers/terraform/azure/mysql_server.go | 9 +- .../azure/postgresql_flexible_server.go | 9 +- .../terraform/azure/postgresql_server.go | 7 +- .../providers/terraform/azure/sql_database.go | 5 +- .../terraform/azure/storage_queue.go | 5 +- ...ory_domain_service_replica_set_test.golden | 2 +- ...ctive_directory_domain_service_test.golden | 2 +- .../api_management_test.golden | 2 +- .../app_configuration_test.golden | 2 +- ...pp_service_certificate_binding_test.golden | 2 +- .../app_service_certificate_order_test.golden | 2 +- ...ervice_custom_hostname_binding_test.golden | 2 +- .../app_service_environment_test.golden | 2 +- .../app_service_plan_test.golden | 2 +- .../application_gateway_test.golden | 2 +- ...cation_insights_standard_web_t_test.golden | 2 +- .../application_insights_test.golden | 2 +- .../application_insights_web_t_test.golden | 2 +- .../automation_account_test.golden | 2 +- .../automation_dsc_configuration_test.golden | 2 +- ...tomation_dsc_nodeconfiguration_test.golden | 2 +- .../automation_job_schedule_test.golden | 2 +- .../bastion_host_test.golden | 2 +- .../cdn_endpoint_test.golden | 2 +- .../cognitive_account_test.golden | 18 +- .../cognitive_deployment_test.golden | 4 +- .../container_registry_test.golden | 2 +- .../cosmosdb_cassandra_keyspace_test.golden | 2 +- ...yspace_test_with_blank_geo_location.golden | 2 +- .../cosmosdb_cassandra_table_test.golden | 8 +- .../cosmosdb_gremlin_database_test.golden | 2 +- .../cosmosdb_gremlin_graph_test.golden | 2 +- .../cosmosdb_mongo_collection_test.golden | 2 +- .../cosmosdb_mongo_database_test.golden | 2 +- .../cosmosdb_sql_container_test.golden | 2 +- .../cosmosdb_sql_database_test.golden | 2 +- .../cosmosdb_table_test.golden | 4 +- ...integration_runtime_azure_ssis_test.golden | 2 +- ...tory_integration_runtime_azure_test.golden | 14 +- ...ry_integration_runtime_managed_test.golden | 2 +- ...ntegration_runtime_self_hosted_test.golden | 2 +- .../data_factory_test.golden | 2 +- .../databricks_workspace_test.golden | 2 +- .../dns_a_record_test.golden | 2 +- .../dns_aaaa_record_test.golden | 2 +- .../dns_caa_record_test.golden | 2 +- .../dns_cname_record_test.golden | 2 +- .../dns_mx_record_test.golden | 2 +- .../dns_ns_record_test.golden | 2 +- .../dns_ptr_record_test.golden | 2 +- .../dns_srv_record_test.golden | 2 +- .../dns_txt_record_test.golden | 2 +- .../dns_zone_test/dns_zone_test.golden | 2 +- .../event_hubs_namespace_test.golden | 2 +- .../eventgrid_system_topic_test.golden | 2 +- .../eventgrid_topic_test.golden | 2 +- .../express_route_connection_test.golden | 2 +- .../express_route_gateway_test.golden | 2 +- .../federated_identity_credential_test.golden | 2 +- .../firewall_test/firewall_test.golden | 2 +- .../frontdoor_firewall_policy_test.golden | 2 +- .../frontdoor_test/frontdoor_test.golden | 2 +- .../function_app_test.golden | 2 +- .../function_linux_app_test.golden | 2 +- .../function_windows_app_test.golden | 2 +- .../hdinsight_hadoop_cluster_test.golden | 2 +- .../hdinsight_hbase_cluster_test.golden | 2 +- ...ight_interactive_query_cluster_test.golden | 10 +- .../hdinsight_kafka_cluster_test.golden | 2 +- .../hdinsight_spark_cluster_test.golden | 2 +- .../testdata/image_test/image_test.golden | 2 +- ...ntegration_service_environment_test.golden | 2 +- .../testdata/iothub_test/iothub_test.golden | 2 +- .../key_vault_certificate_test.golden | 2 +- .../key_vault_key_test.golden | 2 +- ...naged_hardware_security_module_test.golden | 2 +- .../kubernetes_cluster_node_pool_test.golden | 2 +- .../kubernetes_cluster_test.golden | 2 +- .../lb_outbound_rule_test.golden | 2 +- .../lb_outbound_rule_v2_test.golden | 2 +- .../testdata/lb_rule_test/lb_rule_test.golden | 2 +- .../lb_rule_v2_test/lb_rule_v2_test.golden | 2 +- .../azure/testdata/lb_test/lb_test.golden | 2 +- ...inux_virtual_machine_scale_set_test.golden | 2 +- .../linux_virtual_machine_test.golden | 2 +- .../log_analytics_workspace_test.golden | 10 +- .../logic_app_integration_account_test.golden | 2 +- .../logic_app_standard_test.golden | 2 +- ...chine_learning_compute_cluster_test.golden | 2 +- ...hine_learning_compute_instance_test.golden | 2 +- .../managed_disk_test.golden | 2 +- .../mariadb_server_test.golden | 2 +- .../monitor_action_group_test.golden | 2 +- .../monitor_data_collection_rule_test.golden | 2 +- .../monitor_diagnostic_setting_test.golden | 2 +- .../monitor_metric_alert_test.golden | 2 +- ...or_scheduled_query_rules_alert_test.golden | 2 +- ...scheduled_query_rules_alert_v2_test.golden | 2 +- .../mssql_database_test.golden | 34 +- ...l_database_test_with_blank_location.golden | 7 +- .../mssql_elasticpool_test.golden | 17 +- .../mssql_managed_instance_test.golden | 2 +- .../mysql_flexible_server_test.golden | 2 +- .../mysql_server_test.golden | 11 +- .../nat_gateway_test/nat_gateway_test.golden | 2 +- .../network_connection_monitor_test.golden | 2 +- .../network_ddos_protection_plan_test.golden | 2 +- .../network_watcher_flow_log_test.golden | 2 +- .../network_watcher_test.golden | 2 +- .../notification_hub_namespace_test.golden | 2 +- .../point_to_site_vpn_gateway_test.golden | 2 +- .../postgresql_flexible_server_test.golden | 2 +- .../postgresql_server_test.golden | 2 +- .../powerbi_embedded_test.golden | 2 +- .../private_dns_a_record_test.golden | 2 +- .../private_dns_aaaa_record_test.golden | 2 +- .../private_dns_cname_record_test.golden | 2 +- .../private_dns_mx_record_test.golden | 2 +- .../private_dns_ptr_record_test.golden | 2 +- ...esolver_dns_forwarding_ruleset_test.golden | 2 +- ..._dns_resolver_inbound_endpoint_test.golden | 2 +- ...dns_resolver_outbound_endpoint_test.golden | 2 +- .../private_dns_srv_record_test.golden | 2 +- .../private_dns_txt_record_test.golden | 2 +- .../private_dns_zone_test.golden | 2 +- .../private_endpoint_test.golden | 2 +- .../public_ip_prefix_test.golden | 2 +- .../public_ip_test/public_ip_test.golden | 2 +- .../recovery_services_vault_test.golden | 66 +++- .../redis_cache_test/redis_cache_test.golden | 2 +- .../search_service_test.golden | 2 +- ...ty_center_subscription_pricing_test.golden | 6 +- ...data_connector_aws_cloud_trail_test.golden | 2 +- ...nnector_azure_active_directory_test.golden | 2 +- ...ure_advanced_threat_protection_test.golden | 10 +- ...onnector_azure_security_center_test.golden | 2 +- ...r_microsoft_cloud_app_security_test.golden | 2 +- ...der_advanced_threat_protection_test.golden | 10 +- ...inel_data_connector_office_365_test.golden | 2 +- ..._connector_threat_intelligence_test.golden | 2 +- .../service_plan_test.golden | 12 +- .../servicebus_namespace_test.golden | 2 +- .../signalr_service_test.golden | 2 +- .../snapshot_test/snapshot_test.golden | 2 +- .../sql_database_test.golden | 26 +- .../sql_elasticpool_test.golden | 2 +- .../sql_managed_instance_test.golden | 2 +- .../storage_account_test.golden | 4 +- .../storage_queue_test.golden | 6 +- .../storage_share_test.golden | 4 +- .../synapse_spark_pool_test.golden | 2 +- .../synapse_sql_pool_test.golden | 2 +- .../synapse_workspace_test.golden | 2 +- ...traffic_manager_azure_endpoint_test.golden | 2 +- ...ffic_manager_external_endpoint_test.golden | 2 +- ...raffic_manager_nested_endpoint_test.golden | 2 +- .../traffic_manager_profile_test.golden | 2 +- .../virtual_hub_test/virtual_hub_test.golden | 2 +- .../virtual_machine_scale_set_test.golden | 2 +- .../virtual_machine_test.golden | 2 +- ...ual_network_gateway_connection_test.golden | 2 +- .../virtual_network_gateway_test.golden | 2 +- .../virtual_network_peering_test.golden | 2 +- .../vpn_gateway_connection_test.golden | 2 +- .../vpn_gateway_test/vpn_gateway_test.golden | 2 +- ...dows_virtual_machine_scale_set_test.golden | 2 +- .../windows_virtual_machine_test.golden | 2 +- internal/providers/terraform/azure/util.go | 4 +- internal/providers/terraform/cloud.go | 4 +- internal/providers/terraform/cmd.go | 13 +- internal/providers/terraform/dir_provider.go | 105 +++--- .../terraform/google/container_cluster.go | 4 +- .../terraform/google/container_node_pool.go | 4 +- .../artifact_registry_repository_test.golden | 2 +- .../bigquery_dataset_test.golden | 2 +- .../bigquery_table_test.golden | 2 +- .../cloudfunctions_function_test.golden | 2 +- .../compute_address_test.golden | 2 +- .../compute_disk_test.golden | 2 +- .../compute_external_vpn_gateway_test.golden | 2 +- .../compute_forwarding_rule_test.golden | 2 +- .../compute_ha_vpn_gateway_test.golden | 2 +- .../compute_image_test.golden | 2 +- ...compute_instance_group_manager_test.golden | 2 +- .../compute_instance_test.golden | 4 +- .../compute_machine_image_test.golden | 2 +- .../compute_per_instance_config_test.golden | 2 +- ..._region_instance_group_manager_test.golden | 2 +- ...ute_region_per_instance_config_test.golden | 2 +- .../compute_router_nat_test.golden | 2 +- .../compute_snapshot_test.golden | 2 +- .../compute_target_grpc_proxy_test.golden | 2 +- .../compute_vpn_gateway_test.golden | 2 +- .../compute_vpn_tunnel_test.golden | 2 +- .../container_cluster_test.golden | 4 +- .../container_node_pool_test.golden | 2 +- .../container_registry_test.golden | 2 +- .../dns_managed_zone_test.golden | 2 +- .../dns_record_set_test.golden | 2 +- .../kms_crypto_key_test.golden | 2 +- ..._billing_account_bucket_config_test.golden | 2 +- .../logging_billing_account_sink_test.golden | 2 +- .../logging_folder_bucket_config_test.golden | 2 +- .../logging_folder_sink_test.golden | 2 +- ...ing_organization_bucket_config_test.golden | 2 +- .../logging_organization_sink_test.golden | 2 +- .../logging_project_bucket_config_test.golden | 2 +- .../logging_project_sink_test.golden | 2 +- .../monitoring_metric_descriptor_test.golden | 2 +- .../pubsub_subscription_test.golden | 2 +- .../pubsub_topic_test.golden | 2 +- .../redis_instance_test.golden | 2 +- .../secret_manager_secret_test.golden | 2 +- .../secret_manager_secret_version_test.golden | 2 +- .../service_networking_connection_test.golden | 2 +- .../sql_database_instance_test.golden | 4 +- .../storage_bucket_test.golden | 2 +- internal/providers/terraform/hcl_provider.go | 30 +- internal/providers/terraform/plan_cache.go | 49 +-- .../providers/terraform/plan_json_provider.go | 28 +- internal/providers/terraform/plan_provider.go | 38 +-- .../terraform/state_json_provider.go | 26 +- .../terraform/terragrunt_hcl_provider.go | 30 +- .../terraform/terragrunt_provider.go | 59 ++-- internal/providers/terraform/tftest/tftest.go | 18 +- .../resources/aws/cloudfront_distribution.go | 6 +- internal/resources/aws/data_transfer.go | 4 +- internal/resources/aws/db_instance.go | 5 +- internal/resources/aws/dx_connection.go | 5 +- internal/resources/aws/ec2_host.go | 4 +- internal/resources/aws/elasticache_cluster.go | 6 +- internal/resources/aws/instance.go | 8 +- .../resources/aws/launch_configuration.go | 4 +- internal/resources/aws/launch_template.go | 4 +- internal/resources/aws/lightsail_instance.go | 5 +- .../resources/aws/rds_cluster_instance.go | 4 +- internal/resources/aws/s3_bucket.go | 4 +- .../s3_bucket_lifececycle_configuration.go | 4 +- internal/resources/aws/ssm_parameter.go | 5 +- .../data_factory_integration_runtime_azure.go | 3 + .../azure/kubernetes_cluster_node_pool.go | 6 +- .../azure/log_analytics_workspace.go | 4 +- internal/resources/azure/managed_disk.go | 8 +- internal/resources/azure/mssql_elasticpool.go | 3 + internal/resources/azure/sql_database.go | 11 +- internal/resources/core_resource.go | 5 +- .../resources/google/sql_database_instance.go | 13 +- internal/schema/cost_component.go | 8 - internal/schema/diff.go | 5 +- internal/schema/project.go | 1 - internal/schema/provider.go | 3 - internal/schema/resource.go | 36 +- internal/testutil/testutil.go | 9 + internal/ui/print.go | 34 +- internal/ui/promts.go | 63 ++++ internal/ui/spin.go | 93 ++++++ internal/ui/strings.go | 11 - internal/ui/util.go | 7 + internal/update/update.go | 8 +- internal/usage/aws/autoscaling.go | 7 +- internal/usage/aws/dynamodb.go | 7 +- internal/usage/aws/ec2.go | 5 +- internal/usage/aws/eks.go | 5 +- internal/usage/aws/lambda.go | 7 +- internal/usage/aws/s3.go | 11 +- internal/usage/aws/util.go | 4 +- internal/usage/resource_usage.go | 12 +- internal/usage/sync.go | 4 +- internal/usage/usage_file.go | 6 +- schema/infracost.schema.json | 10 +- tools/describezones/main.go | 26 +- tools/release/main.go | 15 +- 555 files changed, 2441 insertions(+), 2946 deletions(-) delete mode 100644 cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden delete mode 100644 cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf delete mode 100644 internal/prices/prices_test.go create mode 100644 internal/ui/promts.go create mode 100644 internal/ui/spin.go diff --git a/cmd/infracost/breakdown_test.go b/cmd/infracost/breakdown_test.go index 06dd3fa890a..601ddc11fdd 100644 --- a/cmd/infracost/breakdown_test.go +++ b/cmd/infracost/breakdown_test.go @@ -1322,17 +1322,3 @@ func TestBreakdownSkipAutodetectionIfTerraformVarFilePassed(t *testing.T) { nil, ) } - -func TestBreakdownNoPricesWarnings(t *testing.T) { - testName := testutil.CalcGoldenFileTestdataDirName() - dir := path.Join("./testdata", testName) - GoldenFileCommandTest( - t, - testutil.CalcGoldenFileTestdataDirName(), - []string{ - "breakdown", - "--path", dir, - }, - nil, - ) -} diff --git a/cmd/infracost/cmd_test.go b/cmd/infracost/cmd_test.go index 16d525ac8c3..4389fb01e41 100644 --- a/cmd/infracost/cmd_test.go +++ b/cmd/infracost/cmd_test.go @@ -128,7 +128,12 @@ func GetCommandOutput(t *testing.T, args []string, testOptions *GoldenFileOption c.OutWriter = outBuf c.Exit = func(code int) {} - logBuf = testutil.ConfigureTestToCaptureLogs(t, c) + if testOptions.CaptureLogs { + logBuf = testutil.ConfigureTestToCaptureLogs(t, c) + } else { + testutil.ConfigureTestToFailOnLogs(t, c) + } + for _, option := range ctxOptions { option(c) } diff --git a/cmd/infracost/comment.go b/cmd/infracost/comment.go index e8a0c41bc28..3a8267211ef 100644 --- a/cmd/infracost/comment.go +++ b/cmd/infracost/comment.go @@ -13,11 +13,11 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/apiclient" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/output" + "github.com/infracost/infracost/internal/ui" ) type CommentOutput struct { @@ -83,7 +83,7 @@ func buildCommentOutput(cmd *cobra.Command, ctx *config.RunContext, paths []stri combined, err := output.Combine(inputs) if errors.As(err, &clierror.WarningError{}) { - logging.Logger.Warn().Msgf(err.Error()) + ui.PrintWarningf(cmd.ErrOrStderr(), err.Error()) } else if err != nil { return nil, err } @@ -96,7 +96,7 @@ func buildCommentOutput(cmd *cobra.Command, ctx *config.RunContext, paths []stri var result apiclient.AddRunResponse if ctx.IsCloudUploadEnabled() && !dryRun { if ctx.Config.IsSelfHosted() { - logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } else { combined.Metadata.InfracostCommand = "comment" commentFormat := apiclient.CommentFormatMarkdownHTML diff --git a/cmd/infracost/configure.go b/cmd/infracost/configure.go index 55ffc3eac71..9cf8561e4b4 100644 --- a/cmd/infracost/configure.go +++ b/cmd/infracost/configure.go @@ -9,7 +9,6 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -207,7 +206,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.CredentialsFilePath(), ui.PrimaryString("infracost configure set pricing_api_endpoint https://cloud-pricing-api"), ) - logging.Logger.Warn().Msg(msg) + ui.PrintWarning(cmd.ErrOrStderr(), msg) } case "api_key": value = ctx.Config.Credentials.APIKey @@ -217,7 +216,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.CredentialsFilePath(), ui.PrimaryString("infracost configure set api_key MY_API_KEY"), ) - logging.Logger.Warn().Msg(msg) + ui.PrintWarning(cmd.ErrOrStderr(), msg) } case "currency": value = ctx.Config.Configuration.Currency @@ -227,7 +226,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set currency CURRENCY"), ) - logging.Logger.Warn().Msg(msg) + ui.PrintWarning(cmd.ErrOrStderr(), msg) } case "tls_insecure_skip_verify": if ctx.Config.Configuration.TLSInsecureSkipVerify == nil { @@ -241,7 +240,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set tls_insecure_skip_verify true"), ) - logging.Logger.Warn().Msg(msg) + ui.PrintWarning(cmd.ErrOrStderr(), msg) } case "tls_ca_cert_file": value = ctx.Config.Configuration.TLSCACertFile @@ -251,7 +250,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set tls_ca_cert_file /path/to/ca.crt"), ) - logging.Logger.Warn().Msg(msg) + ui.PrintWarning(cmd.ErrOrStderr(), msg) } case "enable_dashboard": if ctx.Config.Configuration.EnableDashboard == nil { diff --git a/cmd/infracost/generate.go b/cmd/infracost/generate.go index eaf8e17f76e..c4d5da044b5 100644 --- a/cmd/infracost/generate.go +++ b/cmd/infracost/generate.go @@ -94,7 +94,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { } var autoProjects []hcl.DetectedProject - detectionOutput, err := providers.Detect(ctx, &config.Project{Path: repoPath}, false) + autoProviders, err := providers.Detect(ctx, &config.Project{Path: repoPath}, false) if err != nil { if definedProjects { logging.Logger.Debug().Err(err).Msg("could not detect providers") @@ -103,7 +103,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { } } - for _, provider := range detectionOutput.Providers { + for _, provider := range autoProviders { if v, ok := provider.(hcl.DetectedProject); ok { autoProjects = append(autoProjects, v) } @@ -112,7 +112,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { if definedProjects { m, err := vcs.MetadataFetcher.Get(repoPath, nil) if err != nil { - logging.Logger.Warn().Msgf("could not fetch git metadata err: %s, default template variables will be blank", err) + ui.PrintWarningf(cmd.ErrOrStderr(), "could not fetch git metadata err: %s, default template variables will be blank", err) } detectedProjects := make([]template.DetectedProject, len(autoProjects)) @@ -124,7 +124,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { Name: p.ProjectName(), Path: relPath, Env: p.EnvName(), - TerraformVarFiles: p.VarFiles(), + TerraformVarFiles: p.TerraformVarFiles(), } if v, ok := detectedPaths[relPath]; ok { diff --git a/cmd/infracost/main.go b/cmd/infracost/main.go index 028fd629c8b..8236149fc1e 100644 --- a/cmd/infracost/main.go +++ b/cmd/infracost/main.go @@ -322,7 +322,7 @@ func handleCLIError(ctx *config.RunContext, cliErr error) { } func handleUnexpectedErr(ctx *config.RunContext, err error) { - ui.PrintUnexpectedErrorStack(err) + ui.PrintUnexpectedErrorStack(ctx.ErrWriter, err) err = apiclient.ReportCLIError(ctx, err, false) if err != nil { @@ -381,7 +381,11 @@ func saveOutFileWithMsg(ctx *config.RunContext, cmd *cobra.Command, outFile, suc return errors.Wrap(err, "Unable to save output") } - logging.Logger.Info().Msg(successMsg) + if ctx.Config.IsLogging() { + logging.Logger.Info().Msg(successMsg) + } else { + cmd.PrintErrf("%s\n", successMsg) + } return nil } diff --git a/cmd/infracost/output.go b/cmd/infracost/output.go index 72eb39f0464..4cbaf78c6eb 100644 --- a/cmd/infracost/output.go +++ b/cmd/infracost/output.go @@ -5,12 +5,12 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/spf13/cobra" "github.com/infracost/infracost/internal/apiclient" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/output" "github.com/infracost/infracost/internal/ui" ) @@ -96,7 +96,7 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { combined, err := output.Combine(inputs) if errors.As(err, &clierror.WarningError{}) { if format == "json" { - logging.Logger.Warn().Msgf(err.Error()) + ui.PrintWarningf(cmd.ErrOrStderr(), err.Error()) } } else if err != nil { return err @@ -111,14 +111,14 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { if cmd.Flags().Changed("fields") { fields, _ = cmd.Flags().GetStringSlice("fields") if len(fields) == 0 { - logging.Logger.Warn().Msgf("fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) + ui.PrintWarningf(cmd.ErrOrStderr(), "fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) } else if len(fields) == 1 && fields[0] == includeAllFields { fields = validFields } else { vf := []string{} for _, f := range fields { if !contains(validFields, f) { - logging.Logger.Warn().Msgf("Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) + ui.PrintWarningf(cmd.ErrOrStderr(), "Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) } else { vf = append(vf, f) } @@ -139,12 +139,12 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { validFieldsFormats := []string{"table", "html"} if cmd.Flags().Changed("fields") && !contains(validFieldsFormats, format) { - logging.Logger.Warn().Msg("fields is only supported for table and html output formats") + ui.PrintWarning(cmd.ErrOrStderr(), "fields is only supported for table and html output formats") } if ctx.IsCloudUploadExplicitlyEnabled() { if ctx.Config.IsSelfHosted() { - logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } else { result := shareCombinedRun(ctx, combined, inputs, apiclient.CommentFormatMarkdownHTML) combined.RunID, combined.ShareURL, combined.CloudURL = result.RunID, result.ShareURL, result.CloudURL @@ -159,7 +159,7 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { pricingClient := apiclient.GetPricingAPIClient(ctx) err = pricingClient.AddEvent("infracost-output", ctx.EventEnv()) if err != nil { - logging.Logger.Error().Msgf("Error reporting event: %s", err) + log.Error().Msgf("Error reporting event: %s", err) } if outFile, _ := cmd.Flags().GetString("out-file"); outFile != "" { @@ -205,7 +205,7 @@ func shareCombinedRun(ctx *config.RunContext, combined output.Root, inputs []out dashboardClient := apiclient.NewDashboardAPIClient(ctx) result, err := dashboardClient.AddRun(ctx, combined, commentFormat) if err != nil { - logging.Logger.Err(err).Msg("Failed to upload to Infracost Cloud") + log.Err(err).Msg("Failed to upload to Infracost Cloud") } return result diff --git a/cmd/infracost/register.go b/cmd/infracost/register.go index 8392192502f..e60f3eb758a 100644 --- a/cmd/infracost/register.go +++ b/cmd/infracost/register.go @@ -4,7 +4,6 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -16,7 +15,7 @@ func registerCmd(ctx *config.RunContext) *cobra.Command { Short: login.Short, Long: login.Long, RunE: func(cmd *cobra.Command, args []string) error { - logging.Logger.Warn().Msgf( + ui.PrintWarningf(cmd.ErrOrStderr(), "this command has been changed to %s, which does the same thing - we’ll run that for you now.\n", ui.PrimaryString("infracost auth login"), ) @@ -26,7 +25,7 @@ func registerCmd(ctx *config.RunContext) *cobra.Command { } cmd.SetHelpFunc(func(cmd *cobra.Command, strings []string) { - logging.Logger.Warn().Msgf( + ui.PrintWarningf(cmd.ErrOrStderr(), "this command has been changed to %s, which does the same thing - showing information for that command.\n", ui.PrimaryString("infracost auth login"), ) diff --git a/cmd/infracost/run.go b/cmd/infracost/run.go index 222a7cd4f81..ce7d7f414f4 100644 --- a/cmd/infracost/run.go +++ b/cmd/infracost/run.go @@ -6,7 +6,7 @@ import ( "errors" "fmt" "io" - "path/filepath" + "os" "runtime/debug" "sort" "strings" @@ -14,6 +14,7 @@ import ( "time" "github.com/Rhymond/go-money" + "github.com/rs/zerolog/log" "github.com/spf13/cobra" "golang.org/x/sync/errgroup" @@ -82,7 +83,7 @@ func addRunFlags(cmd *cobra.Command) { func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { if runCtx.Config.IsSelfHosted() && runCtx.IsCloudEnabled() { - logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } repoPath := runCtx.Config.RepoPath() @@ -102,10 +103,6 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { return err } - // write an aggregate log line of cost components that have - // missing prices if any have been found. - pr.pricingFetcher.LogWarnings() - projects := make([]*schema.Project, 0) projectContexts := make([]*config.ProjectContext, 0) @@ -136,12 +133,12 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { dashboardClient := apiclient.NewDashboardAPIClient(runCtx) result, err := dashboardClient.AddRun(runCtx, r, apiclient.CommentFormatMarkdownHTML) if err != nil { - logging.Logger.Err(err).Msg("Failed to upload to Infracost Cloud") + log.Err(err).Msg("Failed to upload to Infracost Cloud") } r.RunID, r.ShareURL, r.CloudURL = result.RunID, result.ShareURL, result.CloudURL } else { - logging.Logger.Debug().Msg("Skipping sending project results since Infracost Cloud upload is not enabled.") + log.Debug().Msg("Skipping sending project results since Infracost Cloud upload is not enabled.") } format := strings.ToLower(runCtx.Config.Format) @@ -166,12 +163,12 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { runCtx.ContextValues.SetValue("lineCount", lines) } - env := pr.buildRunEnv(projectContexts, r) + env := buildRunEnv(runCtx, projectContexts, r) pricingClient := apiclient.GetPricingAPIClient(runCtx) err = pricingClient.AddEvent("infracost-run", env) if err != nil { - logging.Logger.Error().Msgf("Error reporting event: %s", err) + log.Error().Msgf("Error reporting event: %s", err) } if outFile, _ := cmd.Flags().GetString("out-file"); outFile != "" { @@ -181,7 +178,9 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { } } else { // Print a new line to separate the logs from the output - cmd.PrintErrln() + if runCtx.Config.IsLogging() { + cmd.PrintErrln() + } cmd.Println(string(b)) } @@ -193,12 +192,11 @@ type projectOutput struct { } type parallelRunner struct { - cmd *cobra.Command - runCtx *config.RunContext - pathMuxs map[string]*sync.Mutex - prior *output.Root - parallelism int - pricingFetcher *prices.PriceFetcher + cmd *cobra.Command + runCtx *config.RunContext + pathMuxs map[string]*sync.Mutex + prior *output.Root + parallelism int } func newParallelRunner(cmd *cobra.Command, runCtx *config.RunContext) (*parallelRunner, error) { @@ -229,127 +227,38 @@ func newParallelRunner(cmd *cobra.Command, runCtx *config.RunContext) (*parallel runCtx.ContextValues.SetValue("parallelism", parallelism) return ¶llelRunner{ - parallelism: parallelism, - runCtx: runCtx, - cmd: cmd, - pathMuxs: pathMuxs, - prior: prior, - pricingFetcher: prices.NewPriceFetcher(runCtx), + parallelism: parallelism, + runCtx: runCtx, + cmd: cmd, + pathMuxs: pathMuxs, + prior: prior, }, nil } func (r *parallelRunner) run() ([]projectResult, error) { var queue []projectJob - var totalRootModules int - var i int - isAuto := r.runCtx.IsAutoDetect() + var i int for _, p := range r.runCtx.Config.Projects { - detectionOutput, err := providers.Detect(r.runCtx, p, r.prior == nil) + detected, err := providers.Detect(r.runCtx, p, r.prior == nil) if err != nil { m := fmt.Sprintf("%s\n\n", err) m += fmt.Sprintf(" Try adding a config-file to configure how Infracost should run. See %s for details and examples.", ui.LinkString("https://infracost.io/config-file")) queue = append(queue, projectJob{index: i, err: schema.NewEmptyPathTypeError(errors.New(m)), ctx: config.NewProjectContext(r.runCtx, p, map[string]interface{}{})}) - i++ continue } - for _, provider := range detectionOutput.Providers { + for _, provider := range detected { queue = append(queue, projectJob{index: i, provider: provider}) i++ } - - totalRootModules += detectionOutput.RootModules - } - projectCounts := make(map[string]int) - for _, job := range queue { - if job.err != nil { - continue - } - - provider := job.provider - if v, ok := projectCounts[provider.DisplayType()]; ok { - projectCounts[provider.DisplayType()] = v + 1 - continue - } - - projectCounts[provider.DisplayType()] = 1 - } - - var order []string - for displayType := range projectCounts { - order = append(order, displayType) } - - var summary string - sort.Strings(order) - for i, displayType := range order { - count := projectCounts[displayType] - desc := "project" - if count > 1 { - desc = "projects" - } - - if len(order) > 1 && i == len(order)-2 { - summary += fmt.Sprintf("%d %s %s and ", count, displayType, desc) - } else if i == len(order)-1 { - summary += fmt.Sprintf("%d %s %s", count, displayType, desc) - } else { - summary += fmt.Sprintf("%d %s %s, ", count, displayType, desc) - } - } - - moduleDesc := "module" - pathDesc := "path" - if totalRootModules > 1 { - moduleDesc = "modules" - } - - if len(r.runCtx.Config.Projects) > 1 { - pathDesc = "paths" - } - - if isAuto { - if summary == "" { - logging.Logger.Error().Msgf("Could not autodetect any projects from path %s", ui.DirectoryDisplayName(r.runCtx, r.runCtx.Config.RootPath)) - } else { - logging.Logger.Info().Msgf("Autodetected %s across %d root %s", summary, totalRootModules, moduleDesc) - } - } else { - if summary == "" { - logging.Logger.Error().Msg("All provided config file paths are invalid or do not contain any supported projects") - } else { - logging.Logger.Info().Msgf("Autodetected %s from %d %s in the config file", summary, len(r.runCtx.Config.Projects), pathDesc) - } - } - - for _, job := range queue { - if job.err != nil { - continue - } - - provider := job.provider - - name := provider.ProjectName() - displayName := ui.ProjectDisplayName(r.runCtx, name) - - if len(provider.VarFiles()) > 0 { - varString := "" - for _, s := range provider.VarFiles() { - varString += fmt.Sprintf("%s, ", ui.DirectoryDisplayName(r.runCtx, filepath.Join(provider.RelativePath(), s))) - } - varString = strings.TrimRight(varString, ", ") - - logging.Logger.Info().Msgf("Found %s project %s at directory %s using %s var files %v", provider.DisplayType(), displayName, ui.DirectoryDisplayName(r.runCtx, provider.RelativePath()), provider.DisplayType(), varString) - } else { - logging.Logger.Info().Msgf("Found %s project %s at directory %s", provider.DisplayType(), displayName, ui.DirectoryDisplayName(r.runCtx, provider.RelativePath())) - } - } - projectResultChan := make(chan projectResult, len(queue)) jobs := make(chan projectJob, len(queue)) + r.printParallelMsg(queue) + errGroup, _ := errgroup.WithContext(context.Background()) for i := 0; i < r.parallelism; i++ { errGroup.Go(func() (err error) { @@ -414,9 +323,22 @@ func (r *parallelRunner) run() ([]projectResult, error) { return projectResults, nil } -func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err error) { - projectContext := job.provider.Context() - path := projectContext.ProjectConfig.Path +func (r *parallelRunner) printParallelMsg(queue []projectJob) { + runInParallel := r.parallelism > 1 && len(queue) > 1 + if (runInParallel || r.runCtx.IsCIRun()) && !r.runCtx.Config.IsLogging() { + if runInParallel { + r.cmd.PrintErrln("Running multiple projects in parallel, so log-level=info is enabled by default.") + r.cmd.PrintErrln("Run with INFRACOST_PARALLELISM=1 to disable parallelism to help debugging.") + r.cmd.PrintErrln() + } + + r.runCtx.Config.LogLevel = "info" + _ = logging.ConfigureBaseLogger(r.runCtx.Config) + } +} + +func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { + path := job.provider.Context().ProjectConfig.Path mux := r.pathMuxs[path] if mux != nil { mux.Lock() @@ -430,20 +352,20 @@ func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err er return nil, clierror.NewCLIError(errors.New(m), "Cannot use Terraform state JSON with the infracost diff command") } - name := job.provider.ProjectName() - displayName := ui.ProjectDisplayName(r.runCtx, name) + m := fmt.Sprintf("Detected %s at %s", job.provider.DisplayType(), ui.DisplayPath(path)) + if job.provider.Type() == "terraform_dir" { + m = fmt.Sprintf("Evaluating %s at %s", job.provider.DisplayType(), ui.DisplayPath(path)) + } - logging.Logger.Debug().Msgf("Starting evaluation for project %s", displayName) - defer func() { - if err != nil { - logging.Logger.Debug().Msgf("Failed evaluation for project %s", displayName) - } - logging.Logger.Debug().Msgf("Finished evaluation for project %s", displayName) - }() + if r.runCtx.Config.IsLogging() { + log.Info().Msg(m) + } else { + fmt.Fprintln(os.Stderr, m) + } // Generate usage file if r.runCtx.Config.SyncUsageFile { - err = r.generateUsageFile(job.provider) + err := r.generateUsageFile(job.provider) if err != nil { return nil, fmt.Errorf("Error generating usage file %w", err) } @@ -452,24 +374,24 @@ func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err er // Load usage data var usageFile *usage.UsageFile - if projectContext.ProjectConfig.UsageFile != "" { + if job.provider.Context().ProjectConfig.UsageFile != "" { var err error - usageFile, err = usage.LoadUsageFile(projectContext.ProjectConfig.UsageFile) + usageFile, err = usage.LoadUsageFile(job.provider.Context().ProjectConfig.UsageFile) if err != nil { return nil, err } invalidKeys, err := usageFile.InvalidKeys() if err != nil { - logging.Logger.Error().Msgf("Error checking usage file keys: %v", err) + log.Error().Msgf("Error checking usage file keys: %v", err) } else if len(invalidKeys) > 0 { - logging.Logger.Warn().Msgf( + ui.PrintWarningf(r.cmd.ErrOrStderr(), "The following usage file parameters are invalid and will be ignored: %s\n", strings.Join(invalidKeys, ", "), ) } - projectContext.ContextValues.SetValue("hasUsageFile", true) + job.provider.Context().ContextValues.SetValue("hasUsageFile", true) } else { usageFile = usage.NewBlankUsageFile() } @@ -499,7 +421,7 @@ func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err er } usageData := usageFile.ToUsageDataMap() - out = &projectOutput{} + out := &projectOutput{} t1 := time.Now() projects, err := job.provider.LoadResources(usageData) @@ -512,11 +434,17 @@ func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err er r.buildResources(projects) - logging.Logger.Debug().Msg("Retrieving cloud prices to calculate costs") + spinnerOpts := ui.SpinnerOptions{ + EnableLogging: r.runCtx.Config.IsLogging(), + NoColor: r.runCtx.Config.NoColor, + Indent: " ", + } + spinner := ui.NewSpinner("Retrieving cloud prices to calculate costs", spinnerOpts) + defer spinner.Fail() for _, project := range projects { - if err = r.pricingFetcher.PopulatePrices(project); err != nil { - logging.Logger.Debug().Err(err).Msgf("failed to populate prices for project %s", project.Name) + if err := prices.PopulatePrices(r.runCtx, project); err != nil { + spinner.Fail() r.cmd.PrintErrln() var apiErr *apiclient.APIError @@ -552,7 +480,9 @@ func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err er t2 := time.Now() taken := t2.Sub(t1).Milliseconds() - projectContext.ContextValues.SetValue("tfProjectRunTimeMs", taken) + job.provider.Context().ContextValues.SetValue("tfProjectRunTimeMs", taken) + + spinner.Success() if r.runCtx.Config.UsageActualCosts { r.populateActualCosts(projects) @@ -560,6 +490,10 @@ func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err er out.projects = projects + if !r.runCtx.Config.IsLogging() && !r.runCtx.Config.SkipErrLine { + r.cmd.PrintErrln() + } + return out, nil } @@ -570,7 +504,13 @@ func (r *parallelRunner) uploadCloudResourceIDs(projects []*schema.Project) erro r.runCtx.ContextValues.SetValue("uploadedResourceIds", true) - logging.Logger.Debug().Msg("Sending resource IDs to Infracost Cloud for usage estimates") + spinnerOpts := ui.SpinnerOptions{ + EnableLogging: r.runCtx.Config.IsLogging(), + NoColor: r.runCtx.Config.NoColor, + Indent: " ", + } + spinner := ui.NewSpinner("Sending resource IDs to Infracost Cloud for usage estimates", spinnerOpts) + defer spinner.Fail() for _, project := range projects { if err := prices.UploadCloudResourceIDs(r.runCtx, project); err != nil { @@ -579,6 +519,7 @@ func (r *parallelRunner) uploadCloudResourceIDs(projects []*schema.Project) erro } } + spinner.Success() return nil } @@ -622,7 +563,13 @@ func (r *parallelRunner) fetchProjectUsage(projects []*schema.Project) map[*sche resourceStr += "s" } - logging.Logger.Debug().Msgf("Retrieving usage defaults for %s from Infracost Cloud", resourceStr) + spinnerOpts := ui.SpinnerOptions{ + EnableLogging: r.runCtx.Config.IsLogging(), + NoColor: r.runCtx.Config.NoColor, + Indent: " ", + } + spinner := ui.NewSpinner(fmt.Sprintf("Retrieving usage defaults for %s from Infracost Cloud", resourceStr), spinnerOpts) + defer spinner.Fail() projectPtrToUsageMap := make(map[*schema.Project]schema.UsageMap, len(projects)) @@ -636,12 +583,20 @@ func (r *parallelRunner) fetchProjectUsage(projects []*schema.Project) map[*sche projectPtrToUsageMap[project] = usageMap } + spinner.Success() + return projectPtrToUsageMap } func (r *parallelRunner) populateActualCosts(projects []*schema.Project) { if r.runCtx.Config.UsageAPIEndpoint != "" { - logging.Logger.Debug().Msg("Retrieving actual costs from Infracost Cloud") + spinnerOpts := ui.SpinnerOptions{ + EnableLogging: r.runCtx.Config.IsLogging(), + NoColor: r.runCtx.Config.NoColor, + Indent: " ", + } + spinner := ui.NewSpinner("Retrieving actual costs from Infracost Cloud", spinnerOpts) + defer spinner.Fail() for _, project := range projects { if err := prices.PopulateActualCosts(r.runCtx, project); err != nil { @@ -649,10 +604,12 @@ func (r *parallelRunner) populateActualCosts(projects []*schema.Project) { return } } + + spinner.Success() } } -func (r *parallelRunner) generateUsageFile(provider schema.Provider) (err error) { +func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { ctx := provider.Context() if ctx.ProjectConfig.UsageFile == "" { @@ -663,7 +620,7 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) (err error) var usageFile *usage.UsageFile usageFilePath := ctx.ProjectConfig.UsageFile - err = usage.CreateUsageFile(usageFilePath) + err := usage.CreateUsageFile(usageFilePath) if err != nil { return fmt.Errorf("Error creating usage file %w", err) } @@ -681,32 +638,37 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) (err error) r.buildResources(providerProjects) - logging.Logger.Debug().Msg("Syncing usage data from cloud") - defer func() { - if err != nil { - logging.Logger.Debug().Err(err).Msg("Error syncing usage data") - } else { - logging.Logger.Debug().Msg("Finished syncing usage data") - } - }() + spinnerOpts := ui.SpinnerOptions{ + EnableLogging: r.runCtx.Config.IsLogging(), + NoColor: r.runCtx.Config.NoColor, + Indent: " ", + } + + spinner := ui.NewSpinner("Syncing usage data from cloud", spinnerOpts) + defer spinner.Fail() syncResult, err := usage.SyncUsageData(ctx, usageFile, providerProjects) if err != nil { + spinner.Fail() return fmt.Errorf("Error synchronizing usage data %w", err) } ctx.SetFrom(syncResult) if err != nil { + spinner.Fail() return fmt.Errorf("Error summarizing usage %w", err) } err = usageFile.WriteToPath(ctx.ProjectConfig.UsageFile) if err != nil { + spinner.Fail() return fmt.Errorf("Error writing usage file %w", err) } - if syncResult != nil { + if syncResult == nil { + spinner.Fail() + } else { resources := syncResult.ResourceCount attempts := syncResult.EstimationCount errors := len(syncResult.EstimationErrors) @@ -717,7 +679,17 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) (err error) pluralized = "s" } - logging.Logger.Info().Msgf("Synced %d of %d resource%s", successes, resources, pluralized) + spinner.Success() + + if r.runCtx.Config.IsLogging() { + logging.Logger.Info().Msgf("synced %d of %d resource%s", successes, resources, pluralized) + } else { + r.cmd.PrintErrln(fmt.Sprintf(" %s Synced %d of %d resource%s", + ui.FaintString("└─"), + successes, + resources, + pluralized)) + } } return nil } @@ -825,16 +797,16 @@ func loadRunFlags(cfg *config.Config, cmd *cobra.Command) error { if cmd.Flags().Changed("fields") { fields, _ := cmd.Flags().GetStringSlice("fields") if len(fields) == 0 { - logging.Logger.Warn().Msgf("fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) + ui.PrintWarningf(cmd.ErrOrStderr(), "fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) } else if cfg.Fields != nil && !contains(validFieldsFormats, cfg.Format) { - logging.Logger.Warn().Msg("fields is only supported for table and html output formats") + ui.PrintWarning(cmd.ErrOrStderr(), "fields is only supported for table and html output formats") } else if len(fields) == 1 && fields[0] == includeAllFields { cfg.Fields = validFields } else { vf := []string{} for _, f := range fields { if !contains(validFields, f) { - logging.Logger.Warn().Msgf("Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) + ui.PrintWarningf(cmd.ErrOrStderr(), "Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) } else { vf = append(vf, f) } @@ -866,7 +838,7 @@ func tfVarsToMap(vars []string) map[string]string { func checkRunConfig(warningWriter io.Writer, cfg *config.Config) error { if cfg.Format == "json" && cfg.ShowSkipped { - logging.Logger.Warn().Msg("show-skipped is not needed with JSON output format as that always includes them.") + ui.PrintWarning(warningWriter, "show-skipped is not needed with JSON output format as that always includes them.\n") } if cfg.SyncUsageFile { @@ -877,29 +849,29 @@ func checkRunConfig(warningWriter io.Writer, cfg *config.Config) error { } } if len(missingUsageFile) == 1 { - logging.Logger.Warn().Msg("Ignoring sync-usage-file as no usage-file is specified.") + ui.PrintWarning(warningWriter, "Ignoring sync-usage-file as no usage-file is specified.\n") } else if len(missingUsageFile) == len(cfg.Projects) { - logging.Logger.Warn().Msg("Ignoring sync-usage-file since no projects have a usage-file specified.") + ui.PrintWarning(warningWriter, "Ignoring sync-usage-file since no projects have a usage-file specified.\n") } else if len(missingUsageFile) > 1 { - logging.Logger.Warn().Msgf("Ignoring sync-usage-file for following projects as no usage-file is specified for them: %s.", strings.Join(missingUsageFile, ", ")) + ui.PrintWarning(warningWriter, fmt.Sprintf("Ignoring sync-usage-file for following projects as no usage-file is specified for them: %s.\n", strings.Join(missingUsageFile, ", "))) } } if money.GetCurrency(cfg.Currency) == nil { - logging.Logger.Warn().Msgf("Ignoring unknown currency '%s', using USD.\n", cfg.Currency) + ui.PrintWarning(warningWriter, fmt.Sprintf("Ignoring unknown currency '%s', using USD.\n", cfg.Currency)) cfg.Currency = "USD" } return nil } -func (r *parallelRunner) buildRunEnv(projectContexts []*config.ProjectContext, or output.Root) map[string]interface{} { - env := r.runCtx.EventEnvWithProjectContexts(projectContexts) +func buildRunEnv(runCtx *config.RunContext, projectContexts []*config.ProjectContext, r output.Root) map[string]interface{} { + env := runCtx.EventEnvWithProjectContexts(projectContexts) - env["runId"] = or.RunID + env["runId"] = r.RunID env["projectCount"] = len(projectContexts) - env["runSeconds"] = time.Now().Unix() - r.runCtx.StartTime - env["currency"] = r.runCtx.Config.Currency + env["runSeconds"] = time.Now().Unix() - runCtx.StartTime + env["currency"] = runCtx.Config.Currency usingCache := make([]bool, 0, len(projectContexts)) cacheErrors := make([]string, 0, len(projectContexts)) @@ -910,7 +882,7 @@ func (r *parallelRunner) buildRunEnv(projectContexts []*config.ProjectContext, o env["usingCache"] = usingCache env["cacheErrors"] = cacheErrors - summary := or.FullSummary + summary := r.FullSummary env["supportedResourceCounts"] = summary.SupportedResourceCounts env["unsupportedResourceCounts"] = summary.UnsupportedResourceCounts env["noPriceResourceCounts"] = summary.NoPriceResourceCounts @@ -924,11 +896,11 @@ func (r *parallelRunner) buildRunEnv(projectContexts []*config.ProjectContext, o env["totalEstimatedUsages"] = summary.TotalEstimatedUsages env["totalUnestimatedUsages"] = summary.TotalUnestimatedUsages - if r.pricingFetcher.MissingPricesLen() > 0 { - env["pricesNotFoundList"] = r.pricingFetcher.MissingPricesComponents() + if warnings := runCtx.GetResourceWarnings(); warnings != nil { + env["resourceWarnings"] = warnings } - if n := or.ExampleProjectName(); n != "" { + if n := r.ExampleProjectName(); n != "" { env["exampleProjectName"] = n } diff --git a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden index 426b2e62ff9..56d6ab4d6ec 100644 --- a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden +++ b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden @@ -1,4 +1,4 @@ -Project: multi-dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/multi-dev Module path: multi Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: multi Project total $747.64 ────────────────────────────────── -Project: multi-prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/multi-prod Module path: multi Name Monthly Qty Unit Monthly Cost @@ -30,7 +30,7 @@ Module path: multi Project total $1,308.28 ────────────────────────────────── -Project: single +Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/single Module path: single Name Monthly Qty Unit Monthly Cost @@ -53,13 +53,13 @@ Module path: single 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ multi-dev ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ multi-prod ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ -┃ single ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...lti_varfile_projects/multi-dev ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...ti_varfile_projects/multi-prod ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ infracost/infracost/cmd/infraco..._multi_varfile_projects/single ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden b/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden index e610ff11f64..8be1f9778ad 100644 --- a/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden +++ b/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden @@ -15,7 +15,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_config_file/dev", - "displayName": "dev", "metadata": { "path": "./testdata/breakdown_config_file/dev", "type": "terraform_dir", diff --git a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden index 63b90be8ee8..d27b8611892 100644 --- a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden +++ b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden @@ -1,4 +1,4 @@ -Project: infra +Project: infracost/infracost/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/infra Module path: infra Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: infra Project total $1,303.28 ────────────────────────────────── -Project: infra-dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/infra/dev Module path: infra/dev Name Monthly Qty Unit Monthly Cost @@ -37,12 +37,12 @@ Module path: infra/dev 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infra ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┃ infra-dev ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...le_with_skip_auto_detect/infra ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┃ infracost/infracost/cmd/infraco...ith_skip_auto_detect/infra/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden b/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden index c5ee718bf15..fda6d0ee013 100644 --- a/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden +++ b/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden @@ -15,7 +15,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/example_plan.json", - "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "type": "terraform_plan_json", @@ -49,8 +48,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -67,8 +65,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -85,8 +82,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -95,8 +91,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -119,8 +114,7 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -129,8 +123,7 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration (first 6B)", @@ -140,8 +133,7 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Duration (over 15B)", @@ -151,8 +143,7 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -171,8 +162,7 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -189,8 +179,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -207,8 +196,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -217,8 +205,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -241,8 +228,7 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -251,8 +237,7 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration (first 6B)", @@ -262,8 +247,7 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Duration (over 15B)", @@ -273,8 +257,7 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -302,8 +285,7 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "PUT, COPY, POST, LIST requests", @@ -313,8 +295,7 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "GET, SELECT, and all other requests", @@ -324,8 +305,7 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Select data scanned", @@ -335,8 +315,7 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Select data returned", @@ -346,8 +325,7 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } @@ -376,8 +354,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -395,8 +372,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -414,8 +390,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -424,8 +399,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -448,8 +422,7 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -458,8 +431,7 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration (first 6B)", @@ -469,8 +441,7 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Duration (over 15B)", @@ -480,8 +451,7 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -501,8 +471,7 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -520,8 +489,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -539,8 +507,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -549,8 +516,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -573,8 +539,7 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -583,8 +548,7 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration (first 6B)", @@ -594,8 +558,7 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Duration (over 15B)", @@ -605,8 +568,7 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -634,8 +596,7 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "PUT, COPY, POST, LIST requests", @@ -645,8 +606,7 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "GET, SELECT, and all other requests", @@ -656,8 +616,7 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Select data scanned", @@ -667,8 +626,7 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Select data returned", @@ -678,8 +636,7 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden index a014b1adea3..85574adf9bd 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags", - "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags", "type": "terraform_dir", @@ -68,8 +67,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -86,8 +84,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -104,8 +101,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -114,8 +110,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -155,8 +150,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -173,8 +167,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -191,8 +184,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -201,8 +193,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -245,8 +236,7 @@ "monthlyQuantity": "2920", "price": "0.0441", "hourlyCost": "0.1764", - "monthlyCost": "128.772", - "priceNotFound": false + "monthlyCost": "128.772" }, { "name": "EC2 detailed monitoring", @@ -255,8 +245,7 @@ "monthlyQuantity": "28", "price": "0.3", "hourlyCost": "0.01150684931506848", - "monthlyCost": "8.4", - "priceNotFound": false + "monthlyCost": "8.4" }, { "name": "CPU credits", @@ -265,8 +254,7 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -283,8 +271,7 @@ "monthlyQuantity": "40", "price": "0.125", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" }, { "name": "Provisioned IOPS", @@ -293,8 +280,7 @@ "monthlyQuantity": "400", "price": "0.065", "hourlyCost": "0.0356164383561643865", - "monthlyCost": "26", - "priceNotFound": false + "monthlyCost": "26" } ] } @@ -337,8 +323,7 @@ "monthlyQuantity": "730", "price": "0.0441", "hourlyCost": "0.0441", - "monthlyCost": "32.193", - "priceNotFound": false + "monthlyCost": "32.193" }, { "name": "EC2 detailed monitoring", @@ -347,8 +332,7 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1", - "priceNotFound": false + "monthlyCost": "2.1" }, { "name": "CPU credits", @@ -357,8 +341,7 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -375,8 +358,7 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8", - "priceNotFound": false + "monthlyCost": "0.8" } ] }, @@ -393,8 +375,7 @@ "monthlyQuantity": "10", "price": "0.125", "hourlyCost": "0.0017123287671232875", - "monthlyCost": "1.25", - "priceNotFound": false + "monthlyCost": "1.25" }, { "name": "Provisioned IOPS", @@ -403,8 +384,7 @@ "monthlyQuantity": "100", "price": "0.065", "hourlyCost": "0.008904109589041095", - "monthlyCost": "6.5", - "priceNotFound": false + "monthlyCost": "6.5" } ] } @@ -457,8 +437,7 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -492,8 +471,7 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -528,8 +506,7 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -565,8 +542,7 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } @@ -639,8 +615,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -657,8 +632,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -675,8 +649,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -685,8 +658,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -726,8 +698,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -744,8 +715,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -762,8 +732,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -772,8 +741,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -816,8 +784,7 @@ "monthlyQuantity": "2920", "price": "0.0441", "hourlyCost": "0.1764", - "monthlyCost": "128.772", - "priceNotFound": false + "monthlyCost": "128.772" }, { "name": "EC2 detailed monitoring", @@ -826,8 +793,7 @@ "monthlyQuantity": "28", "price": "0.3", "hourlyCost": "0.01150684931506848", - "monthlyCost": "8.4", - "priceNotFound": false + "monthlyCost": "8.4" }, { "name": "CPU credits", @@ -836,8 +802,7 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -854,8 +819,7 @@ "monthlyQuantity": "40", "price": "0.125", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" }, { "name": "Provisioned IOPS", @@ -864,8 +828,7 @@ "monthlyQuantity": "400", "price": "0.065", "hourlyCost": "0.0356164383561643865", - "monthlyCost": "26", - "priceNotFound": false + "monthlyCost": "26" } ] } @@ -908,8 +871,7 @@ "monthlyQuantity": "730", "price": "0.0441", "hourlyCost": "0.0441", - "monthlyCost": "32.193", - "priceNotFound": false + "monthlyCost": "32.193" }, { "name": "EC2 detailed monitoring", @@ -918,8 +880,7 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1", - "priceNotFound": false + "monthlyCost": "2.1" }, { "name": "CPU credits", @@ -928,8 +889,7 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -946,8 +906,7 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8", - "priceNotFound": false + "monthlyCost": "0.8" } ] }, @@ -964,8 +923,7 @@ "monthlyQuantity": "10", "price": "0.125", "hourlyCost": "0.0017123287671232875", - "monthlyCost": "1.25", - "priceNotFound": false + "monthlyCost": "1.25" }, { "name": "Provisioned IOPS", @@ -974,8 +932,7 @@ "monthlyQuantity": "100", "price": "0.065", "hourlyCost": "0.008904109589041095", - "monthlyCost": "6.5", - "priceNotFound": false + "monthlyCost": "6.5" } ] } @@ -1028,8 +985,7 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -1063,8 +1019,7 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -1099,8 +1054,7 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -1136,8 +1090,7 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden index f5547d79263..58a94abd7da 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags_azure", - "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags_azure", "type": "terraform_dir", @@ -60,8 +59,7 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5", - "priceNotFound": false + "monthlyCost": "328.5" } ] }, @@ -93,8 +91,7 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5", - "priceNotFound": false + "monthlyCost": "328.5" } ] } @@ -135,8 +132,7 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5", - "priceNotFound": false + "monthlyCost": "328.5" } ] }, @@ -168,8 +164,7 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5", - "priceNotFound": false + "monthlyCost": "328.5" } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden index 71e110dba43..369f3d1751c 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags_google", - "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags_google", "type": "terraform_dir", @@ -60,8 +59,7 @@ "monthlyQuantity": "500", "price": "0.04", "hourlyCost": "0.027397260273972604", - "monthlyCost": "20", - "priceNotFound": false + "monthlyCost": "20" } ] }, @@ -93,8 +91,7 @@ "monthlyQuantity": "100", "price": "0.17", "hourlyCost": "0.02328767123287671", - "monthlyCost": "17", - "priceNotFound": false + "monthlyCost": "17" } ] }, @@ -128,8 +125,7 @@ "monthlyQuantity": "730", "price": "0.0105", "hourlyCost": "0.0105", - "monthlyCost": "7.665", - "priceNotFound": false + "monthlyCost": "7.665" }, { "name": "Storage (SSD, zonal)", @@ -138,8 +134,7 @@ "monthlyQuantity": "10", "price": "0.17", "hourlyCost": "0.002328767123287671", - "monthlyCost": "1.7", - "priceNotFound": false + "monthlyCost": "1.7" }, { "name": "Backups", @@ -149,8 +144,7 @@ "price": "0.08", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "IP address (if unused)", @@ -159,8 +153,7 @@ "monthlyQuantity": "730", "price": "0.01", "hourlyCost": "0.01", - "monthlyCost": "7.3", - "priceNotFound": false + "monthlyCost": "7.3" } ] } @@ -224,8 +217,7 @@ "monthlyQuantity": "500", "price": "0.04", "hourlyCost": "0.027397260273972604", - "monthlyCost": "20", - "priceNotFound": false + "monthlyCost": "20" } ] }, @@ -257,8 +249,7 @@ "monthlyQuantity": "100", "price": "0.17", "hourlyCost": "0.02328767123287671", - "monthlyCost": "17", - "priceNotFound": false + "monthlyCost": "17" } ] }, @@ -292,8 +283,7 @@ "monthlyQuantity": "730", "price": "0.0105", "hourlyCost": "0.0105", - "monthlyCost": "7.665", - "priceNotFound": false + "monthlyCost": "7.665" }, { "name": "Storage (SSD, zonal)", @@ -302,8 +292,7 @@ "monthlyQuantity": "10", "price": "0.17", "hourlyCost": "0.002328767123287671", - "monthlyCost": "1.7", - "priceNotFound": false + "monthlyCost": "1.7" }, { "name": "Backups", @@ -313,8 +302,7 @@ "price": "0.08", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "IP address (if unused)", @@ -323,8 +311,7 @@ "monthlyQuantity": "730", "price": "0.01", "hourlyCost": "0.01", - "monthlyCost": "7.3", - "priceNotFound": false + "monthlyCost": "7.3" } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden b/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden index 7e30292b202..a0c203d594c 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_warnings", - "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_warnings", "type": "terraform_dir", @@ -92,4 +91,4 @@ Err: Logs: -WARN Input values were not provided for following Terraform variables: "variable.not_provided". Use --terraform-var-file or --terraform-var to specify them. +WRN Input values were not provided for following Terraform variables: "variable.not_provided". Use --terraform-var-file or --terraform-var to specify them. diff --git a/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden b/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden index 2626834899d..b9165b414be 100644 --- a/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden +++ b/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden @@ -15,7 +15,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/example_plan.json", - "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "type": "terraform_plan_json", @@ -49,8 +48,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -67,8 +65,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -85,8 +82,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -95,8 +91,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -119,8 +114,7 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -129,8 +123,7 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration (first 6B)", @@ -140,8 +133,7 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Duration (over 15B)", @@ -151,8 +143,7 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -171,8 +162,7 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -189,8 +179,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -207,8 +196,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -217,8 +205,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -241,8 +228,7 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -251,8 +237,7 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration (first 6B)", @@ -262,8 +247,7 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Duration (over 15B)", @@ -273,8 +257,7 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -302,8 +285,7 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "PUT, COPY, POST, LIST requests", @@ -313,8 +295,7 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "GET, SELECT, and all other requests", @@ -324,8 +305,7 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Select data scanned", @@ -335,8 +315,7 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Select data returned", @@ -346,8 +325,7 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } @@ -376,8 +354,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -395,8 +372,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -414,8 +390,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -424,8 +399,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -448,8 +422,7 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -458,8 +431,7 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration (first 6B)", @@ -469,8 +441,7 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Duration (over 15B)", @@ -480,8 +451,7 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -501,8 +471,7 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -520,8 +489,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -539,8 +507,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -549,8 +516,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -573,8 +539,7 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -583,8 +548,7 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration (first 6B)", @@ -594,8 +558,7 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Duration (over 15B)", @@ -605,8 +568,7 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -634,8 +596,7 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "PUT, COPY, POST, LIST requests", @@ -645,8 +606,7 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "GET, SELECT, and all other requests", @@ -656,8 +616,7 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Select data scanned", @@ -667,8 +626,7 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Select data returned", @@ -678,8 +636,7 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } @@ -723,7 +680,6 @@ } Err: +Warning: show-skipped is not needed with JSON output format as that always includes them. -Logs: -WARN show-skipped is not needed with JSON output format as that always includes them. diff --git a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden index ec33ff13196..752e15ce86b 100644 --- a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden +++ b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden @@ -20,6 +20,3 @@ No cloud resources were detected Err: - -Logs: -ERROR Could not autodetect any projects from path invalid diff --git a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden index f1ab3c15618..0cfb7b45f40 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_autodetect/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: dev Project total $742.64 ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_autodetect/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -37,12 +37,12 @@ Module path: prod 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $743 ┃ $0.00 ┃ $743 ┃ -┃ prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_multi_project_autodetect/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ infracost/infracost/cmd/infraco..._multi_project_autodetect/prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden index 95214b621f3..96124683b04 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden @@ -1,4 +1,4 @@ -Project: shown +Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_skip_paths/shown Module path: shown Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: shown 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...multi_project_skip_paths/shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden index 95214b621f3..86760f1e61d 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden @@ -1,4 +1,4 @@ -Project: shown +Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/shown Module path: shown Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: shown 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ct_skip_paths_root_level/shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden index b8519d59dc9..d56f9177e2e 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/dev Module path: dev Errors: @@ -8,7 +8,7 @@ Errors: Invalid block definition; Either a quoted string block label or an opening brace ("{") is expected here., and 1 other diagnostic(s) ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/prod Module path: prod Errors: @@ -24,12 +24,12 @@ Errors: ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ prod ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ti_project_with_all_errors/dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ infracost/infracost/cmd/infraco...i_project_with_all_errors/prod ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden index 223d8164ba7..12d7d2d00b9 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/dev Module path: dev Errors: @@ -8,7 +8,7 @@ Errors: Invalid block definition; Either a quoted string block label or an opening brace ("{") is expected here., and 1 other diagnostic(s) ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -31,12 +31,12 @@ Module path: prod 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_multi_project_with_error/dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden b/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden index 880dee726c5..bdfbe62f4d2 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/dev", - "displayName": "dev", "metadata": { "path": "testdata/breakdown_multi_project_with_error_output_json/dev", "type": "terraform_dir", @@ -59,8 +58,7 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32", - "priceNotFound": false + "monthlyCost": "280.32" } ], "subresources": [ @@ -77,8 +75,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -95,8 +92,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -105,8 +101,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -147,8 +142,7 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32", - "priceNotFound": false + "monthlyCost": "280.32" } ], "subresources": [ @@ -165,8 +159,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -183,8 +176,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -193,8 +185,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -223,7 +214,6 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/prod", - "displayName": "prod", "metadata": { "path": "testdata/breakdown_multi_project_with_error_output_json/prod", "type": "terraform_dir", @@ -268,8 +258,7 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28", - "priceNotFound": false + "monthlyCost": "1121.28" } ], "subresources": [ @@ -286,8 +275,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -304,8 +292,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -314,8 +301,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -356,8 +342,7 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28", - "priceNotFound": false + "monthlyCost": "1121.28" } ], "subresources": [ @@ -374,8 +359,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -392,8 +376,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -402,8 +385,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } diff --git a/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden b/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden deleted file mode 100644 index ea36d749925..00000000000 --- a/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden +++ /dev/null @@ -1,56 +0,0 @@ -Project: main - - Name Monthly Qty Unit Monthly Cost - - aws_instance.valid - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_instance.ebs_invalid - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - └─ Storage (general purpose SSD, gp2) 1,000 GB not found - - aws_instance.instance_invalid - ├─ Instance usage (Linux/UNIX, on-demand, invalid_instance_type) 730 hours not found - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_db_instance.valid - ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - aws_db_instance.invalid - ├─ Database instance (on-demand, Single-AZ, invalid_instance_class) 730 hours not found - └─ Storage (general purpose SSD, gp2) 20 GB $2.30 - - OVERALL TOTAL $1,594.16 - -*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. - -────────────────────────────────── -5 cloud resources were detected: -∙ 5 were estimated - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,594 ┃ $0.00 ┃ $1,594 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ - -Err: - - -Logs: -WARN 2 aws_instance prices missing across 2 resources - 1 aws_db_instance price missing across 1 resource - diff --git a/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf b/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf deleted file mode 100644 index 668205b4292..00000000000 --- a/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf +++ /dev/null @@ -1,66 +0,0 @@ -provider "aws" { - region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs - skip_credentials_validation = true - skip_requesting_account_id = true - access_key = "mock_access_key" - secret_key = "mock_secret_key" -} - -resource "aws_instance" "valid" { - ami = "ami-674cbc1e" - instance_type = "m5.4xlarge" - - root_block_device { - volume_size = 50 - } - - ebs_block_device { - device_name = "my_data" - volume_type = "io1" - volume_size = 1000 - iops = 800 - } -} - -resource "aws_instance" "ebs_invalid" { - ami = "ami-674cbc1e" - instance_type = "m5.4xlarge" - - root_block_device { - volume_size = 50 - } - - ebs_block_device { - device_name = "my_data" - volume_type = "invalid" - volume_size = 1000 - iops = 800 - } -} - -resource "aws_instance" "instance_invalid" { - ami = "ami-674cbc1e" - instance_type = "invalid_instance_type" - - root_block_device { - volume_size = 50 - } - - ebs_block_device { - device_name = "my_data" - volume_type = "io1" - volume_size = 1000 - iops = 800 - } -} - -resource "aws_db_instance" "valid" { - engine = "mysql" - instance_class = "db.t3.large" -} - -resource "aws_db_instance" "invalid" { - engine = "mysql" - instance_class = "invalid_instance_class" -} - diff --git a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden index 218b9f571cc..7fbb5155778 100644 --- a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden +++ b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed Name Monthly Qty Unit Monthly Cost @@ -15,11 +15,11 @@ Project: main 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_if_terraform_var_file_passed ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden index ea9e1a5a854..89885f4ce6c 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/examples/terraform Name Monthly Qty Unit Monthly Cost @@ -26,7 +26,7 @@ Project: main ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden index 4f2e4f169da..c29e2acb904 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files Name Monthly Qty Unit Monthly Cost @@ -21,11 +21,11 @@ Project: main 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $758 ┃ $0.00 ┃ $758 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...rectory_with_default_var_files ┃ $758 ┃ $0.00 ┃ $758 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden index 3594f0df313..7c0c36164bb 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules Name Monthly Qty Unit Monthly Cost @@ -99,11 +99,11 @@ Project: main 12 cloud resources were detected: ∙ 12 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $10,384 ┃ $0.00 ┃ $10,384 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...rectory_with_recursive_modules ┃ $10,384 ┃ $0.00 ┃ $10,384 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden index e8b16a2650f..c5c7117456c 100644 --- a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden +++ b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden @@ -37,7 +37,5 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: +Warning: Invalid field 'invalid' specified, valid fields are: [price monthlyQuantity unit hourlyCost monthlyCost] or 'all' to include all fields - -Logs: -WARN Invalid field 'invalid' specified, valid fields are: [price monthlyQuantity unit hourlyCost monthlyCost] or 'all' to include all fields diff --git a/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden b/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden index b5ee5d3105a..3f5040c184a 100644 --- a/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden +++ b/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden @@ -29,7 +29,6 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", - "priceNotFound": false, "unit": "hours" } ], @@ -48,7 +47,6 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", - "priceNotFound": false, "unit": "GB" } ], @@ -66,7 +64,6 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", - "priceNotFound": false, "unit": "GB" }, { @@ -76,7 +73,6 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", - "priceNotFound": false, "unit": "IOPS" } ], @@ -97,7 +93,6 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", - "priceNotFound": false, "unit": "hours" } ], @@ -116,7 +111,6 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", - "priceNotFound": false, "unit": "GB" } ], @@ -134,7 +128,6 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", - "priceNotFound": false, "unit": "GB" }, { @@ -144,7 +137,6 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", - "priceNotFound": false, "unit": "IOPS" } ], @@ -165,7 +157,6 @@ "monthlyQuantity": null, "name": "Requests", "price": "0.2", - "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -176,7 +167,6 @@ "monthlyQuantity": null, "name": "Ephemeral storage", "price": "0.0000000309", - "priceNotFound": false, "unit": "GB-seconds" }, { @@ -186,7 +176,6 @@ "monthlyQuantity": null, "name": "Duration (first 6B)", "price": "0.0000166667", - "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -205,7 +194,6 @@ "monthlyQuantity": null, "name": "Requests", "price": "0.2", - "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -216,7 +204,6 @@ "monthlyQuantity": null, "name": "Ephemeral storage", "price": "0.0000000309", - "priceNotFound": false, "unit": "GB-seconds" }, { @@ -226,7 +213,6 @@ "monthlyQuantity": null, "name": "Duration (first 6B)", "price": "0.0000166667", - "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -250,7 +236,6 @@ "monthlyQuantity": null, "name": "Storage", "price": "0.023", - "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -261,7 +246,6 @@ "monthlyQuantity": null, "name": "PUT, COPY, POST, LIST requests", "price": "0.005", - "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -272,7 +256,6 @@ "monthlyQuantity": null, "name": "GET, SELECT, and all other requests", "price": "0.0004", - "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -283,7 +266,6 @@ "monthlyQuantity": null, "name": "Select data scanned", "price": "0.002", - "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -294,7 +276,6 @@ "monthlyQuantity": null, "name": "Select data returned", "price": "0.0007", - "priceNotFound": false, "unit": "GB", "usageBased": true } @@ -321,7 +302,6 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", - "priceNotFound": false, "unit": "hours" } ], @@ -341,7 +321,6 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", - "priceNotFound": false, "unit": "GB" } ], @@ -360,7 +339,6 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", - "priceNotFound": false, "unit": "GB" }, { @@ -370,7 +348,6 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", - "priceNotFound": false, "unit": "IOPS" } ], @@ -392,7 +369,6 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", - "priceNotFound": false, "unit": "hours" } ], @@ -412,7 +388,6 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", - "priceNotFound": false, "unit": "GB" } ], @@ -431,7 +406,6 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", - "priceNotFound": false, "unit": "GB" }, { @@ -441,7 +415,6 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", - "priceNotFound": false, "unit": "IOPS" } ], @@ -463,7 +436,6 @@ "monthlyQuantity": "0", "name": "Requests", "price": "0.2", - "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -474,7 +446,6 @@ "monthlyQuantity": "0", "name": "Ephemeral storage", "price": "0.0000000309", - "priceNotFound": false, "unit": "GB-seconds" }, { @@ -484,7 +455,6 @@ "monthlyQuantity": "0", "name": "Duration (first 6B)", "price": "0.0000166667", - "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -506,7 +476,6 @@ "monthlyQuantity": "0", "name": "Requests", "price": "0.2", - "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -517,7 +486,6 @@ "monthlyQuantity": "0", "name": "Ephemeral storage", "price": "0.0000000309", - "priceNotFound": false, "unit": "GB-seconds" }, { @@ -527,7 +495,6 @@ "monthlyQuantity": "0", "name": "Duration (first 6B)", "price": "0.0000166667", - "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -557,7 +524,6 @@ "monthlyQuantity": "0", "name": "Storage", "price": "0.023", - "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -568,7 +534,6 @@ "monthlyQuantity": "0", "name": "PUT, COPY, POST, LIST requests", "price": "0.005", - "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -579,7 +544,6 @@ "monthlyQuantity": "0", "name": "GET, SELECT, and all other requests", "price": "0.0004", - "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -590,7 +554,6 @@ "monthlyQuantity": "0", "name": "Select data scanned", "price": "0.002", - "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -601,7 +564,6 @@ "monthlyQuantity": "0", "name": "Select data returned", "price": "0.0007", - "priceNotFound": false, "unit": "GB", "usageBased": true } @@ -620,7 +582,6 @@ "totalMonthlyCost": "1485.28", "totalMonthlyUsageCost": "0" }, - "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "providers": [ diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden index 4bfdb6e8994..651261ad7d7 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden @@ -50,8 +50,6 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: +Warning: The following usage file parameters are invalid and will be ignored: dup_invalid_key, invalid_key_1, invalid_key_2, invalid_key_3 -Logs: -WARN The following usage file parameters are invalid and will be ignored: dup_invalid_key, invalid_key_1, invalid_key_2, invalid_key_3 - diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden index c56c6192d2d..6c0ba5fd64d 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module Name Monthly Qty Unit Monthly Cost @@ -92,11 +92,11 @@ Project: main 19 cloud resources were detected: ∙ 19 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $22,693 ┃ $22,693 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...orm_usage_file_wildcard_module ┃ $0.00 ┃ $22,693 ┃ $22,693 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden index cc48bc03ba5..feb186546d4 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/examples/terragrunt/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: prod +Project: infracost/infracost/examples/terragrunt/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -50,8 +50,8 @@ Module path: prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden b/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden index 6fd06cb1d34..6addcd629b4 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_extra_args/breakdown_terragrunt_extra_args.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_extra_args/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: dev 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...down_terragrunt_extra_args/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden index cc48bc03ba5..b112f2e6e9b 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env/breakdown_terragrunt_get_env.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -47,12 +47,12 @@ Module path: prod 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...eakdown_terragrunt_get_env/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/cmd/infraco...akdown_terragrunt_get_env/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden index 7a5689c8546..4b9e0b80b55 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden @@ -9,7 +9,7 @@ Errors: Required environment variable UNSAFE_VAR - not found. ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -41,7 +41,7 @@ Module path: prod ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ ┃ infracost/infracost/cmd/infraco...ragrunt_get_env_with_whitelist ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...nt_get_env_with_whitelist/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden index 91fee234d6b..7e32ec93e0e 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/breakdown_terragrunt_hcldeps_output.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $64.97 ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -40,7 +40,7 @@ Module path: prod Project total $747.64 ────────────────────────────────── -Project: prod2 +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/prod2 Module path: prod2 Name Monthly Qty Unit Monthly Cost @@ -61,7 +61,7 @@ Module path: prod2 Project total $747.64 ────────────────────────────────── -Project: stag +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output/stag Module path: stag Name Monthly Qty Unit Monthly Cost @@ -76,17 +76,17 @@ Module path: stag 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $65 ┃ $0.00 ┃ $65 ┃ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ stag ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco..._terragrunt_hcldeps_output/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ +┃ infracost/infracost/cmd/infraco...terragrunt_hcldeps_output/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...erragrunt_hcldeps_output/prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...terragrunt_hcldeps_output/stag ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: Logs: -WARN Input values were not provided for following Terraform variables: "variable.unspecified_variable". Use --terraform-var-file or --terraform-var to specify them. +WRN Input values were not provided for following Terraform variables: "variable.unspecified_variable". Use --terraform-var-file or --terraform-var to specify them. diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden index 160fb1a6ac2..556917a9854 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/breakdown_terragrunt_hcldeps_output_include.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_include/dev Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $91 ┃ $0.00 ┃ $91 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...unt_hcldeps_output_include/dev ┃ $91 ┃ $0.00 ┃ $91 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden index ae22212e9ef..b260c7b09e7 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/breakdown_terragrunt_hcldeps_output_mocked.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $64.97 ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -40,7 +40,7 @@ Module path: prod Project total $747.64 ────────────────────────────────── -Project: prod2 +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_mocked/prod2 Module path: prod2 Name Monthly Qty Unit Monthly Cost @@ -68,13 +68,13 @@ Module path: prod2 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $65 ┃ $0.00 ┃ $65 ┃ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...runt_hcldeps_output_mocked/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ +┃ infracost/infracost/cmd/infraco...unt_hcldeps_output_mocked/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...nt_hcldeps_output_mocked/prod2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden index 6517be5218c..a9e5114bd3e 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/breakdown_terragrunt_hcldeps_output_single_project.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hcldeps_output_single_project/dev Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $65 ┃ $0.00 ┃ $65 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...deps_output_single_project/dev ┃ $65 ┃ $0.00 ┃ $65 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden index 6bcfde524a8..3a4e6c7af96 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each/breakdown_terragrunt_hclmodule_output_for_each.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmodule_output_for_each Name Monthly Qty Unit Monthly Cost @@ -20,11 +20,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $24 ┃ $0.00 ┃ $24 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...runt_hclmodule_output_for_each ┃ $24 ┃ $0.00 ┃ $24 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden index cc48bc03ba5..feb186546d4 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti/breakdown_terragrunt_hclmulti.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/examples/terragrunt/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: prod +Project: infracost/infracost/examples/terragrunt/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -50,8 +50,8 @@ Module path: prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden index cc48bc03ba5..df59926fa81 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/breakdown_terragrunt_hclmulti_no_source.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/example/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_hclmulti_no_source/example/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -47,12 +47,12 @@ Module path: prod 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...hclmulti_no_source/example/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/cmd/infraco...clmulti_no_source/example/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden b/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden index f455aaac0c2..37650ed167e 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_hclsingle/breakdown_terragrunt_hclsingle.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/examples/terragrunt/prod Name Monthly Qty Unit Monthly Cost @@ -26,7 +26,7 @@ Project: main ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden b/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden index ea9e1a5a854..a29f01469ae 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_iamroles/breakdown_terragrunt_iamroles.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_iamroles Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco.../breakdown_terragrunt_iamroles ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden b/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden index 63e2d58472b..077f1e1d4b3 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_include_deps/breakdown_terragrunt_include_deps.golden @@ -1,4 +1,4 @@ -Project: eu-baz +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_include_deps/eu/baz Module path: eu/baz Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: eu/baz Project total $1,308.28 ────────────────────────────────── -Project: eu-foo +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_include_deps/eu/foo Module path: eu/foo Name Monthly Qty Unit Monthly Cost @@ -37,12 +37,12 @@ Module path: eu/foo 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ eu-baz ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ -┃ eu-foo ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...terragrunt_include_deps/eu/baz ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ infracost/infracost/cmd/infraco...terragrunt_include_deps/eu/foo ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden b/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden index 91b144c3527..9fa16689784 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_nested/breakdown_terragrunt_nested.golden @@ -1,4 +1,4 @@ -Project: terragrunt-dev +Project: infracost/infracost/examples/terragrunt/dev Module path: terragrunt/dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: terragrunt/dev Project total $51.97 ────────────────────────────────── -Project: terragrunt-prod +Project: infracost/infracost/examples/terragrunt/prod Module path: terragrunt/prod Name Monthly Qty Unit Monthly Cost @@ -50,8 +50,8 @@ Module path: terragrunt/prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ terragrunt-dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ terragrunt-prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden b/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden index 3d169b6416e..261b3d4823d 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/breakdown_terragrunt_skip_paths.golden @@ -1,4 +1,4 @@ -Project: glob-test-shown +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/glob/test/shown Module path: glob/test/shown Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: glob/test/shown Project total $51.97 ────────────────────────────────── -Project: glob-test2-shown +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/glob/test2/shown Module path: glob/test2/shown Name Monthly Qty Unit Monthly Cost @@ -40,7 +40,7 @@ Module path: glob/test2/shown Project total $51.97 ────────────────────────────────── -Project: shown +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_skip_paths/shown Module path: shown Name Monthly Qty Unit Monthly Cost @@ -68,13 +68,13 @@ Module path: shown 6 cloud resources were detected: ∙ 6 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ glob-test-shown ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ glob-test2-shown ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ shown ┃ $52 ┃ $0.00 ┃ $52 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...unt_skip_paths/glob/test/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/cmd/infraco...nt_skip_paths/glob/test2/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/cmd/infraco...wn_terragrunt_skip_paths/shown ┃ $52 ┃ $0.00 ┃ $52 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden b/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden index ea9e1a5a854..f49d24f8066 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_source_map/breakdown_terragrunt_source_map.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_source_map Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...reakdown_terragrunt_source_map ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden index ed6762af1c7..62a69b792c0 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_dashboard_enabled/breakdown_terragrunt_with_dashboard_enabled.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/examples/terragrunt/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: prod +Project: infracost/infracost/examples/terragrunt/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -52,8 +52,8 @@ Share this cost estimate: https://dashboard.infracost.io/share/REPLACED_SHARE_CO ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden index aa00c8402c0..952d3e56be7 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/breakdown_terragrunt_with_mocked_functions.golden @@ -1,4 +1,4 @@ -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_mocked_functions/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -24,11 +24,11 @@ Module path: prod 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...unt_with_mocked_functions/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden index 992f69e4159..4bb8af97f48 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/breakdown_terragrunt_with_parent_include.golden @@ -1,4 +1,4 @@ -Project: infra-us-east-1-dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_parent_include/infra/us-east-1/dev Module path: infra/us-east-1/dev Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: infra/us-east-1/dev 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infra-us-east-1-dev ┃ $630 ┃ $0.00 ┃ $630 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...nt_include/infra/us-east-1/dev ┃ $630 ┃ $0.00 ┃ $630 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden b/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden index 366aca29a5b..7d4f32cdcb5 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/breakdown_terragrunt_with_remote_source.golden @@ -1,4 +1,4 @@ -Project: submod-ref1 +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref1 Module path: submod-ref1 Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: submod-ref1 Project total $2,429.56 ────────────────────────────────── -Project: submod-ref1-2 +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref1-2 Module path: submod-ref1-2 Name Monthly Qty Unit Monthly Cost @@ -40,7 +40,7 @@ Module path: submod-ref1-2 Project total $747.64 ────────────────────────────────── -Project: submod-ref3 +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/submod-ref3 Module path: submod-ref3 Name Monthly Qty Unit Monthly Cost @@ -61,7 +61,7 @@ Module path: submod-ref3 Project total $1,308.28 ────────────────────────────────── -Project: ref1 +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref1 Module path: ref1 Name Monthly Qty Unit Monthly Cost @@ -102,7 +102,7 @@ Module path: ref1 Project total $386.17 ────────────────────────────────── -Project: ref1-submod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref1-submod Module path: ref1-submod Name Monthly Qty Unit Monthly Cost @@ -114,7 +114,7 @@ Module path: ref1-submod Project total $32.80 ────────────────────────────────── -Project: ref2 +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_with_remote_source/ref2 Module path: ref2 Name Monthly Qty Unit Monthly Cost @@ -164,16 +164,16 @@ Module path: ref2 ∙ 93 were free ∙ 1 is not supported yet, rerun with --show-skipped to see details -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ submod-ref1 ┃ $2,430 ┃ $0.00 ┃ $2,430 ┃ -┃ submod-ref1-2 ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ submod-ref3 ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ -┃ ref1 ┃ $386 ┃ $0.00 ┃ $386 ┃ -┃ ref1-submod ┃ $33 ┃ $0.00 ┃ $33 ┃ -┃ ref2 ┃ $386 ┃ $0.00 ┃ $386 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...with_remote_source/submod-ref1 ┃ $2,430 ┃ $0.00 ┃ $2,430 ┃ +┃ infracost/infracost/cmd/infraco...th_remote_source/submod-ref1-2 ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ infracost/infracost/cmd/infraco...with_remote_source/submod-ref3 ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ infracost/infracost/cmd/infraco...agrunt_with_remote_source/ref1 ┃ $386 ┃ $0.00 ┃ $386 ┃ +┃ infracost/infracost/cmd/infraco...with_remote_source/ref1-submod ┃ $33 ┃ $0.00 ┃ $33 ┃ +┃ infracost/infracost/cmd/infraco...agrunt_with_remote_source/ref2 ┃ $386 ┃ $0.00 ┃ $386 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden b/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden index 71513fee1db..1d9e7c360d6 100644 --- a/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden +++ b/cmd/infracost/testdata/breakdown_with_actual_costs/breakdown_with_actual_costs.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_actual_costs Name Monthly Qty Unit Monthly Cost @@ -24,11 +24,11 @@ Project: main 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $70,002 ┃ $70,002 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ta/breakdown_with_actual_costs ┃ $0.00 ┃ $70,002 ┃ $70,002 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden b/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden index 1d05cd6dff7..e61a7f6de23 100644 --- a/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden +++ b/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod/breakdown_with_data_blocks_in_submod.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_data_blocks_in_submod Name Monthly Qty Unit Monthly Cost @@ -37,11 +37,11 @@ Project: main 9 cloud resources were detected: ∙ 9 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $33 ┃ $0.00 ┃ $33 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...own_with_data_blocks_in_submod ┃ $33 ┃ $0.00 ┃ $33 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden b/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden index 3dea76a23c8..b515684357e 100644 --- a/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden +++ b/cmd/infracost/testdata/breakdown_with_deep_merge_module/breakdown_with_deep_merge_module.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_deep_merge_module Name Monthly Qty Unit Monthly Cost @@ -9,11 +9,11 @@ Project: main ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...eakdown_with_deep_merge_module ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_default_tags/breakdown_with_default_tags.golden b/cmd/infracost/testdata/breakdown_with_default_tags/breakdown_with_default_tags.golden index 3f1a25da8ac..17dd0805574 100644 --- a/cmd/infracost/testdata/breakdown_with_default_tags/breakdown_with_default_tags.golden +++ b/cmd/infracost/testdata/breakdown_with_default_tags/breakdown_with_default_tags.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_default_tags", - "displayName": "main", "metadata": { "path": "testdata/breakdown_with_default_tags", "type": "terraform_dir", @@ -79,8 +78,7 @@ "monthlyQuantity": "730", "price": "0.0416", "hourlyCost": "0.0416", - "monthlyCost": "30.368", - "priceNotFound": false + "monthlyCost": "30.368" }, { "name": "EC2 detailed monitoring", @@ -89,8 +87,7 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1", - "priceNotFound": false + "monthlyCost": "2.1" }, { "name": "CPU credits", @@ -99,8 +96,7 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -117,8 +113,7 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8", - "priceNotFound": false + "monthlyCost": "0.8" } ] } @@ -162,8 +157,7 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -172,8 +166,7 @@ "monthlyQuantity": null, "price": "0.0000000309", "hourlyCost": null, - "monthlyCost": null, - "priceNotFound": false + "monthlyCost": null }, { "name": "Duration (first 6B)", @@ -183,8 +176,7 @@ "price": "0.0000166667", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } @@ -236,8 +228,7 @@ "monthlyQuantity": "730", "price": "0.0416", "hourlyCost": "0.0416", - "monthlyCost": "30.368", - "priceNotFound": false + "monthlyCost": "30.368" }, { "name": "EC2 detailed monitoring", @@ -246,8 +237,7 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1", - "priceNotFound": false + "monthlyCost": "2.1" }, { "name": "CPU credits", @@ -256,8 +246,7 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -274,8 +263,7 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8", - "priceNotFound": false + "monthlyCost": "0.8" } ] } @@ -319,8 +307,7 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Ephemeral storage", @@ -329,8 +316,7 @@ "monthlyQuantity": null, "price": "0.0000000309", "hourlyCost": null, - "monthlyCost": null, - "priceNotFound": false + "monthlyCost": null }, { "name": "Duration (first 6B)", @@ -340,8 +326,7 @@ "price": "0.0000166667", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } diff --git a/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden b/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden index 243429b4bdb..c9b9441c26a 100644 --- a/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden +++ b/cmd/infracost/testdata/breakdown_with_depends_upon_module/breakdown_with_depends_upon_module.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_depends_upon_module Name Monthly Qty Unit Monthly Cost @@ -16,11 +16,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $7 ┃ $0.00 ┃ $7 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...kdown_with_depends_upon_module ┃ $7 ┃ $0.00 ┃ $7 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden b/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden index 4fe4062f0d3..08eeb05d1be 100644 --- a/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden +++ b/cmd/infracost/testdata/breakdown_with_dynamic_iterator/breakdown_with_dynamic_iterator.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_dynamic_iterator Name Monthly Qty Unit Monthly Cost @@ -32,11 +32,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,662 ┃ $0.00 ┃ $1,662 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...reakdown_with_dynamic_iterator ┃ $1,662 ┃ $0.00 ┃ $1,662 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_free_resources_checksum/breakdown_with_free_resources_checksum.golden b/cmd/infracost/testdata/breakdown_with_free_resources_checksum/breakdown_with_free_resources_checksum.golden index b3742154bc4..419fe964c58 100644 --- a/cmd/infracost/testdata/breakdown_with_free_resources_checksum/breakdown_with_free_resources_checksum.golden +++ b/cmd/infracost/testdata/breakdown_with_free_resources_checksum/breakdown_with_free_resources_checksum.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_free_resources_checksum", - "displayName": "main", "metadata": { "path": "testdata/breakdown_with_free_resources_checksum", "type": "terraform_dir", @@ -58,8 +57,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -76,8 +74,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -94,8 +91,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -104,8 +100,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -167,8 +162,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -185,8 +179,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -203,8 +196,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -213,8 +205,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } diff --git a/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden b/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden index 9bc3dc934ae..7ca2d282eea 100644 --- a/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden +++ b/cmd/infracost/testdata/breakdown_with_local_path_data_block/breakdown_with_local_path_data_block.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_local_path_data_block/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -24,11 +24,11 @@ Module path: dev 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $1,581 ┃ $0.00 ┃ $1,581 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...with_local_path_data_block/dev ┃ $1,581 ┃ $0.00 ┃ $1,581 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden b/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden index 2cdbc2c3614..aac681a9277 100644 --- a/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden +++ b/cmd/infracost/testdata/breakdown_with_mocked_merge/breakdown_with_mocked_merge.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_mocked_merge Name Monthly Qty Unit Monthly Cost @@ -20,11 +20,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,123 ┃ $0.00 ┃ $1,123 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ta/breakdown_with_mocked_merge ┃ $1,123 ┃ $0.00 ┃ $1,123 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden b/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden index 0637a4bd051..093fcb7572a 100644 --- a/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden +++ b/cmd/infracost/testdata/breakdown_with_multiple_providers/breakdown_with_multiple_providers.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_multiple_providers Name Monthly Qty Unit Monthly Cost @@ -34,11 +34,11 @@ Project: main 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,684 ┃ $0.00 ┃ $1,684 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...akdown_with_multiple_providers ┃ $1,684 ┃ $0.00 ┃ $1,684 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden b/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden index a06552c5954..77f64579add 100644 --- a/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden +++ b/cmd/infracost/testdata/breakdown_with_nested_foreach/breakdown_with_nested_foreach.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_foreach Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Project: main ∙ 2 were estimated ∙ 6 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $66 ┃ $0.00 ┃ $66 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco.../breakdown_with_nested_foreach ┃ $66 ┃ $0.00 ┃ $66 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden b/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden index 31891b29fe4..ed6cf382cf3 100644 --- a/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden +++ b/cmd/infracost/testdata/breakdown_with_nested_provider_aliases/breakdown_with_nested_provider_aliases.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_nested_provider_aliases Name Monthly Qty Unit Monthly Cost @@ -15,11 +15,11 @@ Project: main 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $11 ┃ $0.00 ┃ $11 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...n_with_nested_provider_aliases ┃ $11 ┃ $0.00 ┃ $11 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden b/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden index 0c46d50a5be..64ee3683fd0 100644 --- a/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden +++ b/cmd/infracost/testdata/breakdown_with_optional_variables/breakdown_with_optional_variables.golden @@ -1,4 +1,4 @@ -Project: main-dev +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_optional_variables-dev Name Monthly Qty Unit Monthly Cost @@ -34,11 +34,11 @@ Project: main-dev 8 cloud resources were detected: ∙ 8 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main-dev ┃ $29 ┃ $0.00 ┃ $29 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...wn_with_optional_variables-dev ┃ $29 ┃ $0.00 ┃ $29 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl/breakdown_with_policy_data_upload_hcl.golden b/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl/breakdown_with_policy_data_upload_hcl.golden index 2dcdee098aa..b7b40e49914 100644 --- a/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl/breakdown_with_policy_data_upload_hcl.golden +++ b/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl/breakdown_with_policy_data_upload_hcl.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_policy_data_upload_hcl", - "displayName": "main", "metadata": { "path": "testdata/breakdown_with_policy_data_upload_hcl", "type": "terraform_dir", @@ -70,8 +69,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -88,8 +86,7 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1", - "priceNotFound": false + "monthlyCost": "5.1" } ] }, @@ -106,8 +103,7 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100", - "priceNotFound": false + "monthlyCost": "100" } ] } @@ -147,8 +143,7 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Read capacity unit (RCU)", @@ -157,8 +152,7 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847", - "priceNotFound": false + "monthlyCost": "2.847" }, { "name": "Data storage", @@ -168,8 +162,7 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -179,8 +172,7 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "On-demand backup storage", @@ -190,8 +182,7 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Table data restored", @@ -201,8 +192,7 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Streams read request unit (sRRU)", @@ -212,8 +202,7 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -304,8 +293,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -322,8 +310,7 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1", - "priceNotFound": false + "monthlyCost": "5.1" } ] }, @@ -340,8 +327,7 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100", - "priceNotFound": false + "monthlyCost": "100" } ] } @@ -381,8 +367,7 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Read capacity unit (RCU)", @@ -391,8 +376,7 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847", - "priceNotFound": false + "monthlyCost": "2.847" }, { "name": "Data storage", @@ -402,8 +386,7 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -413,8 +396,7 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "On-demand backup storage", @@ -424,8 +406,7 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Table data restored", @@ -435,8 +416,7 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Streams read request unit (sRRU)", @@ -446,8 +426,7 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, diff --git a/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/breakdown_with_policy_data_upload_plan_json.golden b/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/breakdown_with_policy_data_upload_plan_json.golden index 17469a49d74..9c97ab0769a 100644 --- a/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/breakdown_with_policy_data_upload_plan_json.golden +++ b/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/breakdown_with_policy_data_upload_plan_json.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_policy_data_upload_plan_json/plan.json", - "displayName": "", "metadata": { "path": "testdata/breakdown_with_policy_data_upload_plan_json/plan.json", "type": "terraform_plan_json", @@ -61,8 +60,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -79,8 +77,7 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1", - "priceNotFound": false + "monthlyCost": "5.1" } ] }, @@ -97,8 +94,7 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100", - "priceNotFound": false + "monthlyCost": "100" } ] } @@ -126,8 +122,7 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Read capacity unit (RCU)", @@ -136,8 +131,7 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847", - "priceNotFound": false + "monthlyCost": "2.847" }, { "name": "Data storage", @@ -147,8 +141,7 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -158,8 +151,7 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "On-demand backup storage", @@ -169,8 +161,7 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Table data restored", @@ -180,8 +171,7 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Streams read request unit (sRRU)", @@ -191,8 +181,7 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -246,8 +235,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -265,8 +253,7 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1", - "priceNotFound": false + "monthlyCost": "5.1" } ] }, @@ -284,8 +271,7 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100", - "priceNotFound": false + "monthlyCost": "100" } ] } @@ -311,8 +297,7 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Read capacity unit (RCU)", @@ -321,8 +306,7 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847", - "priceNotFound": false + "monthlyCost": "2.847" }, { "name": "Data storage", @@ -332,8 +316,7 @@ "price": "0.25", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -343,8 +326,7 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "On-demand backup storage", @@ -354,8 +336,7 @@ "price": "0.1", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Table data restored", @@ -365,8 +346,7 @@ "price": "0.15", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Streams read request unit (sRRU)", @@ -376,8 +356,7 @@ "price": "0.0000002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] } diff --git a/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt/breakdown_with_policy_data_upload_terragrunt.golden b/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt/breakdown_with_policy_data_upload_terragrunt.golden index 47fa28b10bf..fa982ea3d54 100644 --- a/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt/breakdown_with_policy_data_upload_terragrunt.golden +++ b/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt/breakdown_with_policy_data_upload_terragrunt.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_with_policy_data_upload_terragrunt", - "displayName": "main", "metadata": { "path": "testdata/breakdown_with_policy_data_upload_terragrunt", "type": "terragrunt_dir", @@ -58,8 +57,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -76,8 +74,7 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1", - "priceNotFound": false + "monthlyCost": "5.1" } ] }, @@ -94,8 +91,7 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100", - "priceNotFound": false + "monthlyCost": "100" } ] } @@ -135,8 +131,7 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Read capacity unit (RCU)", @@ -145,8 +140,7 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847", - "priceNotFound": false + "monthlyCost": "2.847" }, { "name": "Data storage", @@ -156,8 +150,7 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -167,8 +160,7 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "On-demand backup storage", @@ -178,8 +170,7 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Table data restored", @@ -189,8 +180,7 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Streams read request unit (sRRU)", @@ -200,8 +190,7 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, @@ -292,8 +281,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -310,8 +298,7 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1", - "priceNotFound": false + "monthlyCost": "5.1" } ] }, @@ -328,8 +315,7 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100", - "priceNotFound": false + "monthlyCost": "100" } ] } @@ -369,8 +355,7 @@ "price": "0.4745", "hourlyCost": "0.0039", "monthlyCost": "2.847", - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Read capacity unit (RCU)", @@ -379,8 +364,7 @@ "monthlyQuantity": "30", "price": "0.0949", "hourlyCost": "0.0039", - "monthlyCost": "2.847", - "priceNotFound": false + "monthlyCost": "2.847" }, { "name": "Data storage", @@ -390,8 +374,7 @@ "price": "0.25", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Point-In-Time Recovery (PITR) backup storage", @@ -401,8 +384,7 @@ "price": "0.2", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "On-demand backup storage", @@ -412,8 +394,7 @@ "price": "0.1", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Table data restored", @@ -423,8 +404,7 @@ "price": "0.15", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true }, { "name": "Streams read request unit (sRRU)", @@ -434,8 +414,7 @@ "price": "0.0000002", "hourlyCost": null, "monthlyCost": null, - "usageBased": true, - "priceNotFound": false + "usageBased": true } ] }, diff --git a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden index e88193b7385..8db00b4c594 100644 --- a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden +++ b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module/breakdown_with_private_terraform_registry_module.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module Name Monthly Qty Unit Monthly Cost @@ -40,11 +40,11 @@ Project: main 5 cloud resources were detected: ∙ 5 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $57 ┃ $0.00 ┃ $57 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...vate_terraform_registry_module ┃ $57 ┃ $0.00 ┃ $57 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors/breakdown_with_private_terraform_registry_module_populates_errors.golden b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors/breakdown_with_private_terraform_registry_module_populates_errors.golden index fc1d050480a..170c4f2eab0 100644 --- a/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors/breakdown_with_private_terraform_registry_module_populates_errors.golden +++ b/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors/breakdown_with_private_terraform_registry_module_populates_errors.golden @@ -1,4 +1,4 @@ -{"version":"0.2","metadata":{"infracostCommand":"breakdown","vcsBranch":"stub-branch","vcsCommitSha":"stub-sha","vcsCommitAuthorName":"stub-author","vcsCommitAuthorEmail":"stub@stub.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"stub-message","vcsRepositoryUrl":"https://github.com/infracost/infracost"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors","displayName":"main","metadata":{"path":"testdata/breakdown_with_private_terraform_registry_module_populates_errors","type":"terraform_dir","vcsSubPath":"cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors","errors":[{"code":301,"message":"Failed to lookup module \"app.terraform.io/infracost-test/ec2-instance/aws\" - Module versions endpoint returned status code 401","data":{"moduleLocation":null,"moduleSource":"app.terraform.io/infracost-test/ec2-instance/aws"},"isError":true}]},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"breakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"diff":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"summary":{"totalDetectedResources":0,"totalSupportedResources":0,"totalUnsupportedResources":0,"totalUsageBasedResources":0,"totalNoPriceResources":0,"unsupportedResourceCounts":{},"noPriceResourceCounts":{}}}],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0","pastTotalHourlyCost":"0","pastTotalMonthlyCost":"0","pastTotalMonthlyUsageCost":"0","diffTotalHourlyCost":"0","diffTotalMonthlyCost":"0","diffTotalMonthlyUsageCost":"0","timeGenerated":"REPLACED_TIME","summary":{"totalDetectedResources":0,"totalSupportedResources":0,"totalUnsupportedResources":0,"totalUsageBasedResources":0,"totalNoPriceResources":0,"unsupportedResourceCounts":{},"noPriceResourceCounts":{}}} +{"version":"0.2","metadata":{"infracostCommand":"breakdown","vcsBranch":"stub-branch","vcsCommitSha":"stub-sha","vcsCommitAuthorName":"stub-author","vcsCommitAuthorEmail":"stub@stub.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"stub-message","vcsRepositoryUrl":"https://github.com/infracost/infracost"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors","metadata":{"path":"testdata/breakdown_with_private_terraform_registry_module_populates_errors","type":"terraform_dir","vcsSubPath":"cmd/infracost/testdata/breakdown_with_private_terraform_registry_module_populates_errors","errors":[{"code":301,"message":"Failed to lookup module \"app.terraform.io/infracost-test/ec2-instance/aws\" - Module versions endpoint returned status code 401","data":{"moduleLocation":null,"moduleSource":"app.terraform.io/infracost-test/ec2-instance/aws"},"isError":true}]},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"breakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"diff":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0"},"summary":{"totalDetectedResources":0,"totalSupportedResources":0,"totalUnsupportedResources":0,"totalUsageBasedResources":0,"totalNoPriceResources":0,"unsupportedResourceCounts":{},"noPriceResourceCounts":{}}}],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":"0","pastTotalHourlyCost":"0","pastTotalMonthlyCost":"0","pastTotalMonthlyUsageCost":"0","diffTotalHourlyCost":"0","diffTotalMonthlyCost":"0","diffTotalMonthlyUsageCost":"0","timeGenerated":"REPLACED_TIME","summary":{"totalDetectedResources":0,"totalSupportedResources":0,"totalUnsupportedResources":0,"totalUsageBasedResources":0,"totalNoPriceResources":0,"unsupportedResourceCounts":{},"noPriceResourceCounts":{}}} Err: diff --git a/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden b/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden index 36fb203fe83..39397f8bef2 100644 --- a/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden +++ b/cmd/infracost/testdata/breakdown_with_providers_depending_on_data/breakdown_with_providers_depending_on_data.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_providers_depending_on_data Name Monthly Qty Unit Monthly Cost @@ -20,11 +20,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $19 ┃ $0.00 ┃ $19 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...th_providers_depending_on_data ┃ $19 ┃ $0.00 ┃ $19 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden b/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden index 27c42cfce79..524ea47e898 100644 --- a/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden +++ b/cmd/infracost/testdata/breakdown_with_workspace/breakdown_with_workspace.golden @@ -1,4 +1,4 @@ -Project: main-prod +Project: infracost/infracost/cmd/infracost/testdata/breakdown_with_workspace Workspace: prod Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Workspace: prod 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main-prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...tdata/breakdown_with_workspace ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/catches_runtime_error/catches_runtime_error.golden b/cmd/infracost/testdata/catches_runtime_error/catches_runtime_error.golden index 052dca8a0a6..25eaf5d11b8 100644 --- a/cmd/infracost/testdata/catches_runtime_error/catches_runtime_error.golden +++ b/cmd/infracost/testdata/catches_runtime_error/catches_runtime_error.golden @@ -1,10 +1,10 @@ -Logs: -ERROR An unexpected error occurred +Err: + +Error: An unexpected error occurred runtime error: REPLACED ERROR Environment: Infracost vREPLACED_VERSION An unexpected error occurred. We've been notified of it and will investigate it soon. If you would like to follow-up, please copy the above output and create an issue at: https://github.com/infracost/infracost/issues/new - diff --git a/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment.golden index 1d71960a55d..abb2c81f002 100644 --- a/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_with_initial_comment.golden @@ -1,10 +1,10 @@ Comment posted to GitHub Logs: -INFO Finding matching comments for tag infracost-comment -INFO Found 1 matching comment -INFO Deleting 1 comment -INFO Deleting comment -WARN SkipNoDiff option is not supported for new comments -INFO Creating new comment -INFO Created new comment: +INF Finding matching comments for tag infracost-comment +INF Found 1 matching comment +INF Deleting 1 comment +INF Deleting comment +WRN SkipNoDiff option is not supported for new comments +INF Creating new comment +INF Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment.golden index 73ced48e3d9..3f4caed8804 100644 --- a/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment/comment_git_hub_delete_and_new_skip_no_diff_without_initial_comment.golden @@ -1,6 +1,6 @@ Comment not posted to GitHub: Not creating initial comment since there is no resource or cost difference Logs: -INFO Finding matching comments for tag infracost-comment -INFO Found 0 matching comments -INFO Not creating initial comment since there is no resource or cost difference +INF Finding matching comments for tag infracost-comment +INF Found 0 matching comments +INF Not creating initial comment since there is no resource or cost difference diff --git a/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_block/comment_git_hub_guardrail_failure_with_block.golden b/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_block/comment_git_hub_guardrail_failure_with_block.golden index da8148e4ddd..c00e7b9a336 100644 --- a/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_block/comment_git_hub_guardrail_failure_with_block.golden +++ b/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_block/comment_git_hub_guardrail_failure_with_block.golden @@ -8,9 +8,9 @@ Error: Governance check failed: Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 1 guardrail checked -INFO guardrail check unblocked: Unblocked ge -INFO guardrail check failed: Stand by your estimate -INFO Creating new comment -INFO Created new comment: +INF Estimate uploaded to Infracost Cloud +INF 1 guardrail checked +INF guardrail check unblocked: Unblocked ge +INF guardrail check failed: Stand by your estimate +INF Creating new comment +INF Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_comment/comment_git_hub_guardrail_failure_with_comment.golden b/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_comment/comment_git_hub_guardrail_failure_with_comment.golden index 87a2ca8ef98..4793ec9256b 100644 --- a/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_comment/comment_git_hub_guardrail_failure_with_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_guardrail_failure_with_comment/comment_git_hub_guardrail_failure_with_comment.golden @@ -1,9 +1,9 @@ Comment posted to GitHub Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 1 guardrail checked -INFO guardrail check failed: Stand by your estimate -INFO Creating new comment -WARN >\n⚠️ Guardrails triggered\n\n> - Warning: Stand by your estimate\n\n⚠️ Guardrails triggered\n\n> - Warning: Stand by your estimate\n\n❌ Guardrails triggered (needs action)\nThis change is blocked, either reduce the costs or wait for an admin to review and unblock it.\n\n> - Blocked: Stand by your estimate\n\n❌ Guardrails triggered (needs action)\nThis change is blocked, either reduce the costs or wait for an admin to review and unblock it.\n\n> - Blocked: Stand by your estimate\n\n

✅ Guardrails passed

\n"} +INF Estimate uploaded to Infracost Cloud +INF 1 guardrail checked +INF Creating new comment +WRN >\n

✅ Guardrails passed

\n"} -INFO Created new comment: +INF Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden b/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden index 4edad5b088f..28dcdf40a98 100644 --- a/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden @@ -1,7 +1,7 @@ Comment posted to GitHub Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 1 guardrail checked -INFO Creating new comment -INFO Created new comment: +INF Estimate uploaded to Infracost Cloud +INF 1 guardrail checked +INF Creating new comment +INF Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden index d7bd3d41aa0..ff1a9e6742b 100644 --- a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden @@ -1,10 +1,10 @@ Comment posted to GitHub Logs: -INFO Finding matching comments for tag infracost-comment -INFO Found 1 matching comment -INFO Hiding 1 comment -INFO Hiding comment -WARN SkipNoDiff option is not supported for new comments -INFO Creating new comment -INFO Created new comment: +INF Finding matching comments for tag infracost-comment +INF Found 1 matching comment +INF Hiding 1 comment +INF Hiding comment +WRN SkipNoDiff option is not supported for new comments +INF Creating new comment +INF Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden index 73ced48e3d9..3f4caed8804 100644 --- a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden @@ -1,6 +1,6 @@ Comment not posted to GitHub: Not creating initial comment since there is no resource or cost difference Logs: -INFO Finding matching comments for tag infracost-comment -INFO Found 0 matching comments -INFO Not creating initial comment since there is no resource or cost difference +INF Finding matching comments for tag infracost-comment +INF Found 0 matching comments +INF Not creating initial comment since there is no resource or cost difference diff --git a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden index 21321bf572c..ef3309f6f66 100644 --- a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden @@ -1,6 +1,6 @@ Comment posted to GitHub Logs: -INFO Finding matching comments for tag infracost-comment -INFO Found 1 matching comment -INFO Updating comment +INF Finding matching comments for tag infracost-comment +INF Found 1 matching comment +INF Updating comment diff --git a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden index 73ced48e3d9..3f4caed8804 100644 --- a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden @@ -1,6 +1,6 @@ Comment not posted to GitHub: Not creating initial comment since there is no resource or cost difference Logs: -INFO Finding matching comments for tag infracost-comment -INFO Found 0 matching comments -INFO Not creating initial comment since there is no resource or cost difference +INF Finding matching comments for tag infracost-comment +INF Found 0 matching comments +INF Not creating initial comment since there is no resource or cost difference diff --git a/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden b/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden index 0ebe6105063..75d0105961e 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden @@ -1,6 +1,6 @@ Comment posted to GitHub Logs: -INFO Estimate uploaded to Infracost Cloud -INFO Creating new comment -INFO Created new comment: +INF Estimate uploaded to Infracost Cloud +INF Creating new comment +INF Created new comment: diff --git a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden index 5ca2fe01aac..95a7ea072b4 100644 --- a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden +++ b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden @@ -6,6 +6,3 @@ Err: - -Logs: -ERROR All provided config file paths are invalid or do not contain any supported projects diff --git a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden index 90afbb30319..7ced48c2851 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: main +Project: infracost/infracost/cmd/infracost/testdata/diff_prior_empty_project + aws_instance.web_app +$743 diff --git a/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden b/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden index 701d9255676..c3d1a3d7a60 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_prior_empty_project_json", - "displayName": "main", "metadata": { "path": "testdata/diff_prior_empty_project_json", "type": "terraform_dir", @@ -64,8 +63,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -82,8 +80,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -100,8 +97,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -110,8 +106,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -152,8 +147,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -170,8 +164,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -188,8 +181,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -198,8 +190,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } diff --git a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden index 2a2812c7d16..0bd6f359d4a 100644 --- a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden +++ b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: main +Project: infracost/infracost/examples/terraform + aws_instance.web_app +$743 diff --git a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden index 422ceb02ed9..ebfd902c22d 100644 --- a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: main +Project: infracost/infracost/cmd/infracost/testdata/diff_with_compare_to ~ aws_instance.web_app +$561 ($743 → $1,303) diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden index f11acaf8930..2081fa0d7d9 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_format_json", - "displayName": "main", "metadata": { "path": "testdata/diff_with_compare_to_format_json", "type": "terraform_cli", @@ -41,8 +40,7 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28", - "priceNotFound": false + "monthlyCost": "1121.28" } ], "subresources": [ @@ -59,8 +57,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -77,8 +74,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -87,8 +83,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -107,8 +102,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -125,8 +119,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -143,8 +136,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -153,8 +145,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -182,8 +173,7 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28", - "priceNotFound": false + "monthlyCost": "1121.28" } ], "subresources": [ @@ -200,8 +190,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -218,8 +207,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -228,8 +216,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -258,8 +245,7 @@ "monthlyQuantity": "0", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ] }, @@ -277,8 +263,7 @@ "monthlyQuantity": "-730", "price": "-1.536", "hourlyCost": "-1.536", - "monthlyCost": "-1121.28", - "priceNotFound": false + "monthlyCost": "-1121.28" } ], "subresources": [ @@ -296,8 +281,7 @@ "monthlyQuantity": "-50", "price": "-0.1", "hourlyCost": "-0.00684931506849315", - "monthlyCost": "-5", - "priceNotFound": false + "monthlyCost": "-5" } ] }, @@ -315,8 +299,7 @@ "monthlyQuantity": "-1000", "price": "-0.125", "hourlyCost": "-0.1712328767123287625", - "monthlyCost": "-125", - "priceNotFound": false + "monthlyCost": "-125" }, { "name": "Provisioned IOPS", @@ -325,8 +308,7 @@ "monthlyQuantity": "-800", "price": "-0.065", "hourlyCost": "-0.0712328767123287665", - "monthlyCost": "-52", - "priceNotFound": false + "monthlyCost": "-52" } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden index d7c2236fd70..7e2ee9a4c56 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_format_json", - "displayName": "main", "metadata": { "path": "testdata/diff_with_compare_to_format_json", "type": "terraform_dir", @@ -43,8 +42,7 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28", - "priceNotFound": false + "monthlyCost": "1121.28" } ], "subresources": [ @@ -61,8 +59,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -79,8 +76,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -89,8 +85,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -109,8 +104,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -127,8 +121,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -145,8 +138,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -155,8 +147,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -197,8 +188,7 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28", - "priceNotFound": false + "monthlyCost": "1121.28" } ], "subresources": [ @@ -215,8 +205,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -233,8 +222,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -243,8 +231,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -273,8 +260,7 @@ "monthlyQuantity": "0", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ] }, @@ -292,8 +278,7 @@ "monthlyQuantity": "-730", "price": "-1.536", "hourlyCost": "-1.536", - "monthlyCost": "-1121.28", - "priceNotFound": false + "monthlyCost": "-1121.28" } ], "subresources": [ @@ -311,8 +296,7 @@ "monthlyQuantity": "-50", "price": "-0.1", "hourlyCost": "-0.00684931506849315", - "monthlyCost": "-5", - "priceNotFound": false + "monthlyCost": "-5" } ] }, @@ -330,8 +314,7 @@ "monthlyQuantity": "-1000", "price": "-0.125", "hourlyCost": "-0.1712328767123287625", - "monthlyCost": "-125", - "priceNotFound": false + "monthlyCost": "-125" }, { "name": "Provisioned IOPS", @@ -340,8 +323,7 @@ "monthlyQuantity": "-800", "price": "-0.065", "hourlyCost": "-0.0712328767123287665", - "monthlyCost": "-52", - "priceNotFound": false + "monthlyCost": "-52" } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden index cca84d14dfe..c874ed57e8e 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/dev", - "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_current_and_past_project_error/dev", "type": "terraform_dir", @@ -65,7 +64,6 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/prod", - "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_current_and_past_project_error/prod", "type": "terraform_dir", @@ -104,8 +102,7 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32", - "priceNotFound": false + "monthlyCost": "280.32" } ], "subresources": [ @@ -122,8 +119,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -140,8 +136,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -150,8 +145,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -192,8 +186,7 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32", - "priceNotFound": false + "monthlyCost": "280.32" } ], "subresources": [ @@ -210,8 +203,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -228,8 +220,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -238,8 +229,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden index 484e5d31c84..ebe3c631322 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/dev", - "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_current_project_error/dev", "type": "terraform_dir", @@ -59,7 +58,6 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/prod", - "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_current_project_error/prod", "type": "terraform_dir", @@ -98,8 +96,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -116,8 +113,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -134,8 +130,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -144,8 +139,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -186,8 +180,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -204,8 +197,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -222,8 +214,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -232,8 +223,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden index afbbe5a03e5..4924779ddc2 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/dev", - "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_past_project_error/dev", "type": "terraform_dir", @@ -57,7 +56,6 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/prod", - "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_past_project_error/prod", "type": "terraform_dir", @@ -96,8 +94,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -114,8 +111,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -132,8 +128,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -142,8 +137,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -184,8 +178,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -202,8 +195,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -220,8 +212,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -230,8 +221,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden index 98642e5c6fc..b685256e698 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/dev Module path: dev ~ aws_instance.web_app @@ -15,7 +15,7 @@ Amount: -$210 ($462 → $252) Percent: -45% ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/prod Module path: prod ~ aws_instance.web_app diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden index aee3876a16b..b28c34dac86 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden @@ -27,7 +27,7 @@ Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_con Amount: -$462 ($462 → $0.00) ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prod Module path: prod ~ aws_instance.web_app diff --git a/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden b/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden index 4e7305b7a09..dc738266a97 100644 --- a/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden +++ b/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_free_resources_checksum", - "displayName": "main", "metadata": { "path": "testdata/diff_with_free_resources_checksum", "type": "terraform_dir", @@ -56,8 +55,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -74,8 +72,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -92,8 +89,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -102,8 +98,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -163,8 +158,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -181,8 +175,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -199,8 +192,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -209,8 +201,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } diff --git a/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden b/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden index 0d5639fb704..d9218689a70 100644 --- a/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden +++ b/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_policy_data_upload", - "displayName": "main", "metadata": { "path": "testdata/diff_with_policy_data_upload", "type": "terraform_dir", @@ -69,8 +68,7 @@ "monthlyQuantity": "730", "price": "0.192", "hourlyCost": "0.192", - "monthlyCost": "140.16", - "priceNotFound": false + "monthlyCost": "140.16" } ], "subresources": [ @@ -87,8 +85,7 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1", - "priceNotFound": false + "monthlyCost": "5.1" } ] }, @@ -105,8 +102,7 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100", - "priceNotFound": false + "monthlyCost": "100" } ] } @@ -153,8 +149,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -171,8 +166,7 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1", - "priceNotFound": false + "monthlyCost": "5.1" } ] }, @@ -189,8 +183,7 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100", - "priceNotFound": false + "monthlyCost": "100" } ] } @@ -224,8 +217,7 @@ "monthlyQuantity": "0", "price": "0.576", "hourlyCost": "0.576", - "monthlyCost": "420.48", - "priceNotFound": false + "monthlyCost": "420.48" } ] } diff --git a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden index 6303c777b2d..1662ccf56ee 100644 --- a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden +++ b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden @@ -1,4 +1,4 @@ -Project: ..-..-..-examples-terraform-dev +Project: infracost/infracost/examples/terraform Module path: ../../../examples/terraform Workspace: dev @@ -28,7 +28,7 @@ Workspace: dev ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ ..-..-..-examples-terraform-dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden index 65c51745cdd..ceda1a63654 100644 --- a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden +++ b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden @@ -1,4 +1,4 @@ -Project: main-prod +Project: infracost/infracost/examples/terraform Workspace: prod Name Monthly Qty Unit Monthly Cost @@ -27,7 +27,7 @@ Workspace: prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main-prod ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/generate/force_project_type/expected.golden b/cmd/infracost/testdata/generate/force_project_type/expected.golden index b8ed185d599..05074bde438 100644 --- a/cmd/infracost/testdata/generate/force_project_type/expected.golden +++ b/cmd/infracost/testdata/generate/force_project_type/expected.golden @@ -12,5 +12,4 @@ projects: - prod.tfvars skip_autodetect: true - path: nondup - name: nondup diff --git a/cmd/infracost/testdata/generate/terragrunt/expected.golden b/cmd/infracost/testdata/generate/terragrunt/expected.golden index 16efd191a97..15b2e33e6a2 100644 --- a/cmd/infracost/testdata/generate/terragrunt/expected.golden +++ b/cmd/infracost/testdata/generate/terragrunt/expected.golden @@ -2,9 +2,6 @@ version: 0.1 projects: - path: apps/bar - name: apps-bar - path: apps/baz/bip - name: apps-baz-bip - path: apps/foo - name: apps-foo diff --git a/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden b/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden index 2601b695e62..bb14cc89a73 100644 --- a/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden +++ b/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden @@ -2,9 +2,7 @@ version: 0.1 projects: - path: apps/bar - name: apps-bar - path: apps/baz/bip - name: apps-baz-bip - path: apps/fez name: apps-fez-dev terraform_var_files: @@ -16,5 +14,4 @@ projects: - ../envs/prod.tfvars skip_autodetect: true - path: apps/foo - name: apps-foo diff --git a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden index 8a9e5991ba2..d50e0820e3c 100644 --- a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden +++ b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock Name Monthly Qty Unit Monthly Cost @@ -15,11 +15,11 @@ Project: main 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden index a1a1a73106a..831d9b408ef 100644 --- a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden +++ b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hclmodule_count Name Monthly Qty Unit Monthly Cost @@ -26,11 +26,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $933 ┃ $0.00 ┃ $933 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclmodule_count ┃ $933 ┃ $0.00 ┃ $933 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden index a1a1a73106a..0cbba79bde7 100644 --- a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden +++ b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hclmodule_for_each Name Monthly Qty Unit Monthly Cost @@ -26,11 +26,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $933 ┃ $0.00 ┃ $933 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclmodule_for_each ┃ $933 ┃ $0.00 ┃ $933 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden index 3dea76a23c8..90bd0a403d4 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts Name Monthly Qty Unit Monthly Cost @@ -9,11 +9,11 @@ Project: main ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...stdata/hclmodule_output_counts ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden index 3dea76a23c8..d2b41ebafc7 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts_nested Name Monthly Qty Unit Monthly Cost @@ -9,11 +9,11 @@ Project: main ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...hclmodule_output_counts_nested ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden index ae59f26bada..699d160972c 100644 --- a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden +++ b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change Name Monthly Qty Unit Monthly Cost @@ -18,11 +18,11 @@ Project: main 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...le_reevaluated_on_input_change ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden index 9e3a70ca97a..310ef7e4f54 100644 --- a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden +++ b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hclmodule_relative_filesets Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: main ∙ 3 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $206 ┃ $0.00 ┃ $206 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ta/hclmodule_relative_filesets ┃ $206 ┃ $0.00 ┃ $206 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden index 78d04dfd857..4d657c46b5f 100644 --- a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden +++ b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden @@ -1,4 +1,4 @@ -Project: dev +Project: infracost/infracost/cmd/infracost/testdata/hclmulti_project_infra/dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -52,7 +52,7 @@ Module path: dev Project total $112.35 ────────────────────────────────── -Project: prod +Project: infracost/infracost/cmd/infracost/testdata/hclmulti_project_infra/prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -114,12 +114,12 @@ Module path: prod ∙ 14 were estimated ∙ 38 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ dev ┃ $112 ┃ $0.00 ┃ $112 ┃ -┃ prod ┃ $152 ┃ $0.00 ┃ $152 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...ata/hclmulti_project_infra/dev ┃ $112 ┃ $0.00 ┃ $112 ┃ +┃ infracost/infracost/cmd/infraco...ta/hclmulti_project_infra/prod ┃ $152 ┃ $0.00 ┃ $152 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden index 6f94dbd5a6c..1e33be8297a 100644 --- a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden +++ b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hclmulti_var_files Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: main 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,836 ┃ $0.00 ┃ $1,836 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclmulti_var_files ┃ $1,836 ┃ $0.00 ┃ $1,836 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden index 106f8783838..37ceb41d1e8 100644 --- a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden +++ b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden @@ -1,4 +1,4 @@ -Project: main-blue +Project: infracost/infracost/cmd/infracost/testdata/hclmulti_workspace Workspace: blue Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Workspace: blue Project total $742.64 ────────────────────────────────── -Project: main-yellow +Project: infracost/infracost/cmd/infracost/testdata/hclmulti_workspace Workspace: yellow Name Monthly Qty Unit Monthly Cost @@ -47,12 +47,12 @@ Workspace: yellow 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main-blue ┃ $743 ┃ $0.00 ┃ $743 ┃ -┃ main-yellow ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden index 19a5a9a5a7b..7a7a5c5d5dd 100644 --- a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden +++ b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden @@ -1,4 +1,4 @@ -Project: main +Project: infracost/infracost/cmd/infracost/testdata/hclprovider_alias Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Project: main ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $101 ┃ $0.00 ┃ $101 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infracost/testdata/hclprovider_alias ┃ $101 ┃ $0.00 ┃ $101 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/output_format_json/output_format_json.golden b/cmd/infracost/testdata/output_format_json/output_format_json.golden index 24113241922..b2f7e5447be 100644 --- a/cmd/infracost/testdata/output_format_json/output_format_json.golden +++ b/cmd/infracost/testdata/output_format_json/output_format_json.golden @@ -14,7 +14,6 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata", - "displayName": "", "metadata": { "path": "./cmd/infracost/testdata/", "type": "terraform_dir", @@ -43,8 +42,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -62,8 +60,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -81,8 +78,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -91,8 +87,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -112,8 +107,7 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -131,8 +125,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -150,8 +143,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -160,8 +152,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -181,8 +172,7 @@ "monthlyQuantity": "100", "price": "0.2", "hourlyCost": "0.02739726027397260273972", - "monthlyCost": "20", - "priceNotFound": false + "monthlyCost": "20" }, { "name": "Duration", @@ -191,8 +181,7 @@ "monthlyQuantity": "25000000", "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", - "monthlyCost": "416.6675", - "priceNotFound": false + "monthlyCost": "416.6675" } ] }, @@ -210,8 +199,7 @@ "monthlyQuantity": "0", "price": "0.2", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration", @@ -220,8 +208,7 @@ "monthlyQuantity": "0", "price": "0.0000166667", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] }, @@ -246,8 +233,7 @@ "monthlyQuantity": "0", "price": "0.023", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "PUT, COPY, POST, LIST requests", @@ -256,8 +242,7 @@ "monthlyQuantity": "0", "price": "0.005", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "GET, SELECT, and all other requests", @@ -266,8 +251,7 @@ "monthlyQuantity": "0", "price": "0.0004", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Select data scanned", @@ -276,8 +260,7 @@ "monthlyQuantity": "0", "price": "0.002", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Select data returned", @@ -286,8 +269,7 @@ "monthlyQuantity": "0", "price": "0.0007", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] } @@ -314,8 +296,7 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64", - "priceNotFound": false + "monthlyCost": "560.64" } ], "subresources": [ @@ -333,8 +314,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -352,8 +332,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -362,8 +341,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -383,8 +361,7 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ], "subresources": [ @@ -402,8 +379,7 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5", - "priceNotFound": false + "monthlyCost": "5" } ] }, @@ -421,8 +397,7 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125", - "priceNotFound": false + "monthlyCost": "125" }, { "name": "Provisioned IOPS", @@ -431,8 +406,7 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52", - "priceNotFound": false + "monthlyCost": "52" } ] } @@ -452,8 +426,7 @@ "monthlyQuantity": "100", "price": "0.2", "hourlyCost": "0.02739726027397260273972", - "monthlyCost": "20", - "priceNotFound": false + "monthlyCost": "20" }, { "name": "Duration", @@ -462,8 +435,7 @@ "monthlyQuantity": "25000000", "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", - "monthlyCost": "416.6675", - "priceNotFound": false + "monthlyCost": "416.6675" } ] }, @@ -481,8 +453,7 @@ "monthlyQuantity": "0", "price": "0.2", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Duration", @@ -491,8 +462,7 @@ "monthlyQuantity": "0", "price": "0.0000166667", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] }, @@ -517,8 +487,7 @@ "monthlyQuantity": "0", "price": "0.023", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "PUT, COPY, POST, LIST requests", @@ -527,8 +496,7 @@ "monthlyQuantity": "0", "price": "0.005", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "GET, SELECT, and all other requests", @@ -537,8 +505,7 @@ "monthlyQuantity": "0", "price": "0.0004", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Select data scanned", @@ -547,8 +514,7 @@ "monthlyQuantity": "0", "price": "0.002", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" }, { "name": "Select data returned", @@ -557,8 +523,7 @@ "monthlyQuantity": "0", "price": "0.0007", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] } @@ -575,7 +540,6 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/azure_firewall_plan.json", - "displayName": "", "metadata": { "path": "./cmd/infracost/testdata/azure_firewall_plan.json", "type": "terraform_plan_json", @@ -603,8 +567,7 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5", - "priceNotFound": false + "monthlyCost": "912.5" }, { "name": "Data processed", @@ -613,8 +576,7 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null, - "priceNotFound": false + "monthlyCost": null } ] }, @@ -632,8 +594,7 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75", - "priceNotFound": false + "monthlyCost": "638.75" }, { "name": "Data processed", @@ -642,8 +603,7 @@ "monthlyQuantity": null, "price": "0.008", "hourlyCost": null, - "monthlyCost": null, - "priceNotFound": false + "monthlyCost": null } ] }, @@ -661,8 +621,7 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75", - "priceNotFound": false + "monthlyCost": "638.75" }, { "name": "Data processed", @@ -671,8 +630,7 @@ "monthlyQuantity": null, "price": "0.008", "hourlyCost": null, - "monthlyCost": null, - "priceNotFound": false + "monthlyCost": null } ] }, @@ -690,8 +648,7 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5", - "priceNotFound": false + "monthlyCost": "912.5" }, { "name": "Data processed", @@ -700,8 +657,7 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null, - "priceNotFound": false + "monthlyCost": null } ] }, @@ -719,8 +675,7 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5", - "priceNotFound": false + "monthlyCost": "912.5" }, { "name": "Data processed", @@ -729,8 +684,7 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null, - "priceNotFound": false + "monthlyCost": null } ] }, @@ -748,8 +702,7 @@ "monthlyQuantity": "730", "price": "0.005", "hourlyCost": "0.005", - "monthlyCost": "3.65", - "priceNotFound": false + "monthlyCost": "3.65" } ] } @@ -774,8 +727,7 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5", - "priceNotFound": false + "monthlyCost": "912.5" }, { "name": "Data processed", @@ -784,8 +736,7 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] }, @@ -803,8 +754,7 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75", - "priceNotFound": false + "monthlyCost": "638.75" }, { "name": "Data processed", @@ -813,8 +763,7 @@ "monthlyQuantity": "0", "price": "0.008", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] }, @@ -832,8 +781,7 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75", - "priceNotFound": false + "monthlyCost": "638.75" }, { "name": "Data processed", @@ -842,8 +790,7 @@ "monthlyQuantity": "0", "price": "0.008", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] }, @@ -861,8 +808,7 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5", - "priceNotFound": false + "monthlyCost": "912.5" }, { "name": "Data processed", @@ -871,8 +817,7 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] }, @@ -890,8 +835,7 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5", - "priceNotFound": false + "monthlyCost": "912.5" }, { "name": "Data processed", @@ -900,8 +844,7 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0", - "priceNotFound": false + "monthlyCost": "0" } ] }, @@ -919,8 +862,7 @@ "monthlyQuantity": "730", "price": "0.005", "hourlyCost": "0.005", - "monthlyCost": "3.65", - "priceNotFound": false + "monthlyCost": "3.65" } ] } diff --git a/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden b/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden index 290962073ba..5edc430a747 100644 --- a/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden +++ b/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden @@ -1 +1 @@ -{"version":"0.2","metadata":{"infracostCommand":"output","vcsBranch":"test","vcsCommitSha":"1234","vcsCommitAuthorName":"hugo","vcsCommitAuthorEmail":"hugo@test.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"mymessage","vcsRepositoryUrl":"https://github.com/infracost/infracost.git"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata","displayName":"","metadata":{"path":"./cmd/infracost/testdata/","type":"terraform_dir","terraformWorkspace":"default","vcsSubPath":"cmd/infracost/testdata"},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":null},"breakdown":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675","priceNotFound":false}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"diff":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675","priceNotFound":false}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"summary":{"unsupportedResourceCounts":{}}}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","pastTotalHourlyCost":null,"pastTotalMonthlyCost":null,"diffTotalHourlyCost":null,"diffTotalMonthlyCost":null,"timeGenerated":"REPLACED_TIME","summary":{"unsupportedResourceCounts":{}}} \ No newline at end of file +{"version":"0.2","metadata":{"infracostCommand":"output","vcsBranch":"test","vcsCommitSha":"1234","vcsCommitAuthorName":"hugo","vcsCommitAuthorEmail":"hugo@test.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"mymessage","vcsRepositoryUrl":"https://github.com/infracost/infracost.git"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata","metadata":{"path":"./cmd/infracost/testdata/","type":"terraform_dir","terraformWorkspace":"default","vcsSubPath":"cmd/infracost/testdata"},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":null},"breakdown":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675"}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0"}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0"},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0"},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0"}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"diff":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675"}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0"}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0"},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0"},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0"}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"summary":{"unsupportedResourceCounts":{}}}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","pastTotalHourlyCost":null,"pastTotalMonthlyCost":null,"diffTotalHourlyCost":null,"diffTotalMonthlyCost":null,"timeGenerated":"REPLACED_TIME","summary":{"unsupportedResourceCounts":{}}} \ No newline at end of file diff --git a/cmd/infracost/testdata/register_help_flag/register_help_flag.golden b/cmd/infracost/testdata/register_help_flag/register_help_flag.golden index 8fbe78a1724..4ca505168c7 100644 --- a/cmd/infracost/testdata/register_help_flag/register_help_flag.golden +++ b/cmd/infracost/testdata/register_help_flag/register_help_flag.golden @@ -1,4 +1,4 @@ -Logs: -WARN this command has been changed to infracost auth login, which does the same thing - showing information for that command. +Err: +Warning: this command has been changed to infracost auth login, which does the same thing - showing information for that command. diff --git a/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden b/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden index f9d77f00e17..7997be2cb62 100644 --- a/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden @@ -1,5 +1,5 @@ Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 2 finops policies checked -INFO finops policy check failed: should show as failing +INF Estimate uploaded to Infracost Cloud +INF 2 finops policies checked +INF finops policy check failed: should show as failing diff --git a/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden b/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden index 976530ffdfd..cd176cb7de0 100644 --- a/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden @@ -1,5 +1,5 @@ Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 2 guardrails checked -INFO guardrail check failed: medical problems +INF Estimate uploaded to Infracost Cloud +INF 2 guardrails checked +INF guardrail check failed: medical problems diff --git a/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden b/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden index ce859a2c4d2..34049b7e50a 100644 --- a/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden @@ -1,5 +1,5 @@ Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 2 tag policies checked -INFO tag policy check failed: should show as failing +INF Estimate uploaded to Infracost Cloud +INF 2 tag policies checked +INF tag policy check failed: should show as failing diff --git a/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden b/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden index 447987bf957..d21d209ef3a 100644 --- a/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden +++ b/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden @@ -1,3 +1,3 @@ Logs: -INFO Estimate uploaded to organization 'tim' in Infracost Cloud +INF Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden b/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden index 447987bf957..d21d209ef3a 100644 --- a/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden +++ b/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden @@ -1,3 +1,3 @@ Logs: -INFO Estimate uploaded to organization 'tim' in Infracost Cloud +INF Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden b/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden index 976530ffdfd..cd176cb7de0 100644 --- a/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden +++ b/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden @@ -1,5 +1,5 @@ Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 2 guardrails checked -INFO guardrail check failed: medical problems +INF Estimate uploaded to Infracost Cloud +INF 2 guardrails checked +INF guardrail check failed: medical problems diff --git a/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden b/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden index 9875f03c4d0..b9d5f882416 100644 --- a/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden +++ b/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden @@ -1,4 +1,4 @@ Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 2 guardrails checked +INF Estimate uploaded to Infracost Cloud +INF 2 guardrails checked diff --git a/cmd/infracost/testdata/upload_with_path/upload_with_path.golden b/cmd/infracost/testdata/upload_with_path/upload_with_path.golden index 447987bf957..d21d209ef3a 100644 --- a/cmd/infracost/testdata/upload_with_path/upload_with_path.golden +++ b/cmd/infracost/testdata/upload_with_path/upload_with_path.golden @@ -1,3 +1,3 @@ Logs: -INFO Estimate uploaded to organization 'tim' in Infracost Cloud +INF Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden b/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden index 118f1ca5ca2..9a891859e5d 100644 --- a/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden +++ b/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden @@ -36,10 +36,10 @@ ] } Logs: -INFO Estimate uploaded to Infracost Cloud -INFO 1 tag policy checked -INFO tag policy check failed: Timtags -INFO 48 finops policies checked -INFO finops policy check failed: Cloudwatch - consider using a retention policy to reduce storage costs -INFO finops policy check failed: EBS - consider upgrading gp2 volumes to gp3 -INFO finops policy check failed: S3 - consider using a lifecycle policy to reduce storage costs +INF Estimate uploaded to Infracost Cloud +INF 1 tag policy checked +INF tag policy check failed: Timtags +INF 48 finops policies checked +INF finops policy check failed: Cloudwatch - consider using a retention policy to reduce storage costs +INF finops policy check failed: EBS - consider upgrading gp2 volumes to gp3 +INF finops policy check failed: S3 - consider using a lifecycle policy to reduce storage costs diff --git a/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden b/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden index a55c97b53f5..48eeacefe65 100644 --- a/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden +++ b/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden @@ -1,4 +1,4 @@ Share this cost estimate: http://localhost:3000/share/1234 Logs: -INFO Estimate uploaded to organization 'tim' in Infracost Cloud +INF Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden b/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden index 447987bf957..d21d209ef3a 100644 --- a/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden +++ b/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden @@ -1,3 +1,3 @@ Logs: -INFO Estimate uploaded to organization 'tim' in Infracost Cloud +INF Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/resourcecheck/main.go b/cmd/resourcecheck/main.go index 7d8717677a5..30ea31775fd 100644 --- a/cmd/resourcecheck/main.go +++ b/cmd/resourcecheck/main.go @@ -4,6 +4,7 @@ import ( "context" "go/parser" "go/token" + "log" "os" "strings" @@ -13,8 +14,6 @@ import ( "github.com/dave/dst" "github.com/dave/dst/decorator" "github.com/slack-go/slack" - - "github.com/infracost/infracost/internal/logging" ) var ( @@ -24,7 +23,7 @@ var ( func main() { cfg, err := config.LoadDefaultConfig(context.Background()) if err != nil { - logging.Logger.Fatal().Msgf("error loading aws config %s", err) + log.Fatalf("error loading aws config %s", err) } svc := ec2.NewFromConfig(cfg) @@ -33,12 +32,12 @@ func main() { AllRegions: aws.Bool(true), }) if err != nil { - logging.Logger.Fatal().Msgf("error describing ec2 regions %s", err) + log.Fatalf("error describing ec2 regions %s", err) } f, err := decorator.ParseFile(token.NewFileSet(), "internal/resources/aws/util.go", nil, parser.ParseComments) if err != nil { - logging.Logger.Fatal().Msgf("error loading aws util file %s", err) + log.Fatalf("error loading aws util file %s", err) } currentRegions := make(map[string]struct{}) @@ -58,7 +57,7 @@ func main() { } if len(currentRegions) == 0 { - logging.Logger.Fatal().Msg("error parsing aws RegionMapping from util.go, empty list found") + log.Fatal("error parsing aws RegionMapping from util.go, empty list found") } notFound := strings.Builder{} @@ -87,6 +86,6 @@ func sendSlackMessage(regions string) { slack.MsgOptionAsUser(true), ) if err != nil { - logging.Logger.Fatal().Msgf("error sending slack notifications %s", err) + log.Fatalf("error sending slack notifications %s", err) } } diff --git a/contributing/add_new_resource_guide.md b/contributing/add_new_resource_guide.md index 4f3369d6cee..66d8acd32ed 100644 --- a/contributing/add_new_resource_guide.md +++ b/contributing/add_new_resource_guide.md @@ -1098,7 +1098,7 @@ The following edge cases can be handled in the resource files: ```go if d.Get("placement_tenancy").String() == "host" { - logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", d.Address) + log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", d.Address) return nil } ``` diff --git a/internal/apiclient/auth.go b/internal/apiclient/auth.go index 1b54a80a8d1..1907ad87109 100644 --- a/internal/apiclient/auth.go +++ b/internal/apiclient/auth.go @@ -9,8 +9,8 @@ import ( "github.com/google/uuid" "github.com/pkg/browser" + "github.com/rs/zerolog/log" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -85,21 +85,21 @@ func (a AuthClient) startCallbackServer(listener net.Listener, generatedState st redirectTo := query.Get("redirect_to") if state != generatedState { - logging.Logger.Debug().Msg("Invalid state received") + log.Debug().Msg("Invalid state received") w.WriteHeader(400) return } u, err := url.Parse(redirectTo) if err != nil { - logging.Logger.Debug().Msg("Unable to parse redirect_to URL") + log.Debug().Msg("Unable to parse redirect_to URL") w.WriteHeader(400) return } origin := fmt.Sprintf("%s://%s", u.Scheme, u.Host) if origin != a.Host { - logging.Logger.Debug().Msg("Invalid redirect_to URL") + log.Debug().Msg("Invalid redirect_to URL") w.WriteHeader(400) return } diff --git a/internal/apiclient/client.go b/internal/apiclient/client.go index 55cc47ff975..da8a4ef1722 100644 --- a/internal/apiclient/client.go +++ b/internal/apiclient/client.go @@ -11,6 +11,7 @@ import ( "github.com/google/uuid" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "github.com/tidwall/gjson" "github.com/infracost/infracost/internal/logging" @@ -58,7 +59,7 @@ type APIErrorResponse struct { func (c *APIClient) DoQueries(queries []GraphQLQuery) ([]gjson.Result, error) { if len(queries) == 0 { - logging.Logger.Debug().Msg("Skipping GraphQL request as no queries have been specified") + log.Debug().Msg("Skipping GraphQL request as no queries have been specified") return []gjson.Result{}, nil } diff --git a/internal/apiclient/dashboard.go b/internal/apiclient/dashboard.go index cb783629f9b..13b65907771 100644 --- a/internal/apiclient/dashboard.go +++ b/internal/apiclient/dashboard.go @@ -9,6 +9,7 @@ import ( json "github.com/json-iterator/go" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/logging" @@ -184,7 +185,11 @@ func (c *DashboardAPIClient) AddRun(ctx *config.RunContext, out output.Root, com } successMsg := fmt.Sprintf("Estimate uploaded to %sInfracost Cloud", orgMsg) - logging.Logger.Info().Msg(successMsg) + if ctx.Config.IsLogging() { + log.Info().Msg(successMsg) + } else { + fmt.Fprintf(ctx.ErrWriter, "%s\n", successMsg) + } err = json.Unmarshal([]byte(cloudRun.Raw), &response) if err != nil { @@ -219,7 +224,11 @@ func (c *DashboardAPIClient) AddRun(ctx *config.RunContext, out output.Root, com } func outputGovernanceMessages(ctx *config.RunContext, msg string) { - logging.Logger.Info().Msg(msg) + if ctx.Config.IsLogging() { + log.Info().Msg(msg) + } else { + fmt.Fprintf(ctx.ErrWriter, "%s\n", msg) + } } func (c *DashboardAPIClient) QueryCLISettings() (QueryCLISettingsResponse, error) { diff --git a/internal/apiclient/policy.go b/internal/apiclient/policy.go index 0d5e4f76efa..3114eded7a0 100644 --- a/internal/apiclient/policy.go +++ b/internal/apiclient/policy.go @@ -191,7 +191,7 @@ func filterResource(rd *schema.ResourceData, al allowList) policy2Resource { // make sure the keys in the values json are sorted so we get consistent policyShas valuesJSON, err := jsonSorted.Marshal(filterValues(rd.RawValues, al)) if err != nil { - logging.Logger.Debug().Err(err).Str("address", rd.Address).Msg("Failed to marshal filtered values") + logging.Logger.Warn().Err(err).Str("address", rd.Address).Msg("Failed to marshal filtered values") } references := make([]policy2Reference, 0, len(rd.ReferencesMap)) @@ -261,7 +261,7 @@ func filterValues(rd gjson.Result, allowList map[string]gjson.Result) map[string values[k] = filterValues(v, nestedAllow) } } else { - logging.Logger.Debug().Str("Key", k).Str("Type", allow.Type.String()).Msg("Unknown allow type") + logging.Logger.Warn().Str("Key", k).Str("Type", allow.Type.String()).Msg("Unknown allow type") } } } diff --git a/internal/apiclient/pricing.go b/internal/apiclient/pricing.go index 03b1e7b2638..8ef2f330cd4 100644 --- a/internal/apiclient/pricing.go +++ b/internal/apiclient/pricing.go @@ -20,6 +20,7 @@ import ( "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/rs/zerolog/log" "github.com/tidwall/gjson" ) @@ -54,7 +55,6 @@ type PriceQueryKey struct { type PriceQueryResult struct { PriceQueryKey Result gjson.Result - Query GraphQLQuery filled bool } @@ -111,14 +111,14 @@ func NewPricingAPIClient(ctx *config.RunContext) *PricingAPIClient { caCerts, err := os.ReadFile(ctx.Config.TLSCACertFile) if err != nil { - logging.Logger.Error().Msgf("Error reading CA cert file %s: %v", ctx.Config.TLSCACertFile, err) + log.Error().Msgf("Error reading CA cert file %s: %v", ctx.Config.TLSCACertFile, err) } else { ok := rootCAs.AppendCertsFromPEM(caCerts) if !ok { - logging.Logger.Warn().Msgf("No CA certs appended, only using system certs") + log.Warn().Msgf("No CA certs appended, only using system certs") } else { - logging.Logger.Debug().Msgf("Loaded CA certs from %s", ctx.Config.TLSCACertFile) + log.Debug().Msgf("Loaded CA certs from %s", ctx.Config.TLSCACertFile) } } @@ -317,7 +317,7 @@ type pricingQuery struct { // checking a local cache for previous results. If the results of a given query // are cached, they are used directly; otherwise, a request to the API is made. func (c *PricingAPIClient) PerformRequest(req BatchRequest) ([]PriceQueryResult, error) { - logging.Logger.Debug().Msgf("Getting pricing details for %d cost components from %s", len(req.queries), c.endpoint) + log.Debug().Msgf("Getting pricing details for %d cost components from %s", len(req.queries), c.endpoint) res := make([]PriceQueryResult, len(req.keys)) for i, key := range req.keys { res[i].PriceQueryKey = key @@ -352,7 +352,6 @@ func (c *PricingAPIClient) PerformRequest(req BatchRequest) ([]PriceQueryResult, PriceQueryKey: req.keys[i], Result: v.Result, filled: true, - Query: query.query, } } else { serverQueries = append(serverQueries, query) diff --git a/internal/clierror/error.go b/internal/clierror/error.go index a955f48ee31..2696a433a6c 100644 --- a/internal/clierror/error.go +++ b/internal/clierror/error.go @@ -9,8 +9,7 @@ import ( "strings" "github.com/maruel/panicparse/v2/stack" - - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) var goroutineSuffixRegex = regexp.MustCompile(`(goroutine)\s*\d+$`) @@ -71,7 +70,7 @@ func (p *PanicError) SanitizedStack() string { sanitizedStack := p.stack sanitizedStack, err := processStack(sanitizedStack) if err != nil { - logging.Logger.Debug().Msgf("Could not sanitize stack: %s", err) + log.Debug().Msgf("Could not sanitize stack: %s", err) } return string(sanitizedStack) diff --git a/internal/config/config.go b/internal/config/config.go index 801606ae0d3..e7f8cb51489 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,8 +1,8 @@ package config import ( - "fmt" "io" + "log" "os" "path/filepath" "strings" @@ -182,7 +182,7 @@ type Config struct { func init() { err := loadDotEnv() if err != nil { - logging.Logger.Fatal().Msg(err.Error()) + log.Fatal(err) } } @@ -321,45 +321,9 @@ func (c *Config) SetLogWriter(w io.Writer) { // LogWriter returns the writer the Logger should use to write logs to. // In most cases this should be stderr, but it can also be a file. func (c *Config) LogWriter() io.Writer { - isCI := ciPlatform() != "" && !IsTest() return zerolog.NewConsoleWriter(func(w *zerolog.ConsoleWriter) { - w.PartsExclude = []string{"time"} - w.FormatLevel = func(i interface{}) string { - if i == nil { - return "" - } - - if isCI { - return strings.ToUpper(fmt.Sprintf("%s", i)) - } - - if ll, ok := i.(string); ok { - upper := strings.ToUpper(ll) - - switch ll { - case zerolog.LevelTraceValue: - return color.CyanString("%s", upper) - case zerolog.LevelDebugValue: - return color.MagentaString("%s", upper) - case zerolog.LevelWarnValue: - return color.YellowString("%s", upper) - case zerolog.LevelErrorValue, zerolog.LevelFatalValue, zerolog.LevelPanicValue: - return color.RedString("%s", upper) - case zerolog.LevelInfoValue: - return color.GreenString("%s", upper) - default: - } - } - - return strings.ToUpper(fmt.Sprintf("%s", i)) - } - - if isCI { - w.NoColor = true - w.TimeFormat = time.RFC3339 - w.PartsExclude = nil - } - + w.NoColor = true + w.TimeFormat = time.RFC3339 if c.logDisableTimestamps { w.PartsExclude = []string{"time"} } @@ -367,6 +331,8 @@ func (c *Config) LogWriter() io.Writer { w.Out = os.Stderr if c.logWriter != nil { w.Out = c.logWriter + } else if c.LogLevel == "" { + w.Out = io.Discard } }) } @@ -436,6 +402,10 @@ func (c *Config) LoadGlobalFlags(cmd *cobra.Command) error { return nil } +func (c *Config) IsLogging() bool { + return c.LogLevel != "" +} + func (c *Config) IsSelfHosted() bool { return c.PricingAPIEndpoint != "" && c.PricingAPIEndpoint != c.DefaultPricingAPIEndpoint } @@ -470,13 +440,3 @@ func loadDotEnv() error { return nil } - -func CleanProjectName(name string) string { - name = strings.TrimSuffix(name, "/") - name = strings.ReplaceAll(name, "/", "-") - - if name == "." { - return "main" - } - return name -} diff --git a/internal/config/configuration.go b/internal/config/configuration.go index 9df44f08d98..a8fb9af83fa 100644 --- a/internal/config/configuration.go +++ b/internal/config/configuration.go @@ -6,9 +6,8 @@ import ( "strings" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" - - "github.com/infracost/infracost/internal/logging" ) var configurationVersion = "0.1" @@ -29,7 +28,7 @@ func loadConfiguration(cfg *Config) error { err = cfg.migrateConfiguration() if err != nil { - logging.Logger.Debug().Err(err).Msg("error migrating configuration") + log.Debug().Err(err).Msg("error migrating configuration") } cfg.Configuration, err = readConfigurationFileIfExists() diff --git a/internal/config/credentials.go b/internal/config/credentials.go index 6a9ac07105d..76e42b0ff24 100644 --- a/internal/config/credentials.go +++ b/internal/config/credentials.go @@ -6,9 +6,8 @@ import ( "strings" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" - - "github.com/infracost/infracost/internal/logging" ) var credentialsVersion = "0.1" @@ -24,7 +23,7 @@ func loadCredentials(cfg *Config) error { err = cfg.migrateCredentials() if err != nil { - logging.Logger.Debug().Err(err).Msg("Error migrating credentials") + log.Debug().Err(err).Msg("Error migrating credentials") } cfg.Credentials, err = readCredentialsFileIfExists() diff --git a/internal/config/migrate.go b/internal/config/migrate.go index b9bb39bd06c..3c380f17eac 100644 --- a/internal/config/migrate.go +++ b/internal/config/migrate.go @@ -7,9 +7,8 @@ import ( "time" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" - - "github.com/infracost/infracost/internal/logging" ) func (c *Config) migrateConfiguration() error { @@ -49,7 +48,7 @@ func (c *Config) migrateCredentials() error { } func (c *Config) migrateV0_7_17(oldPath string, newPath string) error { - logging.Logger.Debug().Msgf("Migrating old credentials from %s to %s", oldPath, newPath) + log.Debug().Msgf("Migrating old credentials from %s to %s", oldPath, newPath) data, err := os.ReadFile(oldPath) if err != nil { @@ -79,14 +78,14 @@ func (c *Config) migrateV0_7_17(oldPath string, newPath string) error { return err } - logging.Logger.Debug().Msg("Credentials successfully migrated") + log.Debug().Msg("Credentials successfully migrated") } return nil } func (c *Config) migrateV0_9_4(credPath string) error { - logging.Logger.Debug().Msgf("Migrating old credentials format to v0.1") + log.Debug().Msgf("Migrating old credentials format to v0.1") // Use MapSlice to keep the order of the items, so we can always use the first one var oldCreds yaml.MapSlice @@ -135,7 +134,7 @@ func (c *Config) migrateV0_9_4(credPath string) error { return err } - logging.Logger.Debug().Msg("Credentials successfully migrated") + log.Debug().Msg("Credentials successfully migrated") return nil } diff --git a/internal/config/run_context.go b/internal/config/run_context.go index 788b9189eed..4b4d741f2b5 100644 --- a/internal/config/run_context.go +++ b/internal/config/run_context.go @@ -12,6 +12,7 @@ import ( "github.com/infracost/infracost/internal/logging" intSync "github.com/infracost/infracost/internal/sync" + "github.com/infracost/infracost/internal/ui" "github.com/infracost/infracost/internal/vcs" "github.com/infracost/infracost/internal/version" @@ -137,11 +138,24 @@ func EmptyRunContext() *RunContext { } } +var ( + outputIndent = " " +) + // IsAutoDetect returns true if the command is running with auto-detect functionality. func (r *RunContext) IsAutoDetect() bool { return len(r.Config.Projects) <= 1 && r.Config.ConfigFilePath == "" } +// NewSpinner returns an ui.Spinner built from the RunContext. +func (r *RunContext) NewSpinner(msg string) *ui.Spinner { + return ui.NewSpinner(msg, ui.SpinnerOptions{ + EnableLogging: r.Config.IsLogging(), + NoColor: r.Config.NoColor, + Indent: outputIndent, + }) +} + func (r *RunContext) GetParallelism() (int, error) { var parallelism int @@ -186,6 +200,20 @@ func (r *RunContext) VCSRepositoryURL() string { return r.VCSMetadata.Remote.URL } +func (r *RunContext) GetResourceWarnings() map[string]map[string]int { + contextValues := r.ContextValues.Values() + + if warnings := contextValues["resourceWarnings"]; warnings != nil { + return warnings.(map[string]map[string]int) + } + + return nil +} + +func (r *RunContext) SetResourceWarnings(resourceWarnings map[string]map[string]int) { + r.ContextValues.SetValue("resourceWarnings", resourceWarnings) +} + func (r *RunContext) EventEnv() map[string]interface{} { return r.EventEnvWithProjectContexts([]*ProjectContext{}) } diff --git a/internal/credentials/terraform.go b/internal/credentials/terraform.go index 1f44f19f113..9a1f6921964 100644 --- a/internal/credentials/terraform.go +++ b/internal/credentials/terraform.go @@ -11,8 +11,7 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/hashicorp/hcl/v2/hclparse" "github.com/mitchellh/go-homedir" - - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) var ( @@ -23,10 +22,10 @@ var ( // FindTerraformCloudToken returns a TFC Bearer token for the given host. func FindTerraformCloudToken(host string) string { if os.Getenv("TF_CLI_CONFIG_FILE") != "" { - logging.Logger.Debug().Msgf("TF_CLI_CONFIG_FILE is set, checking %s for Terraform Cloud credentials", os.Getenv("TF_CLI_CONFIG_FILE")) + log.Debug().Msgf("TF_CLI_CONFIG_FILE is set, checking %s for Terraform Cloud credentials", os.Getenv("TF_CLI_CONFIG_FILE")) token, err := credFromHCL(os.Getenv("TF_CLI_CONFIG_FILE"), host) if err != nil { - logging.Logger.Debug().Msgf("Error reading Terraform config file %s: %v", os.Getenv("TF_CLI_CONFIG_FILE"), err) + log.Debug().Msgf("Error reading Terraform config file %s: %v", os.Getenv("TF_CLI_CONFIG_FILE"), err) } if token != "" { return token @@ -35,10 +34,10 @@ func FindTerraformCloudToken(host string) string { credFile := defaultCredFile() if _, err := os.Stat(credFile); err == nil { - logging.Logger.Debug().Msgf("Checking %s for Terraform Cloud credentials", credFile) + log.Debug().Msgf("Checking %s for Terraform Cloud credentials", credFile) token, err := credFromJSON(credFile, host) if err != nil { - logging.Logger.Debug().Msgf("Error reading Terraform credentials file %s: %v", credFile, err) + log.Debug().Msgf("Error reading Terraform credentials file %s: %v", credFile, err) } if token != "" { return token @@ -47,10 +46,10 @@ func FindTerraformCloudToken(host string) string { confFile := defaultConfFile() if _, err := os.Stat(confFile); err == nil { - logging.Logger.Debug().Msgf("Checking %s for Terraform Cloud credentials", confFile) + log.Debug().Msgf("Checking %s for Terraform Cloud credentials", confFile) token, err := credFromHCL(confFile, host) if err != nil { - logging.Logger.Debug().Msgf("Error reading Terraform config file %s: %v", confFile, err) + log.Debug().Msgf("Error reading Terraform config file %s: %v", confFile, err) } if token != "" { return token diff --git a/internal/extclient/authed_client.go b/internal/extclient/authed_client.go index c0912fca062..59f9393723c 100644 --- a/internal/extclient/authed_client.go +++ b/internal/extclient/authed_client.go @@ -11,6 +11,7 @@ import ( "github.com/infracost/infracost/internal/logging" "github.com/pkg/errors" + "github.com/rs/zerolog/log" ) // AuthedAPIClient represents an API client for authorized requests. @@ -40,7 +41,7 @@ func (a *AuthedAPIClient) SetHost(host string) { // Get performs a GET request to provided endpoint. func (a *AuthedAPIClient) Get(path string) ([]byte, error) { url := fmt.Sprintf("https://%s%s", a.host, path) - logging.Logger.Debug().Msgf("Calling Terraform Cloud API: %s", url) + log.Debug().Msgf("Calling Terraform Cloud API: %s", url) req, err := retryablehttp.NewRequest("GET", url, nil) if err != nil { return []byte{}, err diff --git a/internal/hcl/attribute.go b/internal/hcl/attribute.go index cc398ce4a4a..c1ded60413e 100644 --- a/internal/hcl/attribute.go +++ b/internal/hcl/attribute.go @@ -129,7 +129,7 @@ func (attr *Attribute) Value() cty.Value { return cty.DynamicVal } - attr.Logger.Trace().Msg("fetching attribute value") + attr.Logger.Debug().Msg("fetching attribute value") var val cty.Value if attr.isGraph { val = attr.graphValue() @@ -919,7 +919,7 @@ func (attr *Attribute) getIndexValue(part hcl.TraverseIndex) string { case cty.Number: var intVal int if err := gocty.FromCtyValue(part.Key, &intVal); err != nil { - attr.Logger.Debug().Err(err).Msg("could not unpack int from block index attr, returning 0") + attr.Logger.Warn().Err(err).Msg("could not unpack int from block index attr, returning 0") return "0" } @@ -1107,7 +1107,7 @@ func (attr *Attribute) referencesFromExpression(expression hcl.Expression) []*Re refs = append(refs, ref) } case *hclsyntax.LiteralValueExpr: - attr.Logger.Trace().Msgf("cannot create references from %T as it is a literal value and will not contain refs", t) + attr.Logger.Debug().Msgf("cannot create references from %T as it is a literal value and will not contain refs", t) default: name := fmt.Sprintf("%T", t) if strings.HasPrefix(name, "*hclsyntax") { diff --git a/internal/hcl/evaluator.go b/internal/hcl/evaluator.go index b153f097d90..8ebd78d7898 100644 --- a/internal/hcl/evaluator.go +++ b/internal/hcl/evaluator.go @@ -25,6 +25,7 @@ import ( "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/infracost/infracost/internal/ui" ) var ( @@ -92,6 +93,7 @@ type Evaluator struct { workspace string // blockBuilder handles generating blocks in the evaluation step. blockBuilder BlockBuilder + newSpinner ui.SpinnerFunc logger zerolog.Logger isGraph bool filteredBlocks []*Block @@ -108,6 +110,7 @@ func NewEvaluator( visitedModules map[string]map[string]cty.Value, workspace string, blockBuilder BlockBuilder, + spinFunc ui.SpinnerFunc, logger zerolog.Logger, isGraph bool, ) *Evaluator { @@ -180,6 +183,7 @@ func NewEvaluator( workspace: workspace, workingDir: workingDir, blockBuilder: blockBuilder, + newSpinner: spinFunc, logger: l, isGraph: isGraph, } @@ -232,6 +236,11 @@ func (e *Evaluator) MissingVars() []string { // parse and build up and child modules that are referenced in the Blocks and runs child Evaluator on // this Module. func (e *Evaluator) Run() (*Module, error) { + if e.newSpinner != nil { + spin := e.newSpinner("Evaluating Terraform directory") + defer spin.Success() + } + var lastContext hcl.EvalContext // first we need to evaluate the top level Context - so this can be passed to any child modules that are found. e.logger.Debug().Msg("evaluating top level context") @@ -298,7 +307,7 @@ func (e *Evaluator) evaluate(lastContext hcl.EvalContext) { } if i == maxContextIterations { - e.logger.Debug().Msgf("hit max context iterations evaluating module %s", e.module.Name) + e.logger.Warn().Msgf("hit max context iterations evaluating module %s", e.module.Name) } } @@ -363,6 +372,7 @@ func (e *Evaluator) evaluateModules() { map[string]map[string]cty.Value{}, e.workspace, e.blockBuilder, + nil, e.logger, e.isGraph, ) @@ -406,7 +416,7 @@ func (e *Evaluator) expandBlocks(blocks Blocks, lastContext hcl.EvalContext) Blo } if i == maxContextIterations { - e.logger.Debug().Msgf("hit max context iterations expanding blocks in module %s", e.module.Name) + e.logger.Warn().Msgf("hit max context iterations expanding blocks in module %s", e.module.Name) } return e.expandDynamicBlocks(expanded...) diff --git a/internal/hcl/graph.go b/internal/hcl/graph.go index 73a43d834f1..d92db6a86f1 100644 --- a/internal/hcl/graph.go +++ b/internal/hcl/graph.go @@ -458,6 +458,7 @@ func (g *Graph) loadBlocksForModule(evaluator *Evaluator) ([]*Block, error) { map[string]map[string]cty.Value{}, evaluator.workspace, evaluator.blockBuilder, + nil, evaluator.logger, evaluator.isGraph, ) diff --git a/internal/hcl/graph_vertex_module_call.go b/internal/hcl/graph_vertex_module_call.go index 39fd7b085b2..ea0a5149dcf 100644 --- a/internal/hcl/graph_vertex_module_call.go +++ b/internal/hcl/graph_vertex_module_call.go @@ -125,6 +125,7 @@ func (v *VertexModuleCall) expand(e *Evaluator, b *Block, mutex *sync.Mutex) ([] map[string]map[string]cty.Value{}, e.workspace, e.blockBuilder, + nil, e.logger, e.isGraph, ) diff --git a/internal/hcl/modules/loader.go b/internal/hcl/modules/loader.go index 602fb4be69b..f0118bfb4ea 100644 --- a/internal/hcl/modules/loader.go +++ b/internal/hcl/modules/loader.go @@ -22,6 +22,7 @@ import ( "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/schema" intSync "github.com/infracost/infracost/internal/sync" + "github.com/infracost/infracost/internal/ui" ) var ( @@ -42,6 +43,8 @@ var ( // .infracost/terraform_modules directory. We could implement a global cache in the future, but for now have decided // to go with the same approach as Terraform. type ModuleLoader struct { + NewSpinner ui.SpinnerFunc + // cachePath is the path to the directory that Infracost will download modules to. // This is normally the top level directory of a multi-project environment, where the // Infracost config file resides or project auto-detection starts from. @@ -114,6 +117,11 @@ func (m *ModuleLoader) Load(path string) (man *Manifest, err error) { } }() + if m.NewSpinner != nil { + spin := m.NewSpinner("Downloading Terraform modules") + defer spin.Success() + } + manifest := &Manifest{} manifestFilePath := m.manifestFilePath(path) _, err = os.Stat(manifestFilePath) @@ -459,22 +467,22 @@ func (m *ModuleLoader) cachePathRel(targetPath string) (string, error) { if relerr == nil { return rel, nil } - m.logger.Debug().Msgf("Failed to filepath.Rel cache=%s target=%s: %v", m.cachePath, targetPath, relerr) + m.logger.Info().Msgf("Failed to filepath.Rel cache=%s target=%s: %v", m.cachePath, targetPath, relerr) // try converting to absolute paths absCachePath, abserr := filepath.Abs(m.cachePath) if abserr != nil { - m.logger.Debug().Msgf("Failed to filepath.Abs cachePath: %v", abserr) + m.logger.Info().Msgf("Failed to filepath.Abs cachePath: %v", abserr) return "", relerr } absTargetPath, abserr := filepath.Abs(targetPath) if abserr != nil { - m.logger.Debug().Msgf("Failed to filepath.Abs target: %v", abserr) + m.logger.Info().Msgf("Failed to filepath.Abs target: %v", abserr) return "", relerr } - m.logger.Debug().Msgf("Attempting filepath.Rel on abs paths cache=%s, target=%s", absCachePath, absTargetPath) + m.logger.Info().Msgf("Attempting filepath.Rel on abs paths cache=%s, target=%s", absCachePath, absTargetPath) return filepath.Rel(absCachePath, absTargetPath) } diff --git a/internal/hcl/parser.go b/internal/hcl/parser.go index a0a4fa6c352..db5e5d608dc 100644 --- a/internal/hcl/parser.go +++ b/internal/hcl/parser.go @@ -12,14 +12,15 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/rs/zerolog" + "github.com/rs/zerolog/log" "github.com/zclconf/go-cty/cty" "github.com/zclconf/go-cty/cty/gocty" "github.com/infracost/infracost/internal/clierror" - "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/extclient" "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" + "github.com/infracost/infracost/internal/ui" ) var ( @@ -210,6 +211,10 @@ func OptionWithRemoteVarLoader(host, token, localWorkspace string, loaderOpts .. return } + if p.newSpinner != nil { + loaderOpts = append(loaderOpts, RemoteVariablesLoaderWithSpinner(p.newSpinner)) + } + client := extclient.NewAuthedAPIClient(host, token) p.remoteVariablesLoader = NewRemoteVariablesLoader(client, localWorkspace, p.logger, loaderOpts...) } @@ -237,6 +242,19 @@ func OptionWithTerraformWorkspace(name string) Option { } } +// OptionWithSpinner sets a SpinnerFunc onto the Parser. With this option enabled +// the Parser will send progress to the Spinner. This is disabled by default as +// we run the Parser concurrently underneath DirProvider and don't want to mess with its output. +func OptionWithSpinner(f ui.SpinnerFunc) Option { + return func(p *Parser) { + p.newSpinner = f + + if p.moduleLoader != nil { + p.moduleLoader.NewSpinner = f + } + } +} + // OptionGraphEvaluator sets the Parser to use the experimental graph evaluator. func OptionGraphEvaluator() Option { return func(p *Parser) { @@ -249,7 +267,7 @@ type DetectedProject interface { ProjectName() string EnvName() string RelativePath() string - VarFiles() []string + TerraformVarFiles() []string YAML() string } @@ -264,6 +282,7 @@ type Parser struct { moduleLoader *modules.ModuleLoader hclParser *modules.SharedHCLParser blockBuilder BlockBuilder + newSpinner ui.SpinnerFunc remoteVariablesLoader *RemoteVariablesLoader logger zerolog.Logger isGraph bool @@ -304,10 +323,10 @@ func (p *Parser) YAML() string { str := strings.Builder{} str.WriteString(fmt.Sprintf(" - path: %s\n name: %s\n", p.RelativePath(), p.ProjectName())) - if len(p.VarFiles()) > 0 { + if len(p.TerraformVarFiles()) > 0 { str.WriteString(" terraform_var_files:\n") - for _, varFile := range p.VarFiles() { + for _, varFile := range p.TerraformVarFiles() { str.WriteString(fmt.Sprintf(" - %s\n", varFile)) } } @@ -409,6 +428,7 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { nil, p.workspaceName, p.blockBuilder, + p.newSpinner, p.logger, p.isGraph, ) @@ -417,7 +437,8 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { // Graph evaluation if evaluator.isGraph { - logging.Logger.Debug().Msg("Building project with experimental graph runner") + // we use the base zerolog log here so that it's consistent with the spinner logs + log.Info().Msgf("Building project with experimental graph runner") g, err := NewGraphWithRoot(p.logger, nil) if err != nil { @@ -456,7 +477,12 @@ func (p *Parser) RelativePath() string { // ProjectName generates a name for the project that can be used // in the Infracost config file. func (p *Parser) ProjectName() string { - name := config.CleanProjectName(p.RelativePath()) + r := p.RelativePath() + name := strings.TrimSuffix(r, "/") + name = strings.ReplaceAll(name, "/", "-") + if name == "." { + name = "main" + } if p.moduleSuffix != "" { name = fmt.Sprintf("%s-%s", name, p.moduleSuffix) @@ -476,7 +502,7 @@ func (p *Parser) EnvName() string { // TerraformVarFiles returns the list of terraform var files that the parser // will use to load variables from. -func (p *Parser) VarFiles() []string { +func (p *Parser) TerraformVarFiles() []string { varFilesMap := make(map[string]struct{}, len(p.tfvarsPaths)) varFiles := make([]string, 0, len(p.tfvarsPaths)) @@ -530,7 +556,7 @@ func (p *Parser) loadVars(blocks Blocks, filenames []string) (map[string]cty.Val remoteVars, err := p.remoteVariablesLoader.Load(blocks) if err != nil { - p.logger.Debug().Msgf("could not load vars from Terraform Cloud: %s", err) + p.logger.Warn().Msgf("could not load vars from Terraform Cloud: %s", err) return combinedVars, err } diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index d5545c3db58..2fcd7647d26 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -1365,7 +1365,7 @@ func (p *ProjectLocator) walkPaths(fullPath string, level int, maxSearchDepth in fileInfos, err := os.ReadDir(fullPath) if err != nil { - p.logger.Debug().Err(err).Msgf("could not get file information for path %s skipping evaluation", fullPath) + p.logger.Warn().Err(err).Msgf("could not get file information for path %s skipping evaluation", fullPath) return } @@ -1563,7 +1563,7 @@ func (p *ProjectLocator) shallowDecodeTerraformBlocks(fullPath string, files map body, content, diags := file.Body.PartialContent(terraformAndProviderBlocks) if diags != nil && diags.HasErrors() { - p.logger.Debug().Err(diags).Msgf("skipping building module information for file %s as failed to get partial body contents", file) + p.logger.Warn().Err(diags).Msgf("skipping building module information for file %s as failed to get partial body contents", file) continue } diff --git a/internal/hcl/remote_variables_loader.go b/internal/hcl/remote_variables_loader.go index 8787c0c2998..d5736955725 100644 --- a/internal/hcl/remote_variables_loader.go +++ b/internal/hcl/remote_variables_loader.go @@ -11,6 +11,7 @@ import ( "github.com/zclconf/go-cty/cty" "github.com/infracost/infracost/internal/extclient" + "github.com/infracost/infracost/internal/ui" ) // RemoteVariablesLoader handles loading remote variables from Terraform Cloud. @@ -18,6 +19,7 @@ type RemoteVariablesLoader struct { client *extclient.AuthedAPIClient localWorkspace string remoteConfig *TFCRemoteConfig + newSpinner ui.SpinnerFunc logger zerolog.Logger } @@ -74,6 +76,14 @@ type tfcVarResponse struct { } `json:"data"` } +// RemoteVariablesLoaderWithSpinner enables the RemoteVariablesLoader to use an ui.Spinner to +// show the progress of loading the remote variables. +func RemoteVariablesLoaderWithSpinner(f ui.SpinnerFunc) RemoteVariablesLoaderOption { + return func(r *RemoteVariablesLoader) { + r.newSpinner = f + } +} + // RemoteVariablesLoaderWithRemoteConfig sets a user defined configuration for // the RemoteVariablesLoader. This is normally done to override the configuration // detected from the HCL blocks. @@ -105,7 +115,7 @@ func NewRemoteVariablesLoader(client *extclient.AuthedAPIClient, localWorkspace // Load fetches remote variables if terraform block contains organization and // workspace name. func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error) { - r.logger.Debug().Msg("Downloading Terraform remote variables") + spinnerMsg := "Downloading Terraform remote variables" vars := map[string]cty.Value{} var config TFCRemoteConfig @@ -117,6 +127,14 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error if !config.valid() { config, err = r.getBackendOrganizationWorkspace(blocks) if err != nil { + var spinner *ui.Spinner + if r.newSpinner != nil { + // In case name prefix is set, but workspace flag is missing show the + // failed spinner message. Otherwise the remote variables loading is + // skipped entirely. + spinner = r.newSpinner(spinnerMsg) + spinner.Fail() + } return vars, err } @@ -133,13 +151,13 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint := fmt.Sprintf("/api/v2/organizations/%s/workspaces/%s", config.Organization, config.Workspace) body, err := r.client.Get(endpoint) if err != nil { - r.logger.Debug().Err(err).Msgf("could not request Terraform workspace: %s for organization: %s", config.Workspace, config.Organization) + r.logger.Warn().Err(err).Msgf("could not request Terraform workspace: %s for organization: %s", config.Workspace, config.Organization) return vars, nil } var workspaceResponse tfcWorkspaceResponse if json.Unmarshal(body, &workspaceResponse) != nil { - r.logger.Debug().Err(err).Msgf("malformed Terraform API response using workspace: %s organization: %s", config.Workspace, config.Organization) + r.logger.Warn().Err(err).Msgf("malformed Terraform API response using workspace: %s organization: %s", config.Workspace, config.Organization) return vars, nil } @@ -148,6 +166,12 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error return vars, nil } + var spinner *ui.Spinner + if r.newSpinner != nil { + spinner = r.newSpinner(spinnerMsg) + defer spinner.Success() + } + workspaceID := workspaceResponse.Data.ID pageNumber := 1 @@ -159,11 +183,17 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint = fmt.Sprintf("/api/v2/workspaces/%s/varsets?include=vars&page[number]=%d&page[size]=50", workspaceID, pageNumber) body, err = r.client.Get(endpoint) if err != nil { + if spinner != nil { + spinner.Fail() + } return vars, err } var varsetsResponse tfcVarsetResponse if json.Unmarshal(body, &varsetsResponse) != nil { + if spinner != nil { + spinner.Fail() + } return vars, errors.New("unable to parse Workspace Variable Sets response") } @@ -211,11 +241,17 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint = fmt.Sprintf("/api/v2/workspaces/%s/vars", workspaceID) body, err = r.client.Get(endpoint) if err != nil { + if spinner != nil { + spinner.Fail() + } return vars, err } var varsResponse tfcVarResponse if json.Unmarshal(body, &varsResponse) != nil { + if spinner != nil { + spinner.Fail() + } return vars, errors.New("unable to parse Workspace Variables response") } diff --git a/internal/output/combined.go b/internal/output/combined.go index 2d75637c774..d2788c955e0 100644 --- a/internal/output/combined.go +++ b/internal/output/combined.go @@ -16,9 +16,10 @@ import ( "github.com/shopspring/decimal" "golang.org/x/mod/semver" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -456,7 +457,7 @@ func addCurrencyFormat(currencyFormat string) { m := rgx.FindStringSubmatch(currencyFormat) if len(m) == 0 { - logging.Logger.Warn().Msgf("Invalid currency format: %s", currencyFormat) + log.Warn().Msgf("Invalid currency format: %s", currencyFormat) return } diff --git a/internal/output/html.go b/internal/output/html.go index ef833c4bd9b..051aa139051 100644 --- a/internal/output/html.go +++ b/internal/output/html.go @@ -9,10 +9,11 @@ import ( "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" "github.com/Masterminds/sprig" + + "github.com/rs/zerolog/log" ) func ToHTML(out Root, opts Options) ([]byte, error) { @@ -37,7 +38,7 @@ func ToHTML(out Root, opts Options) ([]byte, error) { return true } - logging.Logger.Debug().Msgf("Hiding resource with no usage: %s", resourceName) + log.Debug().Msgf("Hiding resource with no usage: %s", resourceName) return false }, "filterZeroValComponents": filterZeroValComponents, diff --git a/internal/output/output.go b/internal/output/output.go index 51222ae3134..f0e7ce67760 100644 --- a/internal/output/output.go +++ b/internal/output/output.go @@ -61,7 +61,6 @@ func (r *Root) HasUnsupportedResources() bool { type Project struct { Name string `json:"name"` - DisplayName string `json:"displayName"` Metadata *schema.ProjectMetadata `json:"metadata"` PastBreakdown *Breakdown `json:"pastBreakdown"` Breakdown *Breakdown `json:"breakdown"` @@ -73,7 +72,7 @@ type Project struct { // ToSchemaProject generates a schema.Project from a Project. The created schema.Project is not suitable to be // used outside simple schema.Project to schema.Project comparisons. It contains missing information // that cannot be inferred from a Project. -func (p *Project) ToSchemaProject() *schema.Project { +func (p Project) ToSchemaProject() *schema.Project { var pastResources []*schema.Resource if p.PastBreakdown != nil { pastResources = append(convertOutputResources(p.PastBreakdown.Resources, false), convertOutputResources(p.PastBreakdown.FreeResources, true)...) @@ -94,7 +93,6 @@ func (p *Project) ToSchemaProject() *schema.Project { return &schema.Project{ Name: p.Name, - DisplayName: p.DisplayName, Metadata: clonedMetadata, PastResources: pastResources, Resources: resources, @@ -136,7 +134,6 @@ func convertCostComponents(outComponents []CostComponent) []*schema.CostComponen HourlyQuantity: c.HourlyQuantity, MonthlyQuantity: c.MonthlyQuantity, UsageBased: c.UsageBased, - PriceNotFound: c.PriceNotFound, } sc.SetPrice(c.Price) @@ -219,10 +216,6 @@ func (r *Root) HasDiff() bool { // Label returns the display name of the project func (p *Project) Label() string { - if p.DisplayName != "" { - return p.DisplayName - } - return p.Name } @@ -279,7 +272,6 @@ type CostComponent struct { HourlyCost *decimal.Decimal `json:"hourlyCost"` MonthlyCost *decimal.Decimal `json:"monthlyCost"` UsageBased bool `json:"usageBased,omitempty"` - PriceNotFound bool `json:"priceNotFound"` } type ActualCosts struct { @@ -543,7 +535,6 @@ func outputCostComponents(costComponents []*schema.CostComponent) []CostComponen HourlyCost: c.HourlyCost, MonthlyCost: c.MonthlyCost, UsageBased: c.UsageBased, - PriceNotFound: c.PriceNotFound, }) } return comps @@ -674,7 +665,6 @@ func ToOutputFormat(c *config.Config, projects []*schema.Project) (Root, error) outProjects = append(outProjects, Project{ Name: project.Name, - DisplayName: project.DisplayName, Metadata: project.Metadata, PastBreakdown: pastBreakdown, Breakdown: breakdown, diff --git a/internal/output/table.go b/internal/output/table.go index 1ab992441ac..89ca92ffc53 100644 --- a/internal/output/table.go +++ b/internal/output/table.go @@ -7,8 +7,9 @@ import ( "github.com/jedib0t/go-pretty/v6/table" "github.com/jedib0t/go-pretty/v6/text" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" + + "github.com/rs/zerolog/log" ) func ToTable(out Root, opts Options) ([]byte, error) { @@ -215,7 +216,7 @@ func tableForBreakdown(currency string, breakdown Breakdown, fields []string, in filteredComponents := filterZeroValComponents(r.CostComponents, r.Name) filteredSubResources := filterZeroValResources(r.SubResources, r.Name) if len(filteredComponents) == 0 && len(filteredSubResources) == 0 { - logging.Logger.Debug().Msgf("Hiding resource with no usage: %s", r.Name) + log.Debug().Msgf("Hiding resource with no usage: %s", r.Name) continue } @@ -295,11 +296,7 @@ func buildCostComponentRows(t table.Writer, currency string, costComponents []Co tableRow = append(tableRow, label) if contains(fields, "price") { - if c.PriceNotFound { - tableRow = append(tableRow, "not found") - } else { - tableRow = append(tableRow, formatPrice(currency, c.Price)) - } + tableRow = append(tableRow, formatPrice(currency, c.Price)) } if contains(fields, "monthlyQuantity") { tableRow = append(tableRow, formatQuantity(c.MonthlyQuantity)) @@ -308,18 +305,10 @@ func buildCostComponentRows(t table.Writer, currency string, costComponents []Co tableRow = append(tableRow, c.Unit) } if contains(fields, "hourlyCost") { - if c.PriceNotFound { - tableRow = append(tableRow, "not found") - } else { - tableRow = append(tableRow, FormatCost2DP(currency, c.HourlyCost)) - } + tableRow = append(tableRow, FormatCost2DP(currency, c.HourlyCost)) } if contains(fields, "monthlyCost") { - if c.PriceNotFound { - tableRow = append(tableRow, "not found") - } else { - tableRow = append(tableRow, FormatCost2DP(currency, c.MonthlyCost)) - } + tableRow = append(tableRow, FormatCost2DP(currency, c.MonthlyCost)) } if contains(fields, "usageFootnote") { @@ -370,7 +359,7 @@ func filterZeroValComponents(costComponents []CostComponent, resourceName string var filteredComponents []CostComponent for _, c := range costComponents { if c.MonthlyQuantity != nil && c.MonthlyQuantity.IsZero() { - logging.Logger.Debug().Msgf("Hiding cost with no usage: %s '%s'", resourceName, c.Name) + log.Debug().Msgf("Hiding cost with no usage: %s '%s'", resourceName, c.Name) continue } @@ -385,7 +374,7 @@ func filterZeroValResources(resources []Resource, resourceName string) []Resourc filteredComponents := filterZeroValComponents(r.CostComponents, fmt.Sprintf("%s.%s", resourceName, r.Name)) filteredSubResources := filterZeroValResources(r.SubResources, fmt.Sprintf("%s.%s", resourceName, r.Name)) if len(filteredComponents) == 0 && len(filteredSubResources) == 0 { - logging.Logger.Debug().Msgf("Hiding resource with no usage: %s.%s", resourceName, r.Name) + log.Debug().Msgf("Hiding resource with no usage: %s.%s", resourceName, r.Name) continue } @@ -420,7 +409,7 @@ func breakdownSummaryTable(out Root, opts Options) string { t.AppendRow( table.Row{ - truncateMiddle(project.Label(), 64, "..."), + truncateMiddle(project.Name, 64, "..."), formatCost(out.Currency, baseline), formatCost(out.Currency, project.Breakdown.TotalMonthlyUsageCost), formatCost(out.Currency, project.Breakdown.TotalMonthlyCost), diff --git a/internal/prices/prices.go b/internal/prices/prices.go index 6ed81972803..bbbb9b779b2 100644 --- a/internal/prices/prices.go +++ b/internal/prices/prices.go @@ -1,207 +1,39 @@ package prices import ( - "encoding/json" - "fmt" "runtime" - "sort" - "strings" "sync" - "github.com/rs/zerolog" - "github.com/infracost/infracost/internal/apiclient" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" ) var ( batchSize = 5 + warningMu = &sync.Mutex{} ) -// notFoundData represents a single price not found entry -type notFoundData struct { - ResourceType string - ResourceNames []string - Count int -} - -// PriceFetcher provides a thread-safe way to aggregate 'price not found' -// data. This is used to provide a summary of missing prices at the end of a run. -// It should be used as a singleton which is shared across the application. -type PriceFetcher struct { - resources map[string]*notFoundData - components map[string]int - mux *sync.RWMutex - client *apiclient.PricingAPIClient - runCtx *config.RunContext -} - -func NewPriceFetcher(ctx *config.RunContext) *PriceFetcher { - return &PriceFetcher{ - resources: make(map[string]*notFoundData), - components: make(map[string]int), - mux: &sync.RWMutex{}, - runCtx: ctx, - client: apiclient.NewPricingAPIClient(ctx), - } -} - -// addNotFoundResult adds an instance of a missing price to the aggregator. -func (p *PriceFetcher) addNotFoundResult(result apiclient.PriceQueryResult) { - p.mux.Lock() - defer p.mux.Unlock() - - variables := result.Query.Variables - b, _ := json.MarshalIndent(variables, " ", " ") - - logging.Logger.Debug().Msgf("No products found for %s %s\n %s", result.Resource.Name, result.CostComponent.Name, string(b)) - - resource := result.Resource - - key := resource.BaseResourceType() - name := resource.BaseResourceName() - - if entry, exists := p.resources[key]; exists { - entry.Count++ - - var found bool - for _, resourceName := range entry.ResourceNames { - if resourceName == name { - found = true - break - } - } - - if !found { - entry.ResourceNames = append(entry.ResourceNames, name) - } - } else { - p.resources[key] = ¬FoundData{ - ResourceType: key, - ResourceNames: []string{name}, - Count: 1, - } - } - - // build a key for the component, this is used to aggregate the number of - // missing prices by cost component and resource type. The key is in the - // format: resource_type.cost_component_name. - componentName := strings.ToLower(result.CostComponent.Name) - pieces := strings.Split(componentName, "(") - if len(pieces) > 1 { - componentName = strings.TrimSpace(pieces[0]) - } - componentKey := fmt.Sprintf("%s.%s", key, strings.ReplaceAll(componentName, " ", "_")) - - if entry, exists := p.components[componentKey]; exists { - entry++ - p.components[componentKey] = entry - } else { - p.components[componentKey] = 1 - - } - - result.CostComponent.SetPriceNotFound() -} - -// MissingPricesComponents returns a map of missing prices by component name, component -// names are in the format: resource_type.cost_component_name. -func (p *PriceFetcher) MissingPricesComponents() []string { - p.mux.RLock() - defer p.mux.RUnlock() - - var result []string - for key, count := range p.components { - for i := 0; i < count; i++ { - result = append(result, key) - } - } - - return result -} - -// MissingPricesLen returns the number of missing prices. -func (p *PriceFetcher) MissingPricesLen() int { - p.mux.RLock() - defer p.mux.RUnlock() - - return len(p.resources) -} - -// LogWarnings writes the PriceFetcher prices to the application log. If the log level is -// above the debug level we also include resource names the log output. -func (p *PriceFetcher) LogWarnings() { - p.mux.RLock() - defer p.mux.RUnlock() - if len(p.resources) == 0 { - return - } - - var data []*notFoundData - for _, v := range p.resources { - data = append(data, v) - } - sort.Slice(data, func(i, j int) bool { - return data[i].Count > data[j].Count - }) - - level, _ := zerolog.ParseLevel(p.runCtx.Config.LogLevel) - includeResourceNames := level <= zerolog.DebugLevel - - s := strings.Builder{} - warningPad := strings.Repeat(" ", 5) - resourcePad := strings.Repeat(" ", 3) - for i, v := range data { - priceDesc := "price" - if v.Count > 1 { - priceDesc = "prices" - } - - resourceDesc := "resource" - if len(v.ResourceNames) > 1 { - resourceDesc = "resources" - } - - formattedResourceMsg := ui.FormatIfNotCI(p.runCtx, ui.WarningString, v.ResourceType) - msg := fmt.Sprintf("%d %s %s missing across %d %s\n", v.Count, formattedResourceMsg, priceDesc, len(v.ResourceNames), resourceDesc) - - // pad the next warning line so that it appears inline with the last warning. - if i > 0 { - msg = fmt.Sprintf("%s%s", warningPad, msg) - } - s.WriteString(msg) - - if includeResourceNames { - for _, resourceName := range v.ResourceNames { - name := ui.FormatIfNotCI(p.runCtx, ui.UnderlineString, resourceName) - s.WriteString(fmt.Sprintf("%s%s- %s \n", warningPad, resourcePad, name)) - } - } - } - - logging.Logger.Warn().Msg(s.String()) -} - -func (p *PriceFetcher) PopulatePrices(project *schema.Project) error { +func PopulatePrices(ctx *config.RunContext, project *schema.Project) error { resources := project.AllResources() - err := p.getPricesConcurrent(resources) + c := apiclient.GetPricingAPIClient(ctx) + + err := GetPricesConcurrent(ctx, c, resources) if err != nil { return err } return nil } -// getPricesConcurrent gets the prices of all resources concurrently. +// GetPricesConcurrent gets the prices of all resources concurrently. // Concurrency level is calculated using the following formula: // max(min(4, numCPU * 4), 16) -func (p *PriceFetcher) getPricesConcurrent(resources []*schema.Resource) error { +func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, resources []*schema.Resource) error { // Set the number of workers numWorkers := 4 numCPU := runtime.NumCPU() @@ -212,7 +44,7 @@ func (p *PriceFetcher) getPricesConcurrent(resources []*schema.Resource) error { numWorkers = 16 } - reqs := p.client.BatchRequests(resources, batchSize) + reqs := c.BatchRequests(resources, batchSize) numJobs := len(reqs) jobs := make(chan apiclient.BatchRequest, numJobs) @@ -222,7 +54,7 @@ func (p *PriceFetcher) getPricesConcurrent(resources []*schema.Resource) error { for i := 0; i < numWorkers; i++ { go func(jobs <-chan apiclient.BatchRequest, resultErrors chan<- error) { for req := range jobs { - err := p.getPrices(req) + err := GetPrices(ctx, c, req) resultErrors <- err } }(jobs, resultErrors) @@ -243,43 +75,44 @@ func (p *PriceFetcher) getPricesConcurrent(resources []*schema.Resource) error { return nil } -func (p *PriceFetcher) getPrices(req apiclient.BatchRequest) error { - results, err := p.client.PerformRequest(req) +func GetPrices(ctx *config.RunContext, c *apiclient.PricingAPIClient, req apiclient.BatchRequest) error { + results, err := c.PerformRequest(req) if err != nil { return err } for _, r := range results { - p.setCostComponentPrice(r) + setCostComponentPrice(ctx, c.Currency, r.Resource, r.CostComponent, r.Result) } return nil } -func (p *PriceFetcher) setCostComponentPrice(result apiclient.PriceQueryResult) { - currency := p.client.Currency +func setCostComponentPrice(ctx *config.RunContext, currency string, r *schema.Resource, c *schema.CostComponent, res gjson.Result) { + var p decimal.Decimal - var pp decimal.Decimal - if result.CostComponent.CustomPrice() != nil { - logging.Logger.Debug().Msgf("Using user-defined custom price %v for %s %s.", *result.CostComponent.CustomPrice(), result.Resource.Name, result.CostComponent.Name) - result.CostComponent.SetPrice(*result.CostComponent.CustomPrice()) + if c.CustomPrice() != nil { + log.Debug().Msgf("Using user-defined custom price %v for %s %s.", *c.CustomPrice(), r.Name, c.Name) + c.SetPrice(*c.CustomPrice()) return } - products := result.Result.Get("data.products").Array() + products := res.Get("data.products").Array() if len(products) == 0 { - if result.CostComponent.IgnoreIfMissingPrice { - logging.Logger.Debug().Msgf("No products found for %s %s, ignoring since IgnoreIfMissingPrice is set.", result.Resource.Name, result.CostComponent.Name) - result.Resource.RemoveCostComponent(result.CostComponent) + if c.IgnoreIfMissingPrice { + log.Debug().Msgf("No products found for %s %s, ignoring since IgnoreIfMissingPrice is set.", r.Name, c.Name) + r.RemoveCostComponent(c) return } - p.addNotFoundResult(result) + log.Warn().Msgf("No products found for %s %s, using 0.00", r.Name, c.Name) + setResourceWarningEvent(ctx, r, "No products found") + c.SetPrice(decimal.Zero) return } if len(products) > 1 { - logging.Logger.Debug().Msgf("Multiple products found for %s %s, filtering those with prices", result.Resource.Name, result.CostComponent.Name) + log.Debug().Msgf("Multiple products found for %s %s, filtering those with prices", r.Name, c.Name) } // Some resources may have identical records in CPAPI for the same product @@ -287,7 +120,7 @@ func (p *PriceFetcher) setCostComponentPrice(result apiclient.PriceQueryResult) // distinguished by their prices. However if we pick the first product it may not // have the price due to price filter and the lookup fails. Filtering the // products with prices helps to solve that. - var productsWithPrices []gjson.Result + productsWithPrices := []gjson.Result{} for _, product := range products { if len(product.Get("prices").Array()) > 0 { productsWithPrices = append(productsWithPrices, product) @@ -295,33 +128,57 @@ func (p *PriceFetcher) setCostComponentPrice(result apiclient.PriceQueryResult) } if len(productsWithPrices) == 0 { - if result.CostComponent.IgnoreIfMissingPrice { - logging.Logger.Debug().Msgf("No prices found for %s %s, ignoring since IgnoreIfMissingPrice is set.", result.Resource.Name, result.CostComponent.Name) - result.Resource.RemoveCostComponent(result.CostComponent) + if c.IgnoreIfMissingPrice { + log.Debug().Msgf("No prices found for %s %s, ignoring since IgnoreIfMissingPrice is set.", r.Name, c.Name) + r.RemoveCostComponent(c) return } - p.addNotFoundResult(result) + log.Warn().Msgf("No prices found for %s %s, using 0.00", r.Name, c.Name) + setResourceWarningEvent(ctx, r, "No prices found") + c.SetPrice(decimal.Zero) return } if len(productsWithPrices) > 1 { - logging.Logger.Debug().Msgf("Multiple products with prices found for %s %s, using the first product", result.Resource.Name, result.CostComponent.Name) + log.Warn().Msgf("Multiple products with prices found for %s %s, using the first product", r.Name, c.Name) + setResourceWarningEvent(ctx, r, "Multiple products found") } prices := productsWithPrices[0].Get("prices").Array() if len(prices) > 1 { - logging.Logger.Debug().Msgf("Multiple prices found for %s %s, using the first price", result.Resource.Name, result.CostComponent.Name) + log.Warn().Msgf("Multiple prices found for %s %s, using the first price", r.Name, c.Name) + setResourceWarningEvent(ctx, r, "Multiple prices found") } var err error - pp, err = decimal.NewFromString(prices[0].Get(currency).String()) + p, err = decimal.NewFromString(prices[0].Get(currency).String()) if err != nil { - logging.Logger.Warn().Msgf("Error converting price to '%v' (using 0.00) '%v': %s", currency, prices[0].Get(currency).String(), err.Error()) - result.CostComponent.SetPrice(decimal.Zero) + log.Warn().Msgf("Error converting price to '%v' (using 0.00) '%v': %s", currency, prices[0].Get(currency).String(), err.Error()) + setResourceWarningEvent(ctx, r, "Error converting price") + c.SetPrice(decimal.Zero) return } - result.CostComponent.SetPrice(pp) - result.CostComponent.SetPriceHash(prices[0].Get("priceHash").String()) + c.SetPrice(p) + c.SetPriceHash(prices[0].Get("priceHash").String()) +} + +func setResourceWarningEvent(ctx *config.RunContext, r *schema.Resource, msg string) { + warningMu.Lock() + defer warningMu.Unlock() + + warnings := ctx.GetResourceWarnings() + if warnings == nil { + warnings = make(map[string]map[string]int) + ctx.SetResourceWarnings(warnings) + } + + resourceWarnings := warnings[r.ResourceType] + if resourceWarnings == nil { + resourceWarnings = make(map[string]int) + warnings[r.ResourceType] = resourceWarnings + } + + resourceWarnings[msg] += 1 } diff --git a/internal/prices/prices_test.go b/internal/prices/prices_test.go deleted file mode 100644 index 881b08175dd..00000000000 --- a/internal/prices/prices_test.go +++ /dev/null @@ -1,63 +0,0 @@ -package prices - -import ( - "sync" - "testing" - - "github.com/stretchr/testify/assert" - - "github.com/infracost/infracost/internal/apiclient" - "github.com/infracost/infracost/internal/schema" -) - -func Test_notFound_Add(t *testing.T) { - type args struct { - results []apiclient.PriceQueryResult - } - tests := []struct { - name string - args args - want []string - }{ - { - name: "test aggregates resource/cost component with correct keys", - args: args{results: []apiclient.PriceQueryResult{ - { - PriceQueryKey: apiclient.PriceQueryKey{ - Resource: &schema.Resource{ResourceType: "aws_instance"}, - CostComponent: &schema.CostComponent{Name: "Compute (on-demand, foo)"}, - }, - }, - { - PriceQueryKey: apiclient.PriceQueryKey{ - Resource: &schema.Resource{ResourceType: "aws_instance"}, - CostComponent: &schema.CostComponent{Name: "Data Storage"}, - }, - }, - { - PriceQueryKey: apiclient.PriceQueryKey{ - Resource: &schema.Resource{ResourceType: "aws_instance"}, - CostComponent: &schema.CostComponent{Name: "Compute (on-demand, bar)"}, - }, - }, - }}, - want: []string{"aws_instance.compute", "aws_instance.compute", "aws_instance.data_storage"}, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - p := &PriceFetcher{ - resources: make(map[string]*notFoundData), - components: make(map[string]int), - mux: &sync.RWMutex{}, - } - for _, res := range tt.args.results { - p.addNotFoundResult(res) - - } - - actual := p.MissingPricesComponents() - assert.Equal(t, tt.want, actual) - }) - } -} diff --git a/internal/providers/cloudformation/aws/dynamodb_table.go b/internal/providers/cloudformation/aws/dynamodb_table.go index 167757b3018..de240fd1cbc 100644 --- a/internal/providers/cloudformation/aws/dynamodb_table.go +++ b/internal/providers/cloudformation/aws/dynamodb_table.go @@ -2,8 +2,8 @@ package aws import ( "github.com/awslabs/goformation/v7/cloudformation/dynamodb" + "github.com/rs/zerolog/log" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" ) @@ -21,7 +21,7 @@ func GetDynamoDBTableRegistryItem() *schema.RegistryItem { func NewDynamoDBTable(d *schema.ResourceData, u *schema.UsageData) *schema.Resource { cfr, ok := d.CFResource.(*dynamodb.Table) if !ok { - logging.Logger.Debug().Msgf("Skipping resource %s as it did not have the expected type (got %T)", d.Address, d.CFResource) + log.Warn().Msgf("Skipping resource %s as it did not have the expected type (got %T)", d.Address, d.CFResource) return nil } diff --git a/internal/providers/cloudformation/template_provider.go b/internal/providers/cloudformation/template_provider.go index ab88e7b7e86..7481e152bab 100644 --- a/internal/providers/cloudformation/template_provider.go +++ b/internal/providers/cloudformation/template_provider.go @@ -5,8 +5,8 @@ import ( "github.com/pkg/errors" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/infracost/infracost/internal/ui" ) type TemplateProvider struct { @@ -23,14 +23,6 @@ func NewTemplateProvider(ctx *config.ProjectContext, includePastResources bool) } } -func (p *TemplateProvider) ProjectName() string { - return config.CleanProjectName(p.ctx.ProjectConfig.Path) -} - -func (p *TemplateProvider) VarFiles() []string { - return nil -} - func (p *TemplateProvider) Context() *config.ProjectContext { return p.ctx } func (p *TemplateProvider) Type() string { @@ -45,17 +37,18 @@ func (p *TemplateProvider) AddMetadata(metadata *schema.ProjectMetadata) { metadata.ConfigSha = p.ctx.ProjectConfig.ConfigSha } -func (p *TemplateProvider) RelativePath() string { - return p.ctx.ProjectConfig.Path -} - func (p *TemplateProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { template, err := goformation.Open(p.Path) if err != nil { return []*schema.Project{}, errors.Wrap(err, "Error reading CloudFormation template file") } - logging.Logger.Debug().Msg("Extracting only cost-related params from cloudformation") + spinner := ui.NewSpinner("Extracting only cost-related params from cloudformation", ui.SpinnerOptions{ + EnableLogging: p.ctx.RunContext.Config.IsLogging(), + NoColor: p.ctx.RunContext.Config.NoColor, + Indent: " ", + }) + defer spinner.Fail() metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() @@ -76,5 +69,6 @@ func (p *TemplateProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proje project.PartialResources = append(project.PartialResources, item.PartialResource) } + spinner.Success() return []*schema.Project{project}, nil } diff --git a/internal/providers/detect.go b/internal/providers/detect.go index f2afc780439..c34f111f81d 100644 --- a/internal/providers/detect.go +++ b/internal/providers/detect.go @@ -18,19 +18,14 @@ import ( "github.com/infracost/infracost/internal/schema" ) -type DetectionOutput struct { - Providers []schema.Provider - RootModules int -} - // Detect returns a list of providers for the given path. Multiple returned // providers are because of auto-detected root modules residing under the // original path. -func Detect(ctx *config.RunContext, project *config.Project, includePastResources bool) (*DetectionOutput, error) { +func Detect(ctx *config.RunContext, project *config.Project, includePastResources bool) ([]schema.Provider, error) { path := project.Path if _, err := os.Stat(path); os.IsNotExist(err) { - return &DetectionOutput{}, fmt.Errorf("No such file or directory %s", path) + return nil, fmt.Errorf("No such file or directory %s", path) } forceCLI := project.TerraformForceCLI @@ -42,17 +37,17 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource switch projectType { case ProjectTypeTerraformPlanJSON: - return &DetectionOutput{Providers: []schema.Provider{terraform.NewPlanJSONProvider(projectContext, includePastResources)}, RootModules: 1}, nil + return []schema.Provider{terraform.NewPlanJSONProvider(projectContext, includePastResources)}, nil case ProjectTypeTerraformPlanBinary: - return &DetectionOutput{Providers: []schema.Provider{terraform.NewPlanProvider(projectContext, includePastResources)}, RootModules: 1}, nil + return []schema.Provider{terraform.NewPlanProvider(projectContext, includePastResources)}, nil case ProjectTypeTerraformCLI: - return &DetectionOutput{Providers: []schema.Provider{terraform.NewDirProvider(projectContext, includePastResources)}, RootModules: 1}, nil + return []schema.Provider{terraform.NewDirProvider(projectContext, includePastResources)}, nil case ProjectTypeTerragruntCLI: - return &DetectionOutput{Providers: []schema.Provider{terraform.NewTerragruntProvider(projectContext, includePastResources)}, RootModules: 1}, nil + return []schema.Provider{terraform.NewTerragruntProvider(projectContext, includePastResources)}, nil case ProjectTypeTerraformStateJSON: - return &DetectionOutput{Providers: []schema.Provider{terraform.NewStateJSONProvider(projectContext, includePastResources)}, RootModules: 1}, nil + return []schema.Provider{terraform.NewStateJSONProvider(projectContext, includePastResources)}, nil case ProjectTypeCloudFormation: - return &DetectionOutput{Providers: []schema.Provider{cloudformation.NewTemplateProvider(projectContext, includePastResources)}, RootModules: 1}, nil + return []schema.Provider{cloudformation.NewTemplateProvider(projectContext, includePastResources)}, nil } pathOverrides := make([]hcl.PathOverrideConfig, len(ctx.Config.Autodetect.PathOverrides)) @@ -83,32 +78,28 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource pl := hcl.NewProjectLocator(logging.Logger, locatorConfig) rootPaths := pl.FindRootModules(project.Path) if len(rootPaths) == 0 { - return &DetectionOutput{}, fmt.Errorf("could not detect path type for '%s'", path) + return nil, fmt.Errorf("could not detect path type for '%s'", path) } - repoPath := ctx.Config.RepoPath() var autoProviders []schema.Provider for _, rootPath := range rootPaths { - if repoPath != "" { - rootPath.RepoPath = repoPath - } - - detectedProjectContext := config.NewProjectContext(ctx, project, nil) + projectContext := config.NewProjectContext(ctx, project, nil) if rootPath.IsTerragrunt { - detectedProjectContext.ContextValues.SetValue("project_type", "terragrunt_dir") - autoProviders = append(autoProviders, terraform.NewTerragruntHCLProvider(rootPath, detectedProjectContext)) + projectContext.ContextValues.SetValue("project_type", "terragrunt_dir") + autoProviders = append(autoProviders, terraform.NewTerragruntHCLProvider(rootPath, projectContext)) } else { - detectedProjectContext.ContextValues.SetValue("project_type", "terraform_dir") + options := []hcl.Option{hcl.OptionWithSpinner(ctx.NewSpinner)} + projectContext.ContextValues.SetValue("project_type", "terraform_dir") if ctx.Config.ConfigFilePath == "" && len(project.TerraformVarFiles) == 0 { - autoProviders = append(autoProviders, autodetectedRootToProviders(pl, detectedProjectContext, rootPath)...) + autoProviders = append(autoProviders, autodetectedRootToProviders(pl, projectContext, rootPath, options...)...) } else { - autoProviders = append(autoProviders, configFileRootToProvider(rootPath, nil, detectedProjectContext, pl)) + autoProviders = append(autoProviders, configFileRootToProvider(rootPath, options, projectContext, pl)) } } } - return &DetectionOutput{Providers: autoProviders, RootModules: len(rootPaths)}, nil + return autoProviders, nil } // configFileRootToProvider returns a provider for the given root path which is diff --git a/internal/providers/terraform/aws/autoscaling_group.go b/internal/providers/terraform/aws/autoscaling_group.go index e020773c1e0..8c265084de9 100644 --- a/internal/providers/terraform/aws/autoscaling_group.go +++ b/internal/providers/terraform/aws/autoscaling_group.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" @@ -41,7 +41,7 @@ func NewAutoscalingGroup(d *schema.ResourceData) schema.CoreResource { } else { instanceCount = d.Get("min_size").Int() if instanceCount == 0 { - logging.Logger.Debug().Msgf("Using instance count 1 for %s since no desired_capacity or non-zero min_size is set. To override this set the instance_count attribute for this resource in the Infracost usage file.", a.Address) + log.Debug().Msgf("Using instance count 1 for %s since no desired_capacity or non-zero min_size is set. To override this set the instance_count attribute for this resource in the Infracost usage file.", a.Address) instanceCount = 1 } } diff --git a/internal/providers/terraform/aws/aws.go b/internal/providers/terraform/aws/aws.go index 0d47758ffbc..2546ef0fd1f 100644 --- a/internal/providers/terraform/aws/aws.go +++ b/internal/providers/terraform/aws/aws.go @@ -3,9 +3,9 @@ package aws import ( "strings" + "github.com/rs/zerolog/log" "github.com/tidwall/gjson" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -89,7 +89,7 @@ func GetResourceRegion(resourceType string, v gjson.Result) string { arn := v.Get(arnAttr).String() p := strings.Split(arn, ":") if len(p) < 4 { - logging.Logger.Debug().Msgf("Unexpected ARN format for %s", arn) + log.Debug().Msgf("Unexpected ARN format for %s", arn) return "" } diff --git a/internal/providers/terraform/aws/directory_service_directory.go b/internal/providers/terraform/aws/directory_service_directory.go index 7c105b5ad36..213df710ce0 100644 --- a/internal/providers/terraform/aws/directory_service_directory.go +++ b/internal/providers/terraform/aws/directory_service_directory.go @@ -4,7 +4,8 @@ import ( "regexp" "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" ) @@ -22,7 +23,7 @@ func newDirectoryServiceDirectory(d *schema.ResourceData) schema.CoreResource { region := d.Get("region").String() regionName, ok := aws.RegionMapping[region] if !ok { - logging.Logger.Warn().Msgf("Could not find mapping for resource %s region %s", d.Address, region) + log.Warn().Msgf("Could not find mapping for resource %s region %s", d.Address, region) } a := &aws.DirectoryServiceDirectory{ diff --git a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden index 64b25bf3110..dde2b4618dd 100644 --- a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden +++ b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.75 ┃ $0.75 ┃ +┃ TestACMCertificateGoldenFile ┃ $0.00 ┃ $0.75 ┃ $0.75 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden index 29c6b767a0d..7a6eefa8274 100644 --- a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden +++ b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,700 ┃ $9,720 ┃ $11,420 ┃ +┃ TestACMPCACertificateAuthorityFunction ┃ $1,700 ┃ $9,720 ┃ $11,420 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden index 1cf5d1e0ba9..d76da01d8dd 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $49,763 ┃ $49,763 ┃ +┃ TestApiGatewayRestApiGoldenFile ┃ $0.00 ┃ $49,763 ┃ $49,763 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden index 1f249deb4c1..cefc8eeab40 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,789 ┃ $0.00 ┃ $2,789 ┃ +┃ TestApiGatewayStageGoldenFile ┃ $2,789 ┃ $0.00 ┃ $2,789 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden index 9beb101e893..c536fa7f45d 100644 --- a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden +++ b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $2,333 ┃ $2,333 ┃ +┃ TestApiGatewayv2ApiGoldenFile ┃ $0.00 ┃ $2,333 ┃ $2,333 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden index aebf0e18177..7152d374558 100644 --- a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden +++ b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden @@ -198,9 +198,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3,585 ┃ $0.00 ┃ $3,585 ┃ +┃ TestAutoscalingGroup ┃ $3,585 ┃ $0.00 ┃ $3,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource aws_launch_configuration.lc_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Configurations -WARN Skipping resource aws_launch_template.lt_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Templates \ No newline at end of file +WRN Skipping resource aws_launch_configuration.lc_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Configurations +WRN Skipping resource aws_launch_template.lt_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Templates \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden index d2594cfada3..8380da537d7 100644 --- a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden +++ b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden @@ -40,5 +40,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $12,960 ┃ $12,960 ┃ +┃ TestBackupVault ┃ $0.00 ┃ $12,960 ┃ $12,960 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden index 3d515e8d242..df938f7afd6 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ TestCloudFirmationStackSet ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden index 42b4b3b5dad..2acc1d3f31c 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ TestCloudFirmationStack ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden index c2887c9c01a..52f5acb9af7 100644 --- a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden @@ -186,5 +186,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $21,684,502 ┃ $21,684,502 ┃ +┃ TestCloudfrontDistributionGoldenFile ┃ $0.00 ┃ $21,684,502 ┃ $21,684,502 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden index 06fe6ba2b21..d904c457916 100644 --- a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1,328 ┃ $1,328 ┃ +┃ TestCloudHSMv2HSM ┃ $0.00 ┃ $1,328 ┃ $1,328 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden index 5f9071cc2b4..7b994b44172 100644 --- a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $3 ┃ $3 ┃ +┃ TestCloudtrailGoldenFile ┃ $0.00 ┃ $3 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden index 5c2da6d6d1a..c6c355975c9 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3 ┃ $0.00 ┃ $3 ┃ +┃ TestCloudwatchDashboard ┃ $3 ┃ $0.00 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden index 8f62e193768..e0d22f7b981 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $18 ┃ $18 ┃ +┃ TestCloudwatchEventBus ┃ $0.00 ┃ $18 ┃ $18 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden index 4d081439b3c..8ee7b2100b2 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $2,065 ┃ $2,065 ┃ +┃ TestCloudwatchLogGroup ┃ $0.00 ┃ $2,065 ┃ $2,065 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden index ef9e40606be..d86d0bde587 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2 ┃ $0.00 ┃ $2 ┃ +┃ TestCloudwatchMetricAlarm ┃ $2 ┃ $0.00 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden index 73880b1b540..7fd414f035b 100644 --- a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden +++ b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $5,705 ┃ $5,705 ┃ +┃ TestCloudbuildProject ┃ $0.00 ┃ $5,705 ┃ $5,705 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden index ded194708a0..fe01adbdb37 100644 --- a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $670 ┃ $670 ┃ +┃ TestConfigConfigRule ┃ $0.00 ┃ $670 ┃ $670 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden index dff5672a452..4f9621aeb4d 100644 --- a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden +++ b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ TestConfigurationGoldenFile ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden index f1d19dc6c17..75f50aa05a5 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $470 ┃ $470 ┃ +┃ TestOrganizationCustomRuleGoldenFile ┃ $0.00 ┃ $470 ┃ $470 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden index 40ee59b31ce..c10cf030aa6 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $470 ┃ $470 ┃ +┃ TestOrganizationManagedRuleGoldenFile ┃ $0.00 ┃ $470 ┃ $470 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden index c111bdbe978..2f3b9a04bac 100644 --- a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden +++ b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden @@ -229,5 +229,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $363,015 ┃ $363,015 ┃ +┃ TestDataTransferGoldenFile ┃ $0.00 ┃ $363,015 ┃ $363,015 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden index d64ae41b0b6..73284e323bd 100644 --- a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden @@ -317,5 +317,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $10,719 ┃ $1,161 ┃ $11,880 ┃ +┃ TestDBInstanceGoldenFile ┃ $10,719 ┃ $1,161 ┃ $11,880 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden index b78c392f25e..079eb1f55fd 100644 --- a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden +++ b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $905 ┃ $390 ┃ $1,295 ┃ +┃ TestDirectoryServiceDirectoryGoldenFile ┃ $905 ┃ $390 ┃ $1,295 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden index 77a6ac2a5f6..22f84f910db 100644 --- a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden +++ b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $44 ┃ $0.00 ┃ $44 ┃ +┃ TestNewNewDMSReplicationInstanceGoldenFile ┃ $44 ┃ $0.00 ┃ $44 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden index ad9bb24811d..6521eb9e105 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden @@ -46,5 +46,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3,463 ┃ $410 ┃ $3,873 ┃ +┃ TestDocDBClusterInstanceGoldenFile ┃ $3,463 ┃ $410 ┃ $3,873 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden index f03f5124065..3a0f21c74b5 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $42 ┃ $42 ┃ +┃ TestDocDBClusterSnapshotGoldenFile ┃ $0.00 ┃ $42 ┃ $42 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden index 8238c01576f..4fd50e0837c 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $420 ┃ $420 ┃ +┃ TestNewDocDBClusterGoldenFile ┃ $0.00 ┃ $420 ┃ $420 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden index d504987ceaf..5b6338c5728 100644 --- a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $657 ┃ $302 ┃ $959 ┃ +┃ TestDXConnectionGoldenFile ┃ $657 ┃ $302 ┃ $959 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden index e45afb2ed5c..c390c552ffb 100644 --- a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $73 ┃ $2 ┃ $75 ┃ +┃ TestDXGatewayAssociationGoldenFile ┃ $73 ┃ $2 ┃ $75 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden index eb7b606cec0..da1e9da54bb 100644 --- a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden +++ b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden @@ -78,5 +78,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $106 ┃ $657 ┃ $763 ┃ +┃ TestDynamoDBTableGoldenFile ┃ $106 ┃ $657 ┃ $763 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden index fd60cc88dd2..3ce08e910af 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1 ┃ $1 ┃ $2 ┃ +┃ TestEBSSnapshotCopyGoldenFile ┃ $1 ┃ $1 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden index c608c3b58c9..f53c5e24f7d 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1 ┃ $77 ┃ $78 ┃ +┃ TestEBSSnapshotGoldenFile ┃ $1 ┃ $77 ┃ $78 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden index 2bd494326dd..df0806d1f82 100644 --- a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $60 ┃ $0.05 ┃ $61 ┃ +┃ TestEBSVolumeGoldenFile ┃ $60 ┃ $0.05 ┃ $61 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden index 3a5cfb655c7..66d7baca8df 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ TestEC2ClientVpnEndpointGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden index 10188c99db0..b1d491b4cf2 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $73 ┃ $0.00 ┃ $73 ┃ +┃ TestEC2ClientVpnNetworkAssociationGoldenFile ┃ $73 ┃ $0.00 ┃ $73 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden index 41eac9ebe46..29f51b827b6 100644 --- a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $8,391 ┃ $0.00 ┃ $8,391 ┃ +┃ TestEC2Host ┃ $8,391 ┃ $0.00 ┃ $8,391 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden index 425ad24d8f5..f84b00361a0 100644 --- a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $11 ┃ $0.00 ┃ $11 ┃ +┃ TestEC2TrafficMirrorSessionGoldenFile ┃ $11 ┃ $0.00 ┃ $11 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden index ce40099f969..a8c4f407cc2 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ TestEC2TransitGatewayPeeringAttachmentGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden index 024409e5927..217f39aae7c 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ TestEC2TransitGatewayVpcAttachmentGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden index cc20bdfb737..a3f430ae61f 100644 --- a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden +++ b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.10 ┃ $0.10 ┃ +┃ TestEcrRepositoryGoldenFile ┃ $0.00 ┃ $0.10 ┃ $0.10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden index e10905fd2dd..9fba3604009 100644 --- a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden +++ b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,349 ┃ $0.00 ┃ $2,349 ┃ +┃ TestECSServiceGoldenFile ┃ $2,349 ┃ $0.00 ┃ $2,349 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden index 667dd3c4bec..79749719c7f 100644 --- a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $713 ┃ $713 ┃ +┃ TestNewEFSFileSystemStandardStorage ┃ $0.00 ┃ $713 ┃ $713 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden index 7d9c2003a82..136adff589f 100644 --- a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden +++ b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $84 ┃ $0.00 ┃ $84 ┃ +┃ TestEIP ┃ $84 ┃ $0.00 ┃ $84 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden index 0c6895e183a..eba351089ff 100644 --- a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,314 ┃ $0.00 ┃ $1,314 ┃ +┃ TestEKSClusterGoldenFile ┃ $1,314 ┃ $0.00 ┃ $1,314 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden index 9bf7c3f5e89..b8b462fc93e 100644 --- a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $106 ┃ $0.00 ┃ $106 ┃ +┃ TestEKSFargateProfileGoldenFile ┃ $106 ┃ $0.00 ┃ $106 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden index 95ca74d7307..6af584480ae 100644 --- a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden @@ -76,5 +76,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,762 ┃ $0.00 ┃ $2,762 ┃ +┃ TestEKSNodeGroupGoldenFile ┃ $2,762 ┃ $0.00 ┃ $2,762 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden index 4dfb67952b5..358091cb6ac 100644 --- a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden @@ -83,5 +83,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,959 ┃ $926 ┃ $2,885 ┃ +┃ TestElasticBeanstalkEnvironmentGoldenFile ┃ $1,959 ┃ $926 ┃ $2,885 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden index 9e1f3d43206..6ea6627241e 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden @@ -35,5 +35,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $10,634 ┃ $850 ┃ $11,484 ┃ +┃ TestElastiCacheCluster ┃ $10,634 ┃ $850 ┃ $11,484 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden index cfaceac3127..1dd6104353b 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $13,387 ┃ $10,021 ┃ $23,409 ┃ +┃ TestElastiCacheReplicationGroup ┃ $13,387 ┃ $10,021 ┃ $23,409 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden index f152b333e91..0da92abb209 100644 --- a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden @@ -69,5 +69,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $15,972 ┃ $0.00 ┃ $15,972 ┃ +┃ TestElasticsearchDomain ┃ $15,972 ┃ $0.00 ┃ $15,972 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden index eb2b95fd44b..922d8069a00 100644 --- a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden +++ b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $37 ┃ $80 ┃ $117 ┃ +┃ TestELB ┃ $37 ┃ $80 ┃ $117 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden index 301a853c1b4..ac38921b7b3 100644 --- a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,149 ┃ $0.00 ┃ $1,149 ┃ +┃ TestFSXOpenZFSFS ┃ $1,149 ┃ $0.00 ┃ $1,149 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden index aaf2d987b0d..df80d893e74 100644 --- a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $18,585 ┃ $1,000 ┃ $19,585 ┃ +┃ TestFSXWindowsFS ┃ $18,585 ┃ $1,000 ┃ $19,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden index a8d7e9d306d..b46eb0629b8 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $19,161,650 ┃ $19,161,650 ┃ +┃ TestGlobalAcceleratorEndpointGroup ┃ $0.00 ┃ $19,161,650 ┃ $19,161,650 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden index f8b6710d02f..1d2c6baacd7 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $18 ┃ $0.00 ┃ $18 ┃ +┃ TestGlobalAccelerator ┃ $18 ┃ $0.00 ┃ $18 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden index 50bff755b69..8bf586d2c2b 100644 --- a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $302 ┃ $302 ┃ +┃ TestGlueCatalogDatabaseGoldenFile ┃ $0.00 ┃ $302 ┃ $302 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden index d76f73ee1ba..2a54d1bae0e 100644 --- a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $26 ┃ $26 ┃ +┃ TestGlueCrawlerGoldenFile ┃ $0.00 ┃ $26 ┃ $26 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden index 5612192bb29..8841b0b66c4 100644 --- a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden @@ -30,5 +30,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1,320 ┃ $1,320 ┃ +┃ TestGlueJobGoldenFile ┃ $0.00 ┃ $1,320 ┃ $1,320 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden index ed435ccc9ea..ded2db4b339 100644 --- a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden +++ b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden @@ -195,8 +195,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,090 ┃ $0.00 ┃ $2,090 ┃ +┃ TestInstanceGoldenFile ┃ $2,090 ┃ $0.00 ┃ $2,090 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource aws_instance.instance1_hostTenancy. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up \ No newline at end of file +WRN Skipping resource aws_instance.instance1_hostTenancy. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden index a91f4553001..c4b5a6d0988 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden @@ -60,5 +60,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $247,199 ┃ $419,104 ┃ $666,303 ┃ +┃ TestKinesisFirehoseDeliveryStream ┃ $247,199 ┃ $419,104 ┃ $666,303 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden index 19c392c3426..944a5348c59 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden @@ -80,5 +80,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $226 ┃ $19 ┃ $245 ┃ +┃ TestKinesisStream ┃ $226 ┃ $19 ┃ $245 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden index 920eb64c186..4ed2810a714 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $927 ┃ $927 ┃ +┃ TestKinesisAnalyticsApplicationGoldenFile ┃ $0.00 ┃ $927 ┃ $927 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden index fc5f2abcb7b..58369ab7907 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden @@ -28,8 +28,8 @@ ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $185 ┃ $2 ┃ $188 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestKinesisAnalyticsV2ApplicationSnapshotGoldenFile ┃ $185 ┃ $2 ┃ $188 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden index 496ea8b5d88..c5bac70514e 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $185 ┃ $1,915 ┃ $2,100 ┃ +┃ TestKinesisAnalyticsV2ApplicationGoldenFile ┃ $185 ┃ $1,915 ┃ $2,100 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden index c33dfa30438..a0c7cd046c3 100644 --- a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ TestKMSExternalKeyGoldenFile ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden index e9aaed2427a..70225fe9c7b 100644 --- a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3 ┃ $0.00 ┃ $3 ┃ +┃ TestKMSKey ┃ $3 ┃ $0.00 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden index 5db18798155..5934f53d289 100644 --- a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden @@ -68,5 +68,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1,282,286 ┃ $1,282,286 ┃ +┃ TestLambdaFunctionGoldenFile ┃ $0.00 ┃ $1,282,286 ┃ $1,282,286 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden index 6d3d3d83236..5628581ad25 100644 --- a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $46 ┃ $46 ┃ +┃ TestLambdaProvisionedConcurrencyConfig ┃ $0.00 ┃ $46 ┃ $46 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden index a20c9717aed..12c5ee6bf42 100644 --- a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $82 ┃ $14 ┃ $96 ┃ +┃ TestLBGoldenFile ┃ $82 ┃ $14 ┃ $96 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden index 364412fb3ac..e859265c5dc 100644 --- a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $98 ┃ $0.00 ┃ $98 ┃ +┃ TestLightsailInstanceGoldenFile ┃ $98 ┃ $0.00 ┃ $98 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden index f22e0b07e93..e53e58c56df 100644 --- a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden +++ b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,146 ┃ $3 ┃ $2,149 ┃ +┃ TestMQBrokerGoldenFile ┃ $2,146 ┃ $3 ┃ $2,149 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden index 3576541dd92..9080c0c0836 100644 --- a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $29,633 ┃ $771 ┃ $30,405 ┃ +┃ TestMSKClusterGoldenFile ┃ $29,633 ┃ $771 ┃ $30,405 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden index c2178b08cc5..842859dc689 100644 --- a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden @@ -30,5 +30,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,504 ┃ $100 ┃ $2,604 ┃ +┃ TestMWAAEnvironmentGoldenFile ┃ $2,504 ┃ $100 ┃ $2,604 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden index 14bc51fa175..603775af00d 100644 --- a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $66 ┃ $5 ┃ $70 ┃ +┃ TestNATGatewayGoldenFile ┃ $66 ┃ $5 ┃ $70 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden index 4025dc5ca17..9b7c3c4c929 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $869 ┃ $1,095 ┃ $1,964 ┃ +┃ TestNeptuneClusterInstanceGoldenFile ┃ $869 ┃ $1,095 ┃ $1,964 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden index cb84b0a7292..0766a3b59a3 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $22 ┃ $22 ┃ +┃ TestNeptuneClusterSnapshotGoldenFile ┃ $0.00 ┃ $22 ┃ $22 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden index 142aa68d78b..52dea73d398 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestNeptuneClusterGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden index 138a5e043b4..53662bfdbaf 100644 --- a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden +++ b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $577 ┃ $7 ┃ $583 ┃ +┃ TestNetworkfirewallFirewallGoldenFile ┃ $577 ┃ $7 ┃ $583 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden index 0933ed12979..2092e7f133c 100644 --- a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $6,150 ┃ $0.00 ┃ $6,150 ┃ +┃ TestOpensearchDomain ┃ $6,150 ┃ $0.00 ┃ $6,150 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden index c064a881490..592bc741e07 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden @@ -92,5 +92,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,807 ┃ $10 ┃ $5,817 ┃ +┃ TestRDSClusterInstanceGoldenFile ┃ $5,807 ┃ $10 ┃ $5,817 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden index 63fcd000e4a..e0555a1edcc 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden @@ -58,5 +58,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $176,131 ┃ $176,131 ┃ +┃ TestRDSClusterGoldenFile ┃ $0.00 ┃ $176,131 ┃ $176,131 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden index 8291fcc51d4..6a33d152c50 100644 --- a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden @@ -40,5 +40,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $29,492 ┃ $13,485 ┃ $42,977 ┃ +┃ TestRedshiftClusterGoldenFile ┃ $29,492 ┃ $13,485 ┃ $42,977 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden index 2f92b749ad8..89a55033c92 100644 --- a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $36 ┃ $0.00 ┃ $36 ┃ +┃ TestGetRoute53HealthCheckGoldenFile ┃ $36 ┃ $0.00 ┃ $36 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden index 5344ea7f630..ec2fe0e26a8 100644 --- a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1 ┃ $1,955 ┃ $1,956 ┃ +┃ TestRoute53RecordGoldenFile ┃ $1 ┃ $1,955 ┃ $1,956 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden index 94a68bfe117..f097453e703 100644 --- a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $548 ┃ $640 ┃ $1,188 ┃ +┃ TestRoute53ResolverEndpointGoldenFile ┃ $548 ┃ $640 ┃ $1,188 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden index d43edfe3d4b..9db5aa49db4 100644 --- a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $0.00 ┃ $0.50 ┃ +┃ TestRoute53ZoneGoldenFile ┃ $0.50 ┃ $0.00 ┃ $0.50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden index a1d54863997..c16bde92ed3 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ TestS3AnalyticsConfigurationGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden index e75ab1ec3c4..c239c80379a 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.03 ┃ $0.03 ┃ +┃ TestS3BucketInventoryGoldenFile ┃ $0.00 ┃ $0.03 ┃ $0.03 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden index def2b20c00d..63c3b5f74e3 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden @@ -217,5 +217,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ TestS3BucketLifecycleConfigurationGoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden index 7624d413ab3..e1f0d854f0d 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden @@ -82,5 +82,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ TestS3BucketGoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden index ba0b1caf340..b20b8a94602 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden @@ -138,5 +138,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ TestS3BucketV3GoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden index 5af34d1c99b..18c28b0ee81 100644 --- a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden +++ b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.80 ┃ $0.50 ┃ $1 ┃ +┃ TestAwsSecretsManagerSecretGoldenFile ┃ $0.80 ┃ $0.50 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden index 110e4d578f3..2cfce88b78f 100644 --- a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden +++ b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $759 ┃ $759 ┃ +┃ TestSFnStateMachineGoldenFile ┃ $0.00 ┃ $759 ┃ $759 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden index 131d50b8b22..77ade511e75 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ TestSNSTopicSubscriptionGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden index b8600752d23..b5c4d8101ff 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $34 ┃ $34 ┃ +┃ TestSNSTopicGoldenFile ┃ $0.00 ┃ $34 ┃ $34 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden index 99114c03c15..29eec1e9b1b 100644 --- a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden +++ b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ TestSQSQueueGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden index 9ef657d317c..d76533171ce 100644 --- a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $507 ┃ $507 ┃ +┃ TestAwsSSMActivationfuncGoldenFile ┃ $0.00 ┃ $507 ┃ $507 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden index b8115056db6..b948bfde9d5 100644 --- a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.59 ┃ $0.59 ┃ +┃ TestAwsSSMParameterGoldenFile ┃ $0.00 ┃ $0.59 ┃ $0.59 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden index d6530673440..32f5f84f9e1 100644 --- a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden +++ b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $876 ┃ $2 ┃ $878 ┃ +┃ TestTransferServerGoldenFile ┃ $876 ┃ $2 ┃ $878 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden index 84590fda354..80078dbe2bb 100644 --- a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $58 ┃ $52 ┃ $110 ┃ +┃ TestVpcEndpointGoldenFile ┃ $58 ┃ $52 ┃ $110 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden index 6dfe5bd016c..9b4fad4f573 100644 --- a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $219 ┃ $2 ┃ $221 ┃ +┃ TestVPNConnectionGoldenFile ┃ $219 ┃ $2 ┃ $221 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden index f8055618330..4745322f192 100644 --- a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden @@ -31,5 +31,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $31 ┃ $7 ┃ $38 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestWAFWebACLGoldenFile ┃ $31 ┃ $7 ┃ $38 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN Multiple prices found for aws_waf_web_acl.my_waf Requests, using the first price +WRN Multiple prices found for aws_waf_web_acl.withoutUsage Requests, using the first price \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden index dbb879d17c2..7749d5e83c5 100644 --- a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $27 ┃ $5 ┃ $32 ┃ +┃ TestWAFv2WebACLGoldenFile ┃ $27 ┃ $5 ┃ $32 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/cdn_endpoint.go b/internal/providers/terraform/azure/cdn_endpoint.go index 082d35bed41..f531167deba 100644 --- a/internal/providers/terraform/azure/cdn_endpoint.go +++ b/internal/providers/terraform/azure/cdn_endpoint.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" ) @@ -35,7 +35,7 @@ func NewAzureRMCDNEndpoint(d *schema.ResourceData, u *schema.UsageData) *schema. } if len(strings.Split(sku, "_")) != 2 || strings.ToLower(sku) == "standard_chinacdn" { - logging.Logger.Warn().Msgf("Unrecognized/unsupported CDN sku format for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognized/unsupported CDN sku format for resource %s: %s", d.Address, sku) return nil } diff --git a/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go b/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go index 1c8018f0073..cb7fcbef135 100644 --- a/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go +++ b/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -38,7 +38,7 @@ func NewAzureRMCosmosdb(d *schema.ResourceData, u *schema.UsageData) *schema.Res CostComponents: cosmosDBCostComponents(d, u, account), } } - logging.Logger.Warn().Msgf("Skipping resource %s as its 'account_name' property could not be found.", d.Address) + log.Warn().Msgf("Skipping resource %s as its 'account_name' property could not be found.", d.Address) return nil } @@ -51,7 +51,7 @@ func cosmosDBCostComponents(d *schema.ResourceData, u *schema.UsageData, account // expressions evaluating as nil, e.g. using a data block. If the geoLocations variable is empty // we set it as a sane default which is using the location from the parent region. if len(geoLocations) == 0 { - logging.Logger.Debug().Str( + log.Debug().Str( "resource", d.Address, ).Msgf("empty set of geo_location attributes provided using fallback region %s", region) diff --git a/internal/providers/terraform/azure/cosmosdb_cassandra_table.go b/internal/providers/terraform/azure/cosmosdb_cassandra_table.go index c00ac9267f2..17dc2528e52 100644 --- a/internal/providers/terraform/azure/cosmosdb_cassandra_table.go +++ b/internal/providers/terraform/azure/cosmosdb_cassandra_table.go @@ -1,7 +1,8 @@ package azure import ( - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/schema" ) @@ -26,9 +27,9 @@ func NewAzureRMCosmosdbCassandraTable(d *schema.ResourceData, u *schema.UsageDat CostComponents: cosmosDBCostComponents(d, u, account), } } - logging.Logger.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id.account_name' property could not be found.", d.Address) + log.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id.account_name' property could not be found.", d.Address) return nil } - logging.Logger.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id' property could not be found.", d.Address) + log.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id' property could not be found.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/cosmosdb_mongo_collection.go b/internal/providers/terraform/azure/cosmosdb_mongo_collection.go index 028b4f6a50a..2317ce70703 100644 --- a/internal/providers/terraform/azure/cosmosdb_mongo_collection.go +++ b/internal/providers/terraform/azure/cosmosdb_mongo_collection.go @@ -1,7 +1,8 @@ package azure import ( - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/schema" ) @@ -27,9 +28,9 @@ func NewAzureRMCosmosdbMongoCollection(d *schema.ResourceData, u *schema.UsageDa CostComponents: cosmosDBCostComponents(d, u, account), } } - logging.Logger.Warn().Msgf("Skipping resource %s as its 'database_name.account_name' property could not be found.", d.Address) + log.Warn().Msgf("Skipping resource %s as its 'database_name.account_name' property could not be found.", d.Address) return nil } - logging.Logger.Warn().Msgf("Skipping resource %s as its 'database_name' property could not be found.", d.Address) + log.Warn().Msgf("Skipping resource %s as its 'database_name' property could not be found.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/key_vault_certificate.go b/internal/providers/terraform/azure/key_vault_certificate.go index b40364e5050..77e913c5c75 100644 --- a/internal/providers/terraform/azure/key_vault_certificate.go +++ b/internal/providers/terraform/azure/key_vault_certificate.go @@ -1,11 +1,11 @@ package azure import ( + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "golang.org/x/text/cases" "golang.org/x/text/language" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -29,7 +29,7 @@ func NewAzureRMKeyVaultCertificate(d *schema.ResourceData, u *schema.UsageData) if len(keyVault) > 0 { skuName = cases.Title(language.English).String(keyVault[0].Get("sku_name").String()) } else { - logging.Logger.Warn().Msgf("Skipping resource %s. Could not find its 'key_vault_id.sku_name' property.", d.Address) + log.Warn().Msgf("Skipping resource %s. Could not find its 'key_vault_id.sku_name' property.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/key_vault_key.go b/internal/providers/terraform/azure/key_vault_key.go index 8a39862bc77..286751c1f8f 100644 --- a/internal/providers/terraform/azure/key_vault_key.go +++ b/internal/providers/terraform/azure/key_vault_key.go @@ -3,12 +3,12 @@ package azure import ( "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" "golang.org/x/text/cases" "golang.org/x/text/language" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" ) @@ -31,7 +31,7 @@ func NewAzureRMKeyVaultKey(d *schema.ResourceData, u *schema.UsageData) *schema. if len(keyVault) > 0 { skuName = cases.Title(language.English).String(keyVault[0].Get("sku_name").String()) } else { - logging.Logger.Warn().Msgf("Skipping resource %s. Could not find its 'sku_name' property on key_vault_id.", d.Address) + log.Warn().Msgf("Skipping resource %s. Could not find its 'sku_name' property on key_vault_id.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/mariadb_server.go b/internal/providers/terraform/azure/mariadb_server.go index dbace893d41..2e151149bb1 100644 --- a/internal/providers/terraform/azure/mariadb_server.go +++ b/internal/providers/terraform/azure/mariadb_server.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -30,7 +30,7 @@ func NewAzureRMMariaDBServer(d *schema.ResourceData, u *schema.UsageData) *schem family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - logging.Logger.Warn().Msgf("Unrecognised MariaDB SKU format for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised MariaDB SKU format for resource %s: %s", d.Address, sku) return nil } @@ -41,7 +41,7 @@ func NewAzureRMMariaDBServer(d *schema.ResourceData, u *schema.UsageData) *schem }[tier] if tierName == "" { - logging.Logger.Warn().Msgf("Unrecognised MariaDB tier prefix for resource %s: %s", d.Address, tierName) + log.Warn().Msgf("Unrecognised MariaDB tier prefix for resource %s: %s", d.Address, tierName) return nil } diff --git a/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go b/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go index c6ef4cb4cd5..8367615d91e 100644 --- a/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go +++ b/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go @@ -2,8 +2,8 @@ package azure import ( duration "github.com/channelmeter/iso8601duration" + "github.com/rs/zerolog/log" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -24,7 +24,7 @@ func newMonitorScheduledQueryRulesAlertV2(d *schema.ResourceData) schema.CoreRes freq := int64(1) ef, err := duration.FromString(d.Get("evaluation_frequency").String()) if err != nil { - logging.Logger.Warn().Str( + log.Warn().Str( "resource", d.Address, ).Msgf("failed to parse ISO8061 duration string '%s' using 1 minute frequency", d.Get("evaluation_frequency").String()) } else { diff --git a/internal/providers/terraform/azure/mssql_database.go b/internal/providers/terraform/azure/mssql_database.go index 849b953f645..a9a53b068f3 100644 --- a/internal/providers/terraform/azure/mssql_database.go +++ b/internal/providers/terraform/azure/mssql_database.go @@ -5,7 +5,8 @@ import ( "strconv" "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -95,7 +96,7 @@ func newAzureRMMSSQLDatabase(d *schema.ResourceData) schema.CoreResource { } else if !dtuMap.usesDTUUnits(sku) { c, err := parseMSSQLSku(d.Address, sku) if err != nil { - logging.Logger.Warn().Msgf(err.Error()) + log.Warn().Msgf(err.Error()) return nil } diff --git a/internal/providers/terraform/azure/mysql_flexible_server.go b/internal/providers/terraform/azure/mysql_flexible_server.go index e0effcc6b77..a7c37478d8e 100644 --- a/internal/providers/terraform/azure/mysql_flexible_server.go +++ b/internal/providers/terraform/azure/mysql_flexible_server.go @@ -4,7 +4,8 @@ import ( "regexp" "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -26,7 +27,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { s := strings.Split(sku, "_") if len(s) < 3 || len(s) > 4 { - logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server SKU format for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised MySQL Flexible Server SKU format for resource %s: %s", d.Address, sku) return nil } @@ -41,7 +42,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { supportedTiers := []string{"b", "gp", "mo"} if !contains(supportedTiers, tier) { - logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised MySQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) return nil } @@ -49,7 +50,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { coreRegex := regexp.MustCompile(`(\d+)`) match := coreRegex.FindStringSubmatch(size) if len(match) < 1 { - logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server size for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised MySQL Flexible Server size for resource %s: %s", d.Address, sku) return nil } } diff --git a/internal/providers/terraform/azure/mysql_server.go b/internal/providers/terraform/azure/mysql_server.go index 24df5dff8e9..fb327a0a52b 100644 --- a/internal/providers/terraform/azure/mysql_server.go +++ b/internal/providers/terraform/azure/mysql_server.go @@ -4,7 +4,8 @@ import ( "fmt" "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/schema" "github.com/shopspring/decimal" @@ -30,7 +31,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - logging.Logger.Warn().Msgf("Unrecognised MySQL SKU format for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised MySQL SKU format for resource %s: %s", d.Address, sku) return nil } @@ -41,7 +42,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. }[tier] if tierName == "" { - logging.Logger.Warn().Msgf("Unrecognised MySQL tier prefix for resource %s: %s", d.Address, tierName) + log.Warn().Msgf("Unrecognised MySQL tier prefix for resource %s: %s", d.Address, tierName) return nil } @@ -49,7 +50,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. skuName := fmt.Sprintf("%s vCore", cores) name := fmt.Sprintf("Compute (%s)", sku) - logging.Logger.Debug().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) + log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) costComponents = append(costComponents, databaseComputeInstance(region, name, serviceName, productNameRegex, skuName)) diff --git a/internal/providers/terraform/azure/postgresql_flexible_server.go b/internal/providers/terraform/azure/postgresql_flexible_server.go index d64609ddd54..65a13378ea8 100644 --- a/internal/providers/terraform/azure/postgresql_flexible_server.go +++ b/internal/providers/terraform/azure/postgresql_flexible_server.go @@ -4,7 +4,8 @@ import ( "regexp" "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -25,7 +26,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { s := strings.Split(sku, "_") if len(s) < 3 || len(s) > 4 { - logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server SKU format for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server SKU format for resource %s: %s", d.Address, sku) return nil } @@ -40,7 +41,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { supportedTiers := []string{"b", "gp", "mo"} if !contains(supportedTiers, tier) { - logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) return nil } @@ -48,7 +49,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { coreRegex := regexp.MustCompile(`(\d+)`) match := coreRegex.FindStringSubmatch(size) if len(match) < 1 { - logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server size for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server size for resource %s: %s", d.Address, sku) return nil } } diff --git a/internal/providers/terraform/azure/postgresql_server.go b/internal/providers/terraform/azure/postgresql_server.go index f3cd8b03327..b3667bc6d72 100644 --- a/internal/providers/terraform/azure/postgresql_server.go +++ b/internal/providers/terraform/azure/postgresql_server.go @@ -4,7 +4,8 @@ import ( "fmt" "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/schema" "github.com/shopspring/decimal" @@ -30,7 +31,7 @@ func NewAzureRMPostrgreSQLServer(d *schema.ResourceData, u *schema.UsageData) *s family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - logging.Logger.Warn().Msgf("Unrecognised PostgreSQL SKU format for resource %s: %s", d.Address, sku) + log.Warn().Msgf("Unrecognised PostgreSQL SKU format for resource %s: %s", d.Address, sku) return nil } @@ -41,7 +42,7 @@ func NewAzureRMPostrgreSQLServer(d *schema.ResourceData, u *schema.UsageData) *s }[tier] if tierName == "" { - logging.Logger.Warn().Msgf("Unrecognised PostgreSQL tier prefix for resource %s: %s", d.Address, tierName) + log.Warn().Msgf("Unrecognised PostgreSQL tier prefix for resource %s: %s", d.Address, tierName) return nil } diff --git a/internal/providers/terraform/azure/sql_database.go b/internal/providers/terraform/azure/sql_database.go index 2a45b3bc749..764c48e6562 100644 --- a/internal/providers/terraform/azure/sql_database.go +++ b/internal/providers/terraform/azure/sql_database.go @@ -1,7 +1,8 @@ package azure import ( - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -78,7 +79,7 @@ func newSQLDatabase(d *schema.ResourceData) schema.CoreResource { var err error config, err = parseSKU(d.Address, sku) if err != nil { - logging.Logger.Warn().Msgf(err.Error()) + log.Warn().Msgf(err.Error()) return nil } } diff --git a/internal/providers/terraform/azure/storage_queue.go b/internal/providers/terraform/azure/storage_queue.go index b35a01f0711..a6126c5bb8f 100644 --- a/internal/providers/terraform/azure/storage_queue.go +++ b/internal/providers/terraform/azure/storage_queue.go @@ -3,7 +3,8 @@ package azure import ( "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -29,7 +30,7 @@ func newStorageQueue(d *schema.ResourceData) schema.CoreResource { accountTier := storageAccount.Get("account_tier").String() if strings.EqualFold(accountTier, "premium") { - logging.Logger.Warn().Msgf("Skipping resource %s. Storage Queues don't support %s tier", d.Address, accountTier) + log.Warn().Msgf("Skipping resource %s. Storage Queues don't support %s tier", d.Address, accountTier) return nil } diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden index d7c3c4ae1e3..e5e975c489c 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $584 ┃ $0.00 ┃ $584 ┃ +┃ TestAzureRMActiveDirectoryDomainReplicaSetService ┃ $584 ┃ $0.00 ┃ $584 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden index fe223826bc8..c28b7cdce86 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,570 ┃ $0.00 ┃ $1,570 ┃ +┃ TestAzureRMActiveDirectoryDomainService ┃ $1,570 ┃ $0.00 ┃ $1,570 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden index af091f7a6bf..eb748c9f987 100644 --- a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden +++ b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $24,764 ┃ $1,285 ┃ $26,049 ┃ +┃ TestAzureRMApiManagement ┃ $24,764 ┃ $1,285 ┃ $26,049 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden index 4c5a2e6ce6d..b5583c53261 100644 --- a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $504 ┃ $0.54 ┃ $505 ┃ +┃ TestAppConfiguration ┃ $504 ┃ $0.54 ┃ $505 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden index ba046ba3f0a..6b8c1f455b1 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $39 ┃ $0.00 ┃ $39 ┃ +┃ TestAzureRMAppServiceCertificateBinding ┃ $39 ┃ $0.00 ┃ $39 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden index 03db3a98273..7570550dce7 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $31 ┃ $0.00 ┃ $31 ┃ +┃ TestAzureRMAppServiceCertificateOrder ┃ $31 ┃ $0.00 ┃ $31 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden index 7e44988762e..9489ca81b2d 100644 --- a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $112 ┃ $0.00 ┃ $112 ┃ +┃ TestAzureRMAppServiceCustomHostnameBinding ┃ $112 ┃ $0.00 ┃ $112 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden index 379cfda9e54..aba2d19f2e7 100644 --- a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $7,820 ┃ $0.00 ┃ $7,820 ┃ +┃ TestAzureRMAppIsolatedServicePlan ┃ $7,820 ┃ $0.00 ┃ $7,820 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden index 0c1989fd03d..e098d1bc608 100644 --- a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden @@ -43,5 +43,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,621 ┃ $0.00 ┃ $5,621 ┃ +┃ TestAzureRMAppServicePlan ┃ $5,621 ┃ $0.00 ┃ $5,621 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden index f82135cfbcf..bf10f489fa2 100644 --- a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3,574 ┃ $2,340 ┃ $5,915 ┃ +┃ TestAzureRMApplicationGateway ┃ $3,574 ┃ $2,340 ┃ $5,915 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden index 9bd9473e5d7..702e843df46 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $16 ┃ $0.00 ┃ $16 ┃ +┃ TestApplicationInsightsStandardWebTest ┃ $16 ┃ $0.00 ┃ $16 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden index 3fce1bdff57..67b21d654c5 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $100 ┃ $4,600 ┃ $4,700 ┃ +┃ TestAzureRMApplicationInsights ┃ $100 ┃ $4,600 ┃ $4,700 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden index ba52cad67bf..0a30636a723 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ TestAzureRMApplicationInsightsWeb ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden index da8b5e88c47..bff48adb7aa 100644 --- a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $12 ┃ $12 ┃ +┃ TestAzureRMAutomationAccount ┃ $0.00 ┃ $12 ┃ $12 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden index 48eb1984584..0472e97f8d9 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ TestAzureRMAutomationDscConfiguration ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden index 5014408289e..c18877dd21e 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ TestAzureRMAutomationDscNodeconfiguration ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden index f483b6fc57e..8a6b3debf18 100644 --- a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.01 ┃ $0.01 ┃ +┃ TestAzureRMAutomationJobSchedule ┃ $0.00 ┃ $0.01 ┃ $0.01 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden index 046f1870e1f..5690f02c96e 100644 --- a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden +++ b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $142 ┃ $8,730 ┃ $8,872 ┃ +┃ TestAzureRMBastionHost ┃ $142 ┃ $8,730 ┃ $8,872 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden index a1a6b3e3fed..689cb819be9 100644 --- a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $609,769 ┃ $0.00 ┃ $609,769 ┃ +┃ TestAzureRMCDNEndpoint ┃ $609,769 ┃ $0.00 ┃ $609,769 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden index 5c5dde1db45..429dd4ee91c 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden @@ -295,15 +295,15 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $314,897 ┃ $0.00 ┃ $314,897 ┃ +┃ TestCognitiveAccount ┃ $314,897 ┃ $0.00 ┃ $314,897 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Invalid commitment tier 1000000 for azurerm_cognitive_account.textanalytics_with_commitment["small"] -WARN Invalid commitment tier 200 for azurerm_cognitive_account.luis_with_commitment["invalid"] -WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WARN Invalid commitment tier amount 100 for azurerm_cognitive_account.speech_with_commitment["invalid"] -WARN Skipping resource azurerm_cognitive_account.unsupported. Kind "Academic" is not supported \ No newline at end of file +WRN Invalid commitment tier 1000000 for azurerm_cognitive_account.textanalytics_with_commitment["small"] +WRN Invalid commitment tier 200 for azurerm_cognitive_account.luis_with_commitment["invalid"] +WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WRN Invalid commitment tier amount 100 for azurerm_cognitive_account.speech_with_commitment["invalid"] +WRN Skipping resource azurerm_cognitive_account.unsupported. Kind "Academic" is not supported \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden index 804c0bbe4af..56f103b9f74 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden @@ -385,8 +385,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $20,499 ┃ $0.00 ┃ $20,499 ┃ +┃ TestCognitiveDeployment ┃ $20,499 ┃ $0.00 ┃ $20,499 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource azurerm_cognitive_deployment.unsupported. Model 'ada' is not supported \ No newline at end of file +WRN Skipping resource azurerm_cognitive_deployment.unsupported. Model 'ada' is not supported \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden index e30e08091b9..b9d8e906f81 100644 --- a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $315 ┃ $338 ┃ $653 ┃ +┃ TestAzureRMContainerRegistry ┃ $315 ┃ $338 ┃ $653 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden index a0db4d61ae9..d377ee9868c 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ TestAzureRMCosmosDBCassandraKeyspace ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden index 55efa9e1cfa..741a0d9498b 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ TestHCLAzureRMCosmosDBCassandraKeyspace ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden index 12ea2433111..e123387c7f7 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden @@ -104,10 +104,10 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ +┃ TestAzureRMCosmosDBCassandraTableGoldenFile ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource azurerm_cosmosdb_cassandra_keyspace.no_account as its 'account_name' property could not be found. -WARN Skipping resource azurerm_cosmosdb_cassandra_table.noAccount as its 'cassandra_keyspace_id.account_name' property could not be found. -WARN Skipping resource azurerm_cosmosdb_cassandra_table.noKeyspace as its 'cassandra_keyspace_id' property could not be found. \ No newline at end of file +WRN Skipping resource azurerm_cosmosdb_cassandra_keyspace.no_account as its 'account_name' property could not be found. +WRN Skipping resource azurerm_cosmosdb_cassandra_table.noAccount as its 'cassandra_keyspace_id.account_name' property could not be found. +WRN Skipping resource azurerm_cosmosdb_cassandra_table.noKeyspace as its 'cassandra_keyspace_id' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden index da54853f504..d00a36159cc 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ TestAzureRMCosmosDBGremlinDatabaseGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden index 9df5f6350f8..ae0e851fd1c 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden @@ -65,5 +65,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ TestAzureRMCosmosDBGremlinGraphGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden index 25f4a52b1b7..2f26ce6f221 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden @@ -101,5 +101,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ +┃ TestAzureRMCosmosDBMongoCollectionGoldenFile ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden index 608096147b0..d266c598586 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ TestAzureRMCosmosDBMongoDatabaseGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden index 7d8998f51bc..ffe85492693 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden @@ -67,5 +67,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,061 ┃ $0.00 ┃ $5,061 ┃ +┃ TestAzureRMCosmosDBSQLContainerGoldenFile ┃ $5,061 ┃ $0.00 ┃ $5,061 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden index a3f2282fc31..b556b7989a2 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden @@ -65,5 +65,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,185 ┃ $0.00 ┃ $5,185 ┃ +┃ TestAzureRMCosmosDBSQLDatabaseGoldenFile ┃ $5,185 ┃ $0.00 ┃ $5,185 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden index 23afc7c62b5..cb1bfb903b1 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden @@ -58,8 +58,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ TestAzureRMCosmosDBTableGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource azurerm_cosmosdb_table.account-in-another-module as its 'account_name' property could not be found. \ No newline at end of file +WRN Skipping resource azurerm_cosmosdb_table.account-in-another-module as its 'account_name' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden index 4b8f2151b37..f7820f8ab95 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $27,825 ┃ $0.00 ┃ $27,825 ┃ +┃ TestDataFactoryIntegrationRuntimeAzureSSIS ┃ $27,825 ┃ $0.00 ┃ $27,825 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden index 974f0a6a0dc..ab0ed3414fb 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden @@ -45,5 +45,15 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $74,648 ┃ $10 ┃ $74,658 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestDataFactoryIntegrationRuntimeAzure ┃ $74,648 ┃ $10 ┃ $74,658 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN 'Multiple products found' are safe to ignore for 'Compute (Compute Optimized, 16 vCores)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (General Purpose, 8 vCores)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (General Purpose, 8 vCores)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (Memory Optimized, 272 vCores)' due to limitations in the Azure API. +WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.co Compute (Compute Optimized, 16 vCores), using the first product +WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.default_with_usage Compute (General Purpose, 8 vCores), using the first product +WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.gp Compute (General Purpose, 8 vCores), using the first product +WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.mo Compute (Memory Optimized, 272 vCores), using the first product \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden index 4c3c74a2ec4..82131d45c39 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $32,752 ┃ $10 ┃ $32,762 ┃ +┃ TestDataFactoryIntegrationRuntimeManaged ┃ $32,752 ┃ $10 ┃ $32,762 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden index e5f2e72f6e5..18dd2a24fd8 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $149 ┃ $15 ┃ $164 ┃ +┃ TestDataFactoryIntegrationRuntimeSelfHosted ┃ $149 ┃ $15 ┃ $164 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden index c17d979090c..f67db654561 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ TestDataFactory ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden index 4f141df2ebb..971e59d71d7 100644 --- a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1,995 ┃ $1,995 ┃ +┃ TestAzureRMDatabricksWorkspaceGoldenFile ┃ $0.00 ┃ $1,995 ┃ $1,995 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden index 3a94d2206b2..cc2ff5098b2 100644 --- a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNSaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden index ce6b63b7854..bbfafb0f7c6 100644 --- a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNSaaaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden index ad6768f61c9..b78637a750a 100644 --- a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNScaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden index 0af54e8059f..007fd400886 100644 --- a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNScnameRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden index 6fd013d4397..72bd714a29e 100644 --- a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNSmxRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden index 1657d06f842..62c27d8ae94 100644 --- a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNSnsRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden index 04d1c8d418c..25297ed5913 100644 --- a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNSptrRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden index ca0a3af0f63..1025ab4fbdb 100644 --- a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNSsrvRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden index 82f3b628c33..f6eb225c7a8 100644 --- a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMDNStxtRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden index e0249c22f62..1ba304b2369 100644 --- a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ TestAzureRMDNSZone ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden index 14ad33474e0..29d1d50512e 100644 --- a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden @@ -46,5 +46,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $24,912 ┃ $0.00 ┃ $24,912 ┃ +┃ TestAzureRMEventHubs ┃ $24,912 ┃ $0.00 ┃ $24,912 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden index c501a0a41e4..dc55bf3d51b 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ +┃ TestEventgridSystemTopic ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden index e355560ed24..69b90e4e66b 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ +┃ TestEventgridTopic ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden index 3d978ec8940..20f4cb6b6fa 100644 --- a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $343 ┃ $0.00 ┃ $343 ┃ +┃ TestExpressRouteConnectionGoldenFile ┃ $343 ┃ $0.00 ┃ $343 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden index ff67e21c0d4..dfbff129942 100644 --- a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,226 ┃ $0.00 ┃ $1,226 ┃ +┃ TestExpressRouteGatewayGoldenFile ┃ $1,226 ┃ $0.00 ┃ $1,226 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden index 57dcecacbf7..903d8885555 100644 --- a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden +++ b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $2 ┃ $2 ┃ +┃ TestFederatedIdentityCredential ┃ $0.00 ┃ $2 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden index e899f5add0b..d404ef7cea8 100644 --- a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden +++ b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $6,256 ┃ $0.00 ┃ $6,256 ┃ +┃ TestAzureRMFirewall ┃ $6,256 ┃ $0.00 ┃ $6,256 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden index f6301cf6874..393e5d4836c 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $94 ┃ $1 ┃ $95 ┃ +┃ TestFrontdoorFirewallPolicyGoldenFile ┃ $94 ┃ $1 ┃ $95 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden index e89edc84c85..7bc1dfc3e03 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $190 ┃ $27,210 ┃ $27,400 ┃ +┃ TestFrontdoorGoldenFile ┃ $190 ┃ $27,210 ┃ $27,400 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden index 4cfc9ea9a84..8d88298fb18 100644 --- a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,104 ┃ $31 ┃ $1,135 ┃ +┃ TestAzureRMAppFunctionGoldenFile ┃ $1,104 ┃ $31 ┃ $1,135 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden index 4d3cf9f3293..fa63e919ef1 100644 --- a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden @@ -183,5 +183,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $13,248 ┃ $118 ┃ $13,366 ┃ +┃ TestAzureRMLinuxAppFunctionGoldenFile ┃ $13,248 ┃ $118 ┃ $13,366 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden index c14e2294d51..fbbb606c0d4 100644 --- a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden @@ -183,5 +183,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $13,248 ┃ $118 ┃ $13,366 ┃ +┃ TestAzureRMWindowsAppFunctionGoldenFile ┃ $13,248 ┃ $118 ┃ $13,366 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden index 07b612eeb13..9e8bbec5bbf 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3,968 ┃ $0.00 ┃ $3,968 ┃ +┃ TestAzureRMHDInsightHadoopClusterGoldenFile ┃ $3,968 ┃ $0.00 ┃ $3,968 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden index aa72801a47b..036fa2aeb37 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3,907 ┃ $0.00 ┃ $3,907 ┃ +┃ TestAzureRMHDInsightHBaseClusterGoldenFile ┃ $3,907 ┃ $0.00 ┃ $3,907 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden index 653a82bf258..e53fdb14667 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden @@ -25,8 +25,8 @@ ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $15,853 ┃ $0.00 ┃ $15,853 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestAzureRMHDInsightInteractiveQueryClusterGoldenFile ┃ $15,853 ┃ $0.00 ┃ $15,853 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden index 5e1d45beb3b..05fa19c2a97 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden @@ -44,5 +44,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $27,535 ┃ $0.00 ┃ $27,535 ┃ +┃ TestAzureRMHDInsightKafkaClusterGoldenFile ┃ $27,535 ┃ $0.00 ┃ $27,535 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden index 992fce8d8fc..4848a6330ba 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $8,620 ┃ $0.00 ┃ $8,620 ┃ +┃ TestAzureRMHDInsightSparkClusterGoldenFile ┃ $8,620 ┃ $0.00 ┃ $8,620 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/image_test/image_test.golden b/internal/providers/terraform/azure/testdata/image_test/image_test.golden index c9d29b6d9ec..5e61c5afe6f 100644 --- a/internal/providers/terraform/azure/testdata/image_test/image_test.golden +++ b/internal/providers/terraform/azure/testdata/image_test/image_test.golden @@ -79,5 +79,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $334 ┃ $0.00 ┃ $334 ┃ +┃ TestImage ┃ $334 ┃ $0.00 ┃ $334 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden index 2585a336818..68246d4b389 100644 --- a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $17,715 ┃ $0.00 ┃ $17,715 ┃ +┃ TestAzureRMAIntegrationServiceEnvironment ┃ $17,715 ┃ $0.00 ┃ $17,715 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden index d54c0b03196..007c1337e95 100644 --- a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden +++ b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $125 ┃ $1 ┃ $126 ┃ +┃ TestIoTHub ┃ $125 ┃ $1 ┃ $126 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden index 5ff950bcd37..e878c46d81e 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $601 ┃ $0.00 ┃ $601 ┃ +┃ TestAzureKeyVaultCertificate ┃ $601 ┃ $0.00 ┃ $601 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden index af3a611ddc6..4157d0bffbe 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $12,814 ┃ $0.00 ┃ $12,814 ┃ +┃ TestAzureKeyVaultKey ┃ $12,814 ┃ $0.00 ┃ $12,814 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden index 22b0b1d0ad5..9d44f817b15 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3,541 ┃ $0.00 ┃ $3,541 ┃ +┃ TestAzureKeyVaultManagedHSMPools ┃ $3,541 ┃ $0.00 ┃ $3,541 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden index c56962e6982..aa0b62096c9 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden @@ -60,5 +60,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,320 ┃ $0.00 ┃ $1,320 ┃ +┃ TestAzureRMKubernetesClusterNodePoolGoldenFile ┃ $1,320 ┃ $0.00 ┃ $1,320 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden index 2caf61bbaec..4be2b235ab0 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,835 ┃ $0.50 ┃ $2,836 ┃ +┃ TestAzureRMKubernetesClusterGoldenFile ┃ $2,835 ┃ $0.50 ┃ $2,836 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden index 446a2cf42ea..a291b8df882 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ TestAzureRMLoadBalancerOutboundRuleGoldenFile ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden index 446a2cf42ea..79bea07cfec 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ TestAzureRMLoadBalancerOutboundRuleV2GoldenFile ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden index 9291f811f77..0d20f2cae20 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ TestAzureRMLoadBalancerRuleGoldenFile ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden index 9291f811f77..bef9d11e1c0 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ TestAzureRMLoadBalancerRuleV2GoldenFile ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden index 4e9831e4196..7edd6b3ffcc 100644 --- a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.50 ┃ $0.50 ┃ +┃ TestAzureRMLoadBalancerGoldenFile ┃ $0.00 ┃ $0.50 ┃ $0.50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden index 22159862d8d..0c6d3af10fe 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $414 ┃ $0.00 ┃ $414 ┃ +┃ TestAzureRMLinuxVirtualMachineScaleSetGoldenFile ┃ $414 ┃ $0.00 ┃ $414 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden index 6f2ba90c616..2452d9072ed 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden @@ -59,5 +59,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $446 ┃ $0.00 ┃ $446 ┃ +┃ TestAzureRMLinuxVirtualMachineGoldenFile ┃ $446 ┃ $0.00 ┃ $446 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden index 54656c0276a..468c4d509c5 100644 --- a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden @@ -127,11 +127,11 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $22,756 ┃ $234 ┃ $22,990 ┃ +┃ TestLogAnalyticsWorkspaceGoldenFile ┃ $22,756 ┃ $234 ┃ $22,990 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["PerNode"] as it uses legacy pricing options -WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Premium"] as it uses legacy pricing options -WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Standard"] as it uses legacy pricing options -WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Unlimited"] as it uses legacy pricing options \ No newline at end of file +WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["PerNode"] as it uses legacy pricing options +WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Premium"] as it uses legacy pricing options +WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Standard"] as it uses legacy pricing options +WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Unlimited"] as it uses legacy pricing options \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden index 65ef0d2cc87..93758a04840 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,300 ┃ $0.00 ┃ $1,300 ┃ +┃ TestLogicAppIntegrationAccount ┃ $1,300 ┃ $0.00 ┃ $1,300 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden index bbc4df84a91..c0262c16bd3 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden @@ -57,5 +57,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,620 ┃ $2,500 ┃ $4,120 ┃ +┃ TestLogicAppStandard ┃ $1,620 ┃ $2,500 ┃ $4,120 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden index 27db7f2885c..d856cdde7e1 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden @@ -237,5 +237,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $498,346 ┃ $0.00 ┃ $498,346 ┃ +┃ TestMachineLearningComputeCluster ┃ $498,346 ┃ $0.00 ┃ $498,346 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden index 47eca7baf6d..719f36d3580 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $17,165 ┃ $0.00 ┃ $17,165 ┃ +┃ TestMachineLearningComputeInstance ┃ $17,165 ┃ $0.00 ┃ $17,165 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden index 45f9de9eae3..4233fd91b3a 100644 --- a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden +++ b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $534 ┃ $0.00 ┃ $534 ┃ +┃ TestAzureRMManagedDiskGoldenFile ┃ $534 ┃ $0.00 ┃ $534 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden index 2a4597e7f41..135dde78b3e 100644 --- a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┃ TestMariaDBServer ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden index 3031466a5c0..8b8148b1b8b 100644 --- a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $4,682 ┃ $4,682 ┃ +┃ TestMonitorActionGroup ┃ $0.00 ┃ $4,682 ┃ $4,682 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden index c0832b66f0c..0563809fa99 100644 --- a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $2 ┃ $2 ┃ +┃ TestMonitorDataCollectionRule ┃ $0.00 ┃ $2 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden index 9807af547aa..b1b794fc693 100644 --- a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $325 ┃ $325 ┃ +┃ TestMonitorDiagnosticSetting ┃ $0.00 ┃ $325 ┃ $325 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden index 2f3faf99307..832394edf91 100644 --- a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2 ┃ $0.00 ┃ $2 ┃ +┃ TestMonitorMetricAlert ┃ $2 ┃ $0.00 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden index 2c6e947bbfa..5527cf85129 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ TestMonitorScheduledQueryRulesAlert ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden index 23b72693657..534904bbf6c 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ TestMonitorScheduledQueryRulesAlertV2 ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden index 9b4d8e55ac7..c7cee7b4064 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden @@ -128,5 +128,35 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $30,593 ┃ $992 ┃ $31,585 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestMSSQLDatabase ┃ $30,593 ┃ $992 ┃ $31,585 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_8)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_M_8)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. +WRN Multiple products with prices found for azurerm_mssql_database.backup_default Compute (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.backup_geo Compute (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.backup_local Compute (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.backup_zone Compute (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.blank_sku Compute (serverless, GP_S_Gen5_2), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.business_critical_gen Compute (provisioned, BC_Gen5_8), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.business_critical_m Compute (provisioned, BC_M_8), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen Compute (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_without_license Compute (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_zone Compute (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_zone Zone redundancy (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.serverless Compute (serverless, GP_S_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.serverless_zone Compute (serverless, GP_S_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_mssql_database.serverless_zone Zone redundancy (serverless, GP_S_Gen5_4), using the first product \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden index a20086db0db..16a93e46b53 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden @@ -18,5 +18,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $147 ┃ $0.00 ┃ $147 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestMSSQLDatabaseWithBlankLocation ┃ $147 ┃ $0.00 ┃ $147 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN Using eastus for resource azurerm_mssql_database.blank_server_location as its 'location' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden index ab01089b151..ffc6d02a6bf 100644 --- a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden @@ -49,5 +49,18 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $19,409 ┃ $143 ┃ $19,552 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestMSSQLElasticPool ┃ $19,409 ┃ $143 ┃ $19,552 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN 'Multiple products found' are safe to ignore for 'Compute (BC_DC, 8 vCore)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (BC_DC, 8 vCore)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. +WRN Multiple products with prices found for azurerm_mssql_elasticpool.bc_dc Compute (BC_DC, 8 vCore), using the first product +WRN Multiple products with prices found for azurerm_mssql_elasticpool.bc_dc_zone_redundant Compute (BC_DC, 8 vCore), using the first product +WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5 Compute (GP_Gen5, 4 vCore), using the first product +WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_no_license Compute (GP_Gen5, 4 vCore), using the first product +WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_redundant Compute (GP_Gen5, 4 vCore), using the first product +WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_redundant Zone redundancy (GP_Gen5, 4 vCore), using the first product \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden index faa7a2ad276..85a0605a907 100644 --- a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $12,528 ┃ $31 ┃ $12,559 ┃ +┃ TestMSSQLManagedInstance ┃ $12,528 ┃ $31 ┃ $12,559 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden index b91a967e58d..ac1f545ae81 100644 --- a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,988 ┃ $570 ┃ $2,558 ┃ +┃ TestMySQLFlexibleServer ┃ $1,988 ┃ $570 ┃ $2,558 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden index 7d74fad7e9a..c491fa862cc 100644 --- a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden @@ -38,5 +38,12 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestMySQLServer_usage ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN 'Multiple products found' are safe to ignore for 'Compute (B_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (MO_Gen5_16)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (MO_Gen5_16)' due to limitations in the Azure API. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden index ad0a306d48a..2c209119be1 100644 --- a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ +┃ TestAzureRMNATGateway ┃ $74 ┃ $0.00 ┃ $74 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden index cfa70cba579..e8a3a4b7417 100644 --- a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden +++ b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $155,511 ┃ $155,511 ┃ +┃ TestNetworkConnectionMonitor ┃ $0.00 ┃ $155,511 ┃ $155,511 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden index e192c92b122..21441406e60 100644 --- a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,887 ┃ $147 ┃ $6,034 ┃ +┃ TestNetworkDdosProtectionPlan ┃ $5,887 ┃ $147 ┃ $6,034 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden index 77052a990b6..c0f04b80b4a 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden @@ -35,5 +35,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $162 ┃ $162 ┃ +┃ TestNetworkWatcherFlowLog ┃ $0.00 ┃ $162 ┃ $162 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden index decf6051bc8..c8012e3c4dc 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ TestNetworkWatcher ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden index 108707a6f05..fe20fc99e26 100644 --- a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden @@ -45,5 +45,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,815 ┃ $0.00 ┃ $2,815 ┃ +┃ TestAzureRMNotificationHubNamespace ┃ $2,815 ┃ $0.00 ┃ $2,815 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden index e104a86bc31..f4febbead28 100644 --- a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,635 ┃ $0.11 ┃ $2,635 ┃ +┃ TestPointToSiteVpnGatewayGoldenFile ┃ $2,635 ┃ $0.11 ┃ $2,635 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden index 2398d42beea..2a0ba911a82 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,160 ┃ $1,425 ┃ $3,585 ┃ +┃ TestPostgreSQLFlexibleServer ┃ $2,160 ┃ $1,425 ┃ $3,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden index 6e2a11e8ae3..000384b8ce3 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┃ TestPostgreSQLServer ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden index 3c1da098e81..c6c94347c19 100644 --- a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden +++ b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $12,504 ┃ $0.00 ┃ $12,504 ┃ +┃ TestPowerBIEmbedded ┃ $12,504 ┃ $0.00 ┃ $12,504 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden index 70516311420..ef03a498baf 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMPrivateDNSaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden index 3ad4973c3cb..51b5fc08557 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMPrivateDNSaaaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden index 7a786f8be90..379b06a1a0b 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMPrivateDNScnameRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden index 2eda30a7ec9..22c1831da61 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMPrivateDNSmxRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden index 95b47504684..76f6fb6c2b2 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMPrivateDNSptrRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden index 068d0a92ba2..bdbc133dba9 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $183 ┃ $0.00 ┃ $183 ┃ +┃ TestPrivateDnsResolverDnsForwardingRuleset ┃ $183 ┃ $0.00 ┃ $183 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden index 7ef46c32fcc..a3954595428 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $180 ┃ $0.00 ┃ $180 ┃ +┃ TestPrivateDnsResolverInboundEndpoint ┃ $180 ┃ $0.00 ┃ $180 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden index ad3203482d6..6f32d993cb6 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $180 ┃ $0.00 ┃ $180 ┃ +┃ TestPrivateDnsResolverOutboundEndpoint ┃ $180 ┃ $0.00 ┃ $180 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden index 0d3c53255fa..e7d535e8635 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMPrivateDNSsrvRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden index 69eaa9e9879..15d8349faa0 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ TestAzureRMPrivateDNStxtRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden index 24659a22d72..f43e9414659 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ TestAzureRMPrivateDNSZone ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden index cb6e63ff419..642ef141a4b 100644 --- a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $68,991 ┃ $0.00 ┃ $68,991 ┃ +┃ TestNewAzureRMPrivateEndpoint ┃ $68,991 ┃ $0.00 ┃ $68,991 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden index b4bcd24dc25..98fd8b234b2 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ TestAzureRMPublicIPPrefix ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden index 565001c85cc..510ee874080 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ TestAzureRMPublicIP ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden index 76c85f29acf..11d5525db70 100644 --- a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden +++ b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden @@ -214,5 +214,67 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $302 ┃ $1,247 ┃ $1,549 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestRecoveryServicesVault ┃ $302 ┃ $1,247 ┃ $1,549 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-true"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-false"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-true"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-false"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-true"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-false"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-true"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-false"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-true"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-false"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-true"] Instance backup (over 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-true"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-false"] Instance backup (under 500 GB), using the first product +WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-true"] Instance backup (under 500 GB), using the first product \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden index 77d00a64b97..0740101ed6f 100644 --- a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden +++ b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $15,865 ┃ $0.00 ┃ $15,865 ┃ +┃ TestAzureRedisCacheGoldenFile ┃ $15,865 ┃ $0.00 ┃ $15,865 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden index 8534b2eeecd..f157c4ed48a 100644 --- a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden +++ b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $16,131 ┃ $0.00 ┃ $16,131 ┃ +┃ TestAzureSearchServiceGoldenFile ┃ $16,131 ┃ $0.00 ┃ $16,131 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden index 940b7cde3a9..33106455bb0 100644 --- a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden +++ b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden @@ -101,9 +101,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $894 ┃ $894 ┃ +┃ TestSecurityCenterSubscriptionPricing ┃ $0.00 ┃ $894 ┃ $894 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource azurerm_security_center_subscription_pricing.standard_example["CloudPosture"]. Unknown resource tyoe 'CloudPosture' -WARN Skipping resource azurerm_security_center_subscription_pricing.standard_example_with_usage["CloudPosture"]. Unknown resource tyoe 'CloudPosture' \ No newline at end of file +WRN Skipping resource azurerm_security_center_subscription_pricing.standard_example["CloudPosture"]. Unknown resource tyoe 'CloudPosture' +WRN Skipping resource azurerm_security_center_subscription_pricing.standard_example_with_usage["CloudPosture"]. Unknown resource tyoe 'CloudPosture' \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden index b683f6bc3bb..0ed0f473287 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ TestSentinelDataConnectorAwsCloudTrail ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden index cebeb9a817c..c3c32cb5e06 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ TestSentinelDataConnectorAzureActiveDirectory ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden index d8ef63a8b8a..3e934450d67 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden @@ -30,8 +30,8 @@ ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorAzureAdvancedThreatProtection ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden index e1a4644ced6..46aabefe8d3 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ TestSentinelDataConnectorAzureSecurityCenter ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden index 8e99cd9d662..02f4d3c2e0f 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ TestSentinelDataConnectorMicrosoftCloudAppSecurity ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden index 8bbdbc9cbbf..324e001fcab 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden @@ -30,8 +30,8 @@ ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ TestSentinelDataConnectorMicros...fenderAdvancedThreatProtection ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden index 712e4c496ec..83e82b32230 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ TestSentinelDataConnectorOffice365 ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden index f3b069a54ad..d3106afd851 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ TestSentinelDataConnectorThreatIntelligence ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden index f5cf387a211..290bb5343e1 100644 --- a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden @@ -823,5 +823,13 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $611,321 ┃ $0.00 ┃ $611,321 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestAzureRMServicePlan ┃ $611,321 ┃ $0.00 ┃ $611,321 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.1"] Instance usage (F1), using the first price +WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.2"] Instance usage (F1), using the first price +WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.3"] Instance usage (F1), using the first price +WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.1"] Instance usage (F1), using the first price +WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.2"] Instance usage (F1), using the first price +WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.3"] Instance usage (F1), using the first price \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden index 4036dee6ccb..ac411d2cb7d 100644 --- a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $41,998 ┃ $22,890 ┃ $64,888 ┃ +┃ TestServiceBusNamespace ┃ $41,998 ┃ $22,890 ┃ $64,888 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden index c841f85077b..e5ebf965d27 100644 --- a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden +++ b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $659 ┃ $14 ┃ $672 ┃ +┃ TestSignalRService ┃ $659 ┃ $14 ┃ $672 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden index e74e3498b62..8623cc17423 100644 --- a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden +++ b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $40 ┃ $0.00 ┃ $40 ┃ +┃ TestSnapshot ┃ $40 ┃ $0.00 ┃ $40 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden index c33b044aa0e..4b107b8df2a 100644 --- a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden @@ -89,5 +89,27 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $7,197 ┃ $631 ┃ $7,828 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┃ TestSQLDatabase ┃ $7,197 ┃ $631 ┃ $7,828 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +Logs: + +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. +WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. +WRN Multiple products with prices found for azurerm_sql_database.backup Compute (provisioned, GP_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_sql_database.default_sql_database Compute (provisioned, GP_Gen5_2), using the first product +WRN Multiple products with prices found for azurerm_sql_database.serverless Compute (serverless, GP_S_Gen5_4), using the first product +WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_critical Compute (provisioned, BC_Gen5_2), using the first product +WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_critical_zone_redundant Compute (provisioned, BC_Gen5_2), using the first product +WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen Compute (provisioned, GP_Gen5_2), using the first product +WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen_zone_redundant Compute (provisioned, GP_Gen5_2), using the first product +WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen_zone_redundant Zone redundancy (provisioned, GP_Gen5_2), using the first product +WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_max_size Compute (provisioned, GP_Gen5_2), using the first product +WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_service_object_name Compute (provisioned, BC_Gen5_2), using the first product \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden index 03ea6ec0dc4..9c8db6d1efa 100644 --- a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $3,326 ┃ $143 ┃ $3,469 ┃ +┃ TestSQLElasticPool ┃ $3,326 ┃ $143 ┃ $3,469 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden index 54c77fae999..06afd575a6d 100644 --- a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $12,528 ┃ $31 ┃ $12,559 ┃ +┃ TestSQLManagedInstance ┃ $12,528 ┃ $31 ┃ $12,559 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden index 14bbb773467..fae48b9373d 100644 --- a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden @@ -405,8 +405,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $7,635,981 ┃ $7,635,981 ┃ +┃ TestAzureStorageAccountGoldenFile ┃ $0.00 ┃ $7,635,981 ┃ $7,635,981 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource azurerm_storage_account.unsupported. BlockBlobStorage Premium doesn't support GRS redundancy \ No newline at end of file +WRN Skipping resource azurerm_storage_account.unsupported. BlockBlobStorage Premium doesn't support GRS redundancy \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden index bb40dd3eb66..f377094ee74 100644 --- a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden @@ -126,9 +126,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1,803 ┃ $1,803 ┃ +┃ TestStorageQueue ┃ $0.00 ┃ $1,803 ┃ $1,803 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource azurerm_storage_account.unsupported. Storage Standard doesn't support GZRS redundancy -WARN Skipping resource azurerm_storage_queue.unsupported. Storage Queues don't support GZRS redundancy \ No newline at end of file +WRN Skipping resource azurerm_storage_account.unsupported. Storage Standard doesn't support GZRS redundancy +WRN Skipping resource azurerm_storage_queue.unsupported. Storage Queues don't support GZRS redundancy \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden index 3b32fae7aca..d406013f122 100644 --- a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden @@ -142,8 +142,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $946,945 ┃ $946,945 ┃ +┃ TestStorageShare ┃ $0.00 ┃ $946,945 ┃ $946,945 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource azurerm_storage_share.unsupported. Premium access tier is only supported for FileStorage accounts \ No newline at end of file +WRN Skipping resource azurerm_storage_share.unsupported. Premium access tier is only supported for FileStorage accounts \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden index fcad93b8b7b..71238cf2831 100644 --- a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $98 ┃ $0.00 ┃ $98 ┃ +┃ TestNewAzureRMSynapseSparkPool ┃ $98 ┃ $0.00 ┃ $98 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden index 0fa3bc2b811..b3dad23620e 100644 --- a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $6,771 ┃ $0.00 ┃ $6,771 ┃ +┃ TestNewAzureRMSynapseSQLPool ┃ $6,771 ┃ $0.00 ┃ $6,771 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden index 6e46e9b9dc4..18087ecd213 100644 --- a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $127 ┃ $0.00 ┃ $127 ┃ +┃ TestNewAzureRMSynapseWorkspace ┃ $127 ┃ $0.00 ┃ $127 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden index c3859420568..233c576f0d0 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ TestTrafficManagerAzureEndpoint ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden index c81d779be64..82fba0d4f6f 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $7 ┃ $0.00 ┃ $7 ┃ +┃ TestTrafficManagerExternalEndpoint ┃ $7 ┃ $0.00 ┃ $7 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden index 3ffe6d7164c..4f5364a5723 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ TestTrafficManagerNestedEndpoint ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden index 43a8c2587f3..ff0cc15a72b 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $653 ┃ $653 ┃ +┃ TestTrafficManagerProfile ┃ $0.00 ┃ $653 ┃ $653 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden index fc594e319c0..e3609bd339f 100644 --- a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $365 ┃ $2 ┃ $367 ┃ +┃ TestVirtualHubGoldenFile ┃ $365 ┃ $2 ┃ $367 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden index 9fe283e9782..2a69fd46134 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $427 ┃ $0.55 ┃ $428 ┃ +┃ TestAzureVirtualMachineScaleSetGoldenFile ┃ $427 ┃ $0.55 ┃ $428 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden index 65cafdecd24..9e399015d99 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $408 ┃ $0.55 ┃ $408 ┃ +┃ TestAzureVirtualMachineGoldenFile ┃ $408 ┃ $0.55 ┃ $408 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden index 46a80cc043b..926faf36e9b 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden @@ -69,5 +69,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $5,965 ┃ $0.00 ┃ $5,965 ┃ +┃ TestAzureRMVirtualNetworkGatewayConnection ┃ $5,965 ┃ $0.00 ┃ $5,965 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden index a4c11ebc903..95d1f00df03 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden @@ -51,5 +51,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $49,247 ┃ $0.00 ┃ $49,247 ┃ +┃ TestAzureRMVirtualNetworkGateway ┃ $49,247 ┃ $0.00 ┃ $49,247 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden index 2baf27bda85..5c603c46abe 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $215 ┃ $215 ┃ +┃ TestVirtualNetworkPeering ┃ $0.00 ┃ $215 ┃ $215 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden index d4e52aff016..96596c587b3 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $300 ┃ $0.00 ┃ $300 ┃ +┃ TestVpnGatewayConnectionGoldenFile ┃ $300 ┃ $0.00 ┃ $300 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden index 0d587e6a56c..48e265a4e0d 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,054 ┃ $0.00 ┃ $1,054 ┃ +┃ TestVpnGatewayGoldenFile ┃ $1,054 ┃ $0.00 ┃ $1,054 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden index 42a53c92790..c5862b605a9 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $690 ┃ $0.00 ┃ $690 ┃ +┃ TestAzureRMWindowsVirtualMachineScaleSetGoldenFile ┃ $690 ┃ $0.00 ┃ $690 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden index f80c551e1bf..08567993c3d 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden @@ -54,5 +54,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,958 ┃ $0.00 ┃ $1,958 ┃ +┃ TestAzureRMWindowsVirtualMachineGoldenFile ┃ $1,958 ┃ $0.00 ┃ $1,958 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/util.go b/internal/providers/terraform/azure/util.go index 9916094edfa..b6240ca0ab1 100644 --- a/internal/providers/terraform/azure/util.go +++ b/internal/providers/terraform/azure/util.go @@ -5,9 +5,9 @@ import ( "regexp" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -49,7 +49,7 @@ func lookupRegion(d *schema.ResourceData, parentResourceKeys []string) string { // When all else fails use the default region defaultRegion := toAzureCLIName(d.Get("region").String()) - logging.Logger.Debug().Msgf("Using %s for resource %s as its 'location' property could not be found.", defaultRegion, d.Address) + log.Warn().Msgf("Using %s for resource %s as its 'location' property could not be found.", defaultRegion, d.Address) return defaultRegion } diff --git a/internal/providers/terraform/cloud.go b/internal/providers/terraform/cloud.go index 81c425470b9..2c5e6dd14a7 100644 --- a/internal/providers/terraform/cloud.go +++ b/internal/providers/terraform/cloud.go @@ -6,16 +6,16 @@ import ( "net/http" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/credentials" - "github.com/infracost/infracost/internal/logging" ) func cloudAPI(host string, path string, token string) ([]byte, error) { client := &http.Client{} url := fmt.Sprintf("https://%s%s", host, path) - logging.Logger.Debug().Msgf("Calling Terraform Cloud API: %s", url) + log.Debug().Msgf("Calling Terraform Cloud API: %s", url) req, err := http.NewRequest("GET", url, nil) if err != nil { return []byte{}, err diff --git a/internal/providers/terraform/cmd.go b/internal/providers/terraform/cmd.go index cbee5aab0bb..45ea7501375 100644 --- a/internal/providers/terraform/cmd.go +++ b/internal/providers/terraform/cmd.go @@ -11,6 +11,7 @@ import ( "sync" "github.com/rs/zerolog" + "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/logging" ) @@ -42,7 +43,7 @@ func Cmd(opts *CmdOptions, args ...string) ([]byte, error) { } cmd := exec.Command(exe, append(args, opts.Flags...)...) - logging.Logger.Debug().Msgf("Running command: %s", cmd.String()) + log.Debug().Msgf("Running command: %s", cmd.String()) cmd.Dir = opts.Dir cmd.Env = os.Environ() @@ -141,27 +142,27 @@ func CreateConfigFile(dir string, terraformCloudHost string, terraformCloudToken return "", nil } - logging.Logger.Debug().Msg("Creating temporary config file for Terraform credentials") + log.Debug().Msg("Creating temporary config file for Terraform credentials") tmpFile, err := os.CreateTemp("", "") if err != nil { return "", err } if os.Getenv("TF_CLI_CONFIG_FILE") != "" { - logging.Logger.Debug().Msgf("TF_CLI_CONFIG_FILE is set, copying existing config from %s to config to temporary config file %s", os.Getenv("TF_CLI_CONFIG_FILE"), tmpFile.Name()) + log.Debug().Msgf("TF_CLI_CONFIG_FILE is set, copying existing config from %s to config to temporary config file %s", os.Getenv("TF_CLI_CONFIG_FILE"), tmpFile.Name()) path := os.Getenv("TF_CLI_CONFIG_FILE") if !filepath.IsAbs(path) { path, err = filepath.Abs(filepath.Join(dir, path)) if err != nil { - logging.Logger.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) + log.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) } } if err == nil { err = copyFile(path, tmpFile.Name()) if err != nil { - logging.Logger.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) + log.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) } } } @@ -182,7 +183,7 @@ func CreateConfigFile(dir string, terraformCloudHost string, terraformCloudToken } `, host, terraformCloudToken) - logging.Logger.Debug().Msgf("Writing Terraform credentials to temporary config file %s", tmpFile.Name()) + log.Debug().Msgf("Writing Terraform credentials to temporary config file %s", tmpFile.Name()) if _, err := f.WriteString(contents); err != nil { return tmpFile.Name(), err } diff --git a/internal/providers/terraform/dir_provider.go b/internal/providers/terraform/dir_provider.go index 3dc82231ad8..0d5e6189d8f 100644 --- a/internal/providers/terraform/dir_provider.go +++ b/internal/providers/terraform/dir_provider.go @@ -18,9 +18,10 @@ import ( "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/credentials" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/ui" + + "github.com/rs/zerolog/log" ) var minTerraformVer = "v0.12" @@ -28,6 +29,7 @@ var minTerraformVer = "v0.12" type DirProvider struct { ctx *config.ProjectContext Path string + spinnerOpts ui.SpinnerOptions IsTerragrunt bool PlanFlags string InitFlags string @@ -53,8 +55,13 @@ func NewDirProvider(ctx *config.ProjectContext, includePastResources bool) schem } return &DirProvider{ - ctx: ctx, - Path: ctx.ProjectConfig.Path, + ctx: ctx, + Path: ctx.ProjectConfig.Path, + spinnerOpts: ui.SpinnerOptions{ + EnableLogging: ctx.RunContext.Config.IsLogging(), + NoColor: ctx.RunContext.Config.NoColor, + Indent: " ", + }, PlanFlags: ctx.ProjectConfig.TerraformPlanFlags, InitFlags: ctx.ProjectConfig.TerraformInitFlags, Workspace: ctx.ProjectConfig.TerraformWorkspace, @@ -67,28 +74,6 @@ func NewDirProvider(ctx *config.ProjectContext, includePastResources bool) schem } } -func (p *DirProvider) ProjectName() string { - if p.ctx.ProjectConfig.Name != "" { - return p.ctx.ProjectConfig.Name - } - - if p.ctx.ProjectConfig.TerraformWorkspace != "" { - return config.CleanProjectName(p.RelativePath()) + "-" + p.ctx.ProjectConfig.TerraformWorkspace - } - - return config.CleanProjectName(p.RelativePath()) -} - -func (p *DirProvider) VarFiles() []string { - return nil -} - -func (p *DirProvider) RelativePath() string { - r, _ := filepath.Rel(p.ctx.RunContext.Config.RepoPath(), p.ctx.ProjectConfig.Path) - - return r -} - func (p *DirProvider) Context() *config.ProjectContext { return p.ctx } func (p *DirProvider) Type() string { @@ -137,7 +122,7 @@ func (p *DirProvider) AddMetadata(metadata *schema.ProjectMetadata) { modulePath, err := filepath.Rel(basePath, metadata.Path) if err == nil && modulePath != "" && modulePath != "." { - logging.Logger.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) + log.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) metadata.TerraformModulePath = modulePath } @@ -150,7 +135,7 @@ func (p *DirProvider) AddMetadata(metadata *schema.ProjectMetadata) { out, err := cmd.Output() if err != nil { - logging.Logger.Debug().Msgf("Could not detect Terraform workspace for %s", p.Path) + log.Debug().Msgf("Could not detect Terraform workspace for %s", p.Path) } terraformWorkspace = strings.Split(string(out), "\n")[0] } @@ -172,7 +157,12 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e return projects, err } - logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") + spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ + EnableLogging: p.ctx.RunContext.Config.IsLogging(), + NoColor: p.ctx.RunContext.Config.NoColor, + Indent: " ", + }) + defer spinner.Fail() jsons := [][]byte{out} if p.IsTerragrunt { @@ -192,7 +182,6 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e } project := schema.NewProject(name, metadata) - project.DisplayName = p.ProjectName() parser := NewParser(p.ctx, p.includePastResources) @@ -213,6 +202,7 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e projects = append(projects, project) } + spinner.Success() return projects, nil } @@ -222,14 +212,15 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { } if UsePlanCache(p) { - logging.Logger.Debug().Msg("Checking for cached plan...") + spinner := ui.NewSpinner("Checking for cached plan...", p.spinnerOpts) + defer spinner.Fail() cached, err := ReadPlanCache(p) if err != nil { - logging.Logger.Debug().Msgf("Checking for cached plan... %v", err.Error()) + spinner.SuccessWithMessage(fmt.Sprintf("Checking for cached plan... %v", err.Error())) } else { p.cachedPlanJSON = cached - logging.Logger.Debug().Msg("Checking for cached plan... found") + spinner.SuccessWithMessage("Checking for cached plan... found") return p.cachedPlanJSON, nil } } @@ -247,7 +238,10 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - planFile, planJSON, err := p.runPlan(opts, true) + spinner := ui.NewSpinner("Running terraform plan", p.spinnerOpts) + defer spinner.Fail() + + planFile, planJSON, err := p.runPlan(opts, spinner, true) defer os.Remove(planFile) if err != nil { @@ -258,7 +252,8 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { return planJSON, nil } - j, err := p.runShow(opts, planFile, false) + spinner = ui.NewSpinner("Running terraform show", p.spinnerOpts) + j, err := p.runShow(opts, spinner, planFile, false) if err == nil { p.cachedPlanJSON = j if UsePlanCache(p) { @@ -287,7 +282,10 @@ func (p *DirProvider) generateStateJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - j, err := p.runShow(opts, "", true) + spinner := ui.NewSpinner("Running terraform show", p.spinnerOpts) + defer spinner.Fail() + + j, err := p.runShow(opts, spinner, "", true) if err == nil { p.cachedStateJSON = j } @@ -312,8 +310,7 @@ func (p *DirProvider) buildCommandOpts(path string) (*CmdOptions, error) { return opts, nil } -func (p *DirProvider) runPlan(opts *CmdOptions, initOnFail bool) (string, []byte, error) { - logging.Logger.Debug().Msg("Running terraform plan") +func (p *DirProvider) runPlan(opts *CmdOptions, spinner *ui.Spinner, initOnFail bool) (string, []byte, error) { var planJSON []byte fileName := ".tfplan-" + uuid.New().String() @@ -342,20 +339,21 @@ func (p *DirProvider) runPlan(opts *CmdOptions, initOnFail bool) (string, []byte // If the plan returns this error then Terraform is configured with remote execution mode if isTerraformRemoteExecutionErr(extractedErr) { - logging.Logger.Debug().Msg("Continuing with Terraform Remote Execution Mode") + log.Info().Msg("Continuing with Terraform Remote Execution Mode") p.ctx.ContextValues.SetValue("terraformRemoteExecutionModeEnabled", true) planJSON, err = p.runRemotePlan(opts, args) } else if initOnFail && isTerraformInitErr(extractedErr) { - err = p.runInit(opts) + spinner.Stop() + err = p.runInit(opts, ui.NewSpinner("Running terraform init", p.spinnerOpts)) if err != nil { return "", planJSON, err } - return p.runPlan(opts, false) + return p.runPlan(opts, spinner, false) } } if err != nil { - logging.Logger.Debug().Err(err).Msg("Failed terraform plan") + spinner.Fail() err = p.buildTerraformErr(err, false) cmdName := "terraform plan" @@ -366,12 +364,12 @@ func (p *DirProvider) runPlan(opts *CmdOptions, initOnFail bool) (string, []byte return "", planJSON, clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } + spinner.Success() + return fileName, planJSON, nil } -func (p *DirProvider) runInit(opts *CmdOptions) error { - logging.Logger.Debug().Msg("Running terraform init") - +func (p *DirProvider) runInit(opts *CmdOptions, spinner *ui.Spinner) error { args := []string{} if p.IsTerragrunt { args = append(args, "run-all", "--terragrunt-ignore-external-dependencies") @@ -392,8 +390,7 @@ func (p *DirProvider) runInit(opts *CmdOptions) error { _, err = Cmd(opts, args...) if err != nil { - logging.Logger.Debug().Msg("Failed terraform init") - + spinner.Fail() err = p.buildTerraformErr(err, true) cmdName := "terraform init" @@ -404,7 +401,7 @@ func (p *DirProvider) runInit(opts *CmdOptions) error { return clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } - logging.Logger.Debug().Msg("Finished running terraform init") + spinner.Success() return nil } @@ -461,8 +458,7 @@ func (p *DirProvider) runRemotePlan(opts *CmdOptions, args []string) ([]byte, er return cloudAPI(host, jsonPath, token) } -func (p *DirProvider) runShow(opts *CmdOptions, planFile string, initOnFail bool) ([]byte, error) { - logging.Logger.Debug().Msg("Running terraform show") +func (p *DirProvider) runShow(opts *CmdOptions, spinner *ui.Spinner, planFile string, initOnFail bool) ([]byte, error) { args := []string{"show", "-no-color", "-json"} if planFile != "" { args = append(args, planFile) @@ -475,18 +471,19 @@ func (p *DirProvider) runShow(opts *CmdOptions, planFile string, initOnFail bool // If the plan returns this error then Terraform is configured with remote execution mode if isTerraformRemoteExecutionErr(extractedErr) { - logging.Logger.Debug().Msg("Terraform expected Remote Execution Mode") + log.Info().Msg("Terraform expected Remote Execution Mode") } else if initOnFail && isTerraformInitErr(extractedErr) { - err = p.runInit(opts) + spinner.Stop() + err = p.runInit(opts, ui.NewSpinner("Running terraform init", p.spinnerOpts)) if err != nil { return out, err } - return p.runShow(opts, planFile, false) + return p.runShow(opts, spinner, planFile, false) } } if err != nil { - logging.Logger.Debug().Msg("Failed terraform show") + spinner.Fail() err = p.buildTerraformErr(err, false) cmdName := "terraform show" @@ -496,7 +493,7 @@ func (p *DirProvider) runShow(opts *CmdOptions, planFile string, initOnFail bool msg := fmt.Sprintf("%s failed", cmdName) return []byte{}, clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } - logging.Logger.Debug().Msg("Finished running terraform show") + spinner.Success() return out, nil } diff --git a/internal/providers/terraform/google/container_cluster.go b/internal/providers/terraform/google/container_cluster.go index f0520ddb93f..b3a622ebeda 100644 --- a/internal/providers/terraform/google/container_cluster.go +++ b/internal/providers/terraform/google/container_cluster.go @@ -3,9 +3,9 @@ package google import ( "fmt" + "github.com/rs/zerolog/log" "github.com/tidwall/gjson" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/google" "github.com/infracost/infracost/internal/schema" ) @@ -58,7 +58,7 @@ func newContainerCluster(d *schema.ResourceData) schema.CoreResource { nameIndex := 0 for _, values := range d.Get("node_pool").Array() { if contains(definedNodePoolNames, values.Get("name").String()) { - logging.Logger.Debug().Msgf("Skipping node pool with name %s since it is defined in another resource", values.Get("name").String()) + log.Debug().Msgf("Skipping node pool with name %s since it is defined in another resource", values.Get("name").String()) continue } diff --git a/internal/providers/terraform/google/container_node_pool.go b/internal/providers/terraform/google/container_node_pool.go index fbb68f3c475..6583bc51be9 100644 --- a/internal/providers/terraform/google/container_node_pool.go +++ b/internal/providers/terraform/google/container_node_pool.go @@ -1,9 +1,9 @@ package google import ( + "github.com/rs/zerolog/log" "github.com/tidwall/gjson" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/google" "github.com/infracost/infracost/internal/schema" ) @@ -55,7 +55,7 @@ func newNodePool(address string, d gjson.Result, cluster *schema.ResourceData) * } if region == "" { - logging.Logger.Warn().Msgf("Skipping resource %s. Unable to determine region", address) + log.Warn().Msgf("Skipping resource %s. Unable to determine region", address) return nil } diff --git a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden index 68506c47182..7908fd77770 100644 --- a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden +++ b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $147 ┃ $147 ┃ +┃ TestArtifactRegistryRepositoryGoldenFile ┃ $0.00 ┃ $147 ┃ $147 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden index de45e2e77f5..9a2a32a709e 100644 --- a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $627 ┃ $627 ┃ +┃ TestBigqueryDataset ┃ $0.00 ┃ $627 ┃ $627 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden index 1176a29c74c..595adf96a0d 100644 --- a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1,164 ┃ $1,164 ┃ +┃ TestBigqueryTable ┃ $0.00 ┃ $1,164 ┃ $1,164 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden index 657d2ba053b..bbdf508fa22 100644 --- a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden +++ b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ TestCloudFunctions ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden index cecf6f6cb61..a0ca6e41294 100644 --- a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden +++ b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden @@ -43,5 +43,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $48 ┃ $0.00 ┃ $48 ┃ +┃ TestComputeAddress ┃ $48 ┃ $0.00 ┃ $48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden index 2478e9f3632..5bf3f6ff468 100644 --- a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden +++ b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden @@ -61,5 +61,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $18,978 ┃ $5 ┃ $18,982 ┃ +┃ TestComputeDiskGoldenFile ┃ $18,978 ┃ $5 ┃ $18,982 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden index e34b7badc34..35d688ef812 100644 --- a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $3,245 ┃ $3,245 ┃ +┃ TestComputeExternalVPNGateway ┃ $0.00 ┃ $3,245 ┃ $3,245 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden index 0367513beae..58ed9dd7d71 100644 --- a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden +++ b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $22 ┃ $2 ┃ $24 ┃ +┃ TestComputeForwardingRule ┃ $22 ┃ $2 ┃ $24 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden index 84e6a3fbd1a..ba1c9907abd 100644 --- a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $47 ┃ $47 ┃ +┃ TestComputeHAVPNGateway ┃ $0.00 ┃ $47 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden index 06aabb75ef1..8137570c0e4 100644 --- a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $40 ┃ $211 ┃ $251 ┃ +┃ TestComputeImageGoldenFile ┃ $40 ┃ $211 ┃ $251 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden index 7dd49c053ef..39e8068beab 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $2,230 ┃ $0.00 ┃ $2,230 ┃ +┃ TestComputeInstanceGroupManagerGoldenFile ┃ $2,230 ┃ $0.00 ┃ $2,230 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden index 875f927baa9..61cb09f6e2d 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden @@ -99,8 +99,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $10,250 ┃ $0.00 ┃ $10,250 ┃ +┃ TestComputeInstanceGoldenFile ┃ $10,250 ┃ $0.00 ┃ $10,250 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource google_compute_instance.e2_custom. Infracost currently does not support E2 custom instances \ No newline at end of file +WRN Skipping resource google_compute_instance.e2_custom. Infracost currently does not support E2 custom instances \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden index 93281cc1050..a22634983d9 100644 --- a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $25 ┃ $250 ┃ $275 ┃ +┃ TestComputeMachineImageGoldenFile ┃ $25 ┃ $250 ┃ $275 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden index 3146da8fc8b..97084fb8ef4 100644 --- a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $68 ┃ $0.00 ┃ $68 ┃ +┃ TestComputePerInstanceConfig ┃ $68 ┃ $0.00 ┃ $68 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden index 19ca4a14329..ef243e0be9f 100644 --- a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,375 ┃ $0.00 ┃ $1,375 ┃ +┃ TestComputeRegionInstanceGroupManagerGoldenFile ┃ $1,375 ┃ $0.00 ┃ $1,375 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden index 7b4fcb87f7e..a3c60b6ae83 100644 --- a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $68 ┃ $0.00 ┃ $68 ┃ +┃ TestComputeRegionPerInstanceConfig ┃ $68 ┃ $0.00 ┃ $68 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden index 1069a2ecec7..23d61cdfc09 100644 --- a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden +++ b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $127 ┃ $127 ┃ +┃ TestComputeRouterNAT ┃ $0.00 ┃ $127 ┃ $127 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden index fb705f62e53..1def8428b44 100644 --- a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden +++ b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $4 ┃ $29 ┃ $33 ┃ +┃ TestComputeSnapshotGoldenFile ┃ $4 ┃ $29 ┃ $33 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden index 564e6ea6ee6..984cb061e17 100644 --- a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden +++ b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden @@ -44,5 +44,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1,309 ┃ $1,309 ┃ +┃ TestСomputeTargetGrpcProxy ┃ $0.00 ┃ $1,309 ┃ $1,309 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden index b20a52b96f2..370bd2c52bd 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $47 ┃ $47 ┃ +┃ TestComputeVPNGateway ┃ $0.00 ┃ $47 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden index 2cf46f5e45a..a933ea80a69 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ TestComputeVPNTunnel ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden index ca616ffeda4..20f87a7cc7d 100644 --- a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden +++ b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden @@ -149,8 +149,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $27,590 ┃ $509 ┃ $28,099 ┃ +┃ TestContainerClusterGoldenFile ┃ $27,590 ┃ $509 ┃ $28,099 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN Skipping resource node_pool[0]. Infracost currently does not support E2 custom instances \ No newline at end of file +WRN Skipping resource node_pool[0]. Infracost currently does not support E2 custom instances \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden index 83fddf1a255..d93698ec202 100644 --- a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden +++ b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden @@ -133,5 +133,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $27,982 ┃ $0.00 ┃ $27,982 ┃ +┃ TestContainerNodePoolGoldenFile ┃ $27,982 ┃ $0.00 ┃ $27,982 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden index 8dd0fa1d20b..4c3bd0f2ceb 100644 --- a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $1,567 ┃ $1,567 ┃ +┃ TestContainerRegistryGoldenFile ┃ $0.00 ┃ $1,567 ┃ $1,567 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden index 66c429ba95b..3bf3cdb5e6c 100644 --- a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden +++ b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.20 ┃ $0.00 ┃ $0.20 ┃ +┃ TestDNSManagedZoneGoldenFile ┃ $0.20 ┃ $0.00 ┃ $0.20 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden index f8fd2da773a..c2b0465d412 100644 --- a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden +++ b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $0.04 ┃ $0.04 ┃ +┃ TestDNSRecordSetGoldenFile ┃ $0.00 ┃ $0.04 ┃ $0.04 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden index 6e45823ba41..8fd252af3b8 100644 --- a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden +++ b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $8,002 ┃ $8,002 ┃ +┃ TestKMSCryptoKeyGoldenFile ┃ $0.00 ┃ $8,002 ┃ $8,002 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden index 55cd6403747..6f0fce241f8 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestLoggingBillingAccountBucketConfigGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden index b79131e0789..262e150882b 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestLoggingBillingAccountSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden index 2824914a48a..c86b05f021e 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestLoggingFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden index f63eef38e8e..5350e3f2a2f 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestLoggingFolderSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden index 5e9d35938d1..0e2f58cb3c3 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestLoggingOrgFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden index e4b74497b1e..9986664abf3 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestLoggingOrgSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden index d82f3e1ceff..bb028323b02 100644 --- a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestLoggingProjectFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden index 7a9ee8788ae..ff6a74010ca 100644 --- a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ TestLoggingProjectSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden index 9031758fdad..681e630a303 100644 --- a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden +++ b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $63,710 ┃ $63,710 ┃ +┃ TestMonitoring ┃ $0.00 ┃ $63,710 ┃ $63,710 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden index d37407274f2..c9a6087f3e6 100644 --- a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $414 ┃ $414 ┃ +┃ TestPubSubSubscription ┃ $0.00 ┃ $414 ┃ $414 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden index b26b3735ae2..1d44d2e55ae 100644 --- a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $400 ┃ $400 ┃ +┃ TestPubSubTopic ┃ $0.00 ┃ $400 ┃ $400 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden index 8c7b63fe249..18fc8fee198 100644 --- a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden +++ b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $6,937 ┃ $0.00 ┃ $6,937 ┃ +┃ TestRedisInstance ┃ $6,937 ┃ $0.00 ┃ $6,937 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden index 0566c7cff0f..a7282129064 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $786 ┃ $786 ┃ +┃ TestSecretManagerSecretGoldenFile ┃ $0.00 ┃ $786 ┃ $786 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden index 0a454329d46..5480f43d966 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.30 ┃ $0.08 ┃ $0.38 ┃ +┃ TestSecretManagerSecretVersionGoldenFile ┃ $0.30 ┃ $0.08 ┃ $0.38 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden index a0100fb8a75..27cfda6a918 100644 --- a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden +++ b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $47 ┃ $0.00 ┃ $47 ┃ +┃ TestServiceNetworkingConnectionGoldenFile ┃ $47 ┃ $0.00 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden index 7cd30142005..f45ff3f07c7 100644 --- a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden +++ b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden @@ -1119,8 +1119,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $221,684 ┃ $80 ┃ $221,764 ┃ +┃ TestNewSQLInstance ┃ $221,684 ┃ $80 ┃ $221,764 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WARN edition ENTERPRISE_PLUS of google_sql_database_instance.enterprise_plus is not yet supported \ No newline at end of file +WRN edition ENTERPRISE_PLUS of google_sql_database_instance.enterprise_plus is not yet supported \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden index e299ba0ec52..5ff98f067cd 100644 --- a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden +++ b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden @@ -52,5 +52,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $0.00 ┃ $3,136 ┃ $3,136 ┃ +┃ TestStorageBucket ┃ $0.00 ┃ $3,136 ┃ $3,136 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/hcl_provider.go b/internal/providers/terraform/hcl_provider.go index 0f60ab70df8..144eb41b181 100644 --- a/internal/providers/terraform/hcl_provider.go +++ b/internal/providers/terraform/hcl_provider.go @@ -27,6 +27,7 @@ import ( "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/infracost/infracost/internal/ui" ) var json = jsoniter.ConfigCompatibleWithStandardLibrary @@ -183,21 +184,9 @@ func NewHCLProvider(ctx *config.ProjectContext, rootPath hcl.RootPath, config *H func (p *HCLProvider) Context() *config.ProjectContext { return p.ctx } func (p *HCLProvider) ProjectName() string { - if p.ctx.ProjectConfig.Name != "" { - return p.ctx.ProjectConfig.Name - } - - if p.ctx.ProjectConfig.TerraformWorkspace != "" { - return p.Parser.ProjectName() + "-" + p.ctx.ProjectConfig.TerraformWorkspace - } - return p.Parser.ProjectName() } -func (p *HCLProvider) VarFiles() []string { - return p.Parser.VarFiles() -} - func (p *HCLProvider) EnvName() string { return p.Parser.EnvName() } @@ -206,12 +195,16 @@ func (p *HCLProvider) RelativePath() string { return p.Parser.RelativePath() } +func (p *HCLProvider) TerraformVarFiles() []string { + return p.Parser.TerraformVarFiles() +} + func (p *HCLProvider) YAML() string { return p.Parser.YAML() } func (p *HCLProvider) Type() string { return "terraform_dir" } -func (p *HCLProvider) DisplayType() string { return "Terraform" } +func (p *HCLProvider) DisplayType() string { return "Terraform directory" } func (p *HCLProvider) AddMetadata(metadata *schema.ProjectMetadata) { metadata.ConfigSha = p.ctx.ProjectConfig.ConfigSha @@ -292,9 +285,7 @@ func (p *HCLProvider) newProject(parsed HCLProject) *schema.Project { } } - project := schema.NewProject(name, metadata) - project.DisplayName = p.ProjectName() - return project + return schema.NewProject(name, metadata) } func (p *HCLProvider) printWarning(warning *schema.ProjectDiag) { @@ -304,7 +295,12 @@ func (p *HCLProvider) printWarning(warning *schema.ProjectDiag) { return } - logging.Logger.Warn().Msg(warning.FriendlyMessage) + if p.ctx.RunContext.Config.IsLogging() { + logging.Logger.Warn().Msg(warning.FriendlyMessage) + return + } + + ui.PrintWarning(p.ctx.RunContext.ErrWriter, warning.FriendlyMessage) } type HCLProject struct { diff --git a/internal/providers/terraform/plan_cache.go b/internal/providers/terraform/plan_cache.go index 24529e5e263..609ca417246 100644 --- a/internal/providers/terraform/plan_cache.go +++ b/internal/providers/terraform/plan_cache.go @@ -12,7 +12,8 @@ import ( "github.com/hashicorp/terraform-config-inspect/tfconfig" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" + + "github.com/rs/zerolog/log" ) var cacheFileVersion = "0.1" @@ -41,68 +42,68 @@ type configState struct { func (state *configState) equivalent(otherState *configState) (bool, error) { if state.Version != otherState.Version { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: version changed") + log.Debug().Msgf("Plan cache config state not equivalent: version changed") return false, fmt.Errorf("version changed") } if state.TerraformPlanFlags != otherState.TerraformPlanFlags { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_plan_flags changed") + log.Debug().Msgf("Plan cache config state not equivalent: terraform_plan_flags changed") return false, fmt.Errorf("terraform_plan_flags changed") } if state.TerraformUseState != otherState.TerraformUseState { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_use_state changed") + log.Debug().Msgf("Plan cache config state not equivalent: terraform_use_state changed") return false, fmt.Errorf("terraform_use_state changed") } if state.TerraformWorkspace != otherState.TerraformWorkspace { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_workspace changed") + log.Debug().Msgf("Plan cache config state not equivalent: terraform_workspace changed") return false, fmt.Errorf("terraform_workspace changed") } if state.TerraformBinary != otherState.TerraformBinary { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_binary changed") + log.Debug().Msgf("Plan cache config state not equivalent: terraform_binary changed") return false, fmt.Errorf("terraform_binary changed") } if state.TerraformCloudToken != otherState.TerraformCloudToken { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_token changed") + log.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_token changed") return false, fmt.Errorf("terraform_cloud_token changed") } if state.TerraformCloudHost != otherState.TerraformCloudHost { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_host changed") + log.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_host changed") return false, fmt.Errorf("terraform_cloud_host changed") } if state.ConfigEnv != otherState.ConfigEnv { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: config_env changed") + log.Debug().Msgf("Plan cache config state not equivalent: config_env changed") return false, fmt.Errorf("config_env changed") } if state.TFEnv != otherState.TFEnv { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_env changed") + log.Debug().Msgf("Plan cache config state not equivalent: tf_env changed") return false, fmt.Errorf("tf_env changed") } if state.TFLockFileDate != otherState.TFLockFileDate { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_lock_file_date changed") + log.Debug().Msgf("Plan cache config state not equivalent: tf_lock_file_date changed") return false, fmt.Errorf("tf_lock_file_date changed") } if state.TFDataDate != otherState.TFDataDate { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_data_date changed") + log.Debug().Msgf("Plan cache config state not equivalent: tf_data_date changed") return false, fmt.Errorf("tf_data_date changed") } if len(state.TFConfigFileStates) != len(otherState.TFConfigFileStates) { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: TFConfigFileStates has changed size") + log.Debug().Msgf("Plan cache config state not equivalent: TFConfigFileStates has changed size") return false, fmt.Errorf("tf_config_file_states changed size") } for i := range state.TFConfigFileStates { if state.TFConfigFileStates[i] != otherState.TFConfigFileStates[i] { - logging.Logger.Debug().Msgf("Plan cache config state not equivalent: %v", state.TFConfigFileStates[i]) + log.Debug().Msgf("Plan cache config state not equivalent: %v", state.TFConfigFileStates[i]) return false, fmt.Errorf("tf_config_file_states changed") } } @@ -143,20 +144,20 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { info, err := os.Stat(cache) if err != nil { - logging.Logger.Debug().Msgf("Skipping plan cache: Cache file does not exist") + log.Debug().Msgf("Skipping plan cache: Cache file does not exist") p.ctx.CacheErr = "not found" return nil, fmt.Errorf("not found") } if time.Now().Unix()-info.ModTime().Unix() > cacheMaxAgeSecs { - logging.Logger.Debug().Msgf("Skipping plan cache: Cache file is too old") + log.Debug().Msgf("Skipping plan cache: Cache file is too old") p.ctx.CacheErr = "expired" return nil, fmt.Errorf("expired") } data, err := os.ReadFile(cache) if err != nil { - logging.Logger.Debug().Msgf("Skipping plan cache: Error reading cache file: %v", err) + log.Debug().Msgf("Skipping plan cache: Error reading cache file: %v", err) p.ctx.CacheErr = "unreadable" return nil, fmt.Errorf("unreadable") } @@ -164,19 +165,19 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { var cf cacheFile err = json.Unmarshal(data, &cf) if err != nil { - logging.Logger.Debug().Msgf("Skipping plan cache: Error unmarshalling cache file: %v", err) + log.Debug().Msgf("Skipping plan cache: Error unmarshalling cache file: %v", err) p.ctx.CacheErr = "bad format" return nil, fmt.Errorf("bad format") } state := calcConfigState(p) if _, err := cf.ConfigState.equivalent(&state); err != nil { - logging.Logger.Debug().Msgf("Skipping plan cache: Config state has changed") + log.Debug().Msgf("Skipping plan cache: Config state has changed") p.ctx.CacheErr = err.Error() return nil, fmt.Errorf("change detected") } - logging.Logger.Debug().Msgf("Read plan JSON from %v", cacheFileName) + log.Debug().Msgf("Read plan JSON from %v", cacheFileName) p.ctx.UsingCache = true return cf.Plan, nil } @@ -184,7 +185,7 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { func WritePlanCache(p *DirProvider, planJSON []byte) { cacheJSON, err := json.Marshal(cacheFile{ConfigState: calcConfigState(p), Plan: planJSON}) if err != nil { - logging.Logger.Debug().Msgf("Failed to marshal plan cache: %v", err) + log.Debug().Msgf("Failed to marshal plan cache: %v", err) return } @@ -194,7 +195,7 @@ func WritePlanCache(p *DirProvider, planJSON []byte) { if os.IsNotExist(err) { err := os.MkdirAll(cacheDir, 0700) if err != nil { - logging.Logger.Debug().Msgf("Couldn't create %v directory: %v", config.InfracostDir, err) + log.Debug().Msgf("Couldn't create %v directory: %v", config.InfracostDir, err) return } } @@ -202,10 +203,10 @@ func WritePlanCache(p *DirProvider, planJSON []byte) { err = os.WriteFile(path.Join(cacheDir, cacheFileName), cacheJSON, 0600) if err != nil { - logging.Logger.Debug().Msgf("Failed to write plan cache: %v", err) + log.Debug().Msgf("Failed to write plan cache: %v", err) return } - logging.Logger.Debug().Msgf("Wrote plan JSON to %v", cacheFileName) + log.Debug().Msgf("Wrote plan JSON to %v", cacheFileName) } func calcDataDir(p *DirProvider) string { diff --git a/internal/providers/terraform/plan_json_provider.go b/internal/providers/terraform/plan_json_provider.go index 5536638acb8..b30426387c9 100644 --- a/internal/providers/terraform/plan_json_provider.go +++ b/internal/providers/terraform/plan_json_provider.go @@ -10,6 +10,7 @@ import ( "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/infracost/infracost/internal/ui" ) type PlanJSONProvider struct { @@ -39,18 +40,6 @@ func NewPlanJSONProvider(ctx *config.ProjectContext, includePastResources bool) } } -func (p *PlanJSONProvider) ProjectName() string { - return config.CleanProjectName(p.ctx.ProjectConfig.Path) -} - -func (p *PlanJSONProvider) VarFiles() []string { - return nil -} - -func (p *PlanJSONProvider) RelativePath() string { - return p.ctx.ProjectConfig.Path -} - func (p *PlanJSONProvider) Context() *config.ProjectContext { return p.ctx } @@ -72,12 +61,19 @@ func (p *PlanJSONProvider) AddMetadata(metadata *schema.ProjectMetadata) { } func (p *PlanJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { + spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ + EnableLogging: p.ctx.RunContext.Config.IsLogging(), + NoColor: p.ctx.RunContext.Config.NoColor, + Indent: " ", + }) + defer spinner.Fail() + j, err := os.ReadFile(p.Path) if err != nil { return []*schema.Project{}, fmt.Errorf("Error reading Terraform plan JSON file %w", err) } - project, err := p.LoadResourcesFromSrc(usage, j) + project, err := p.LoadResourcesFromSrc(usage, j, spinner) if err != nil { return nil, err } @@ -85,7 +81,7 @@ func (p *PlanJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proje return []*schema.Project{project}, nil } -func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte) (*schema.Project, error) { +func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte, spinner *ui.Spinner) (*schema.Project, error) { metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() p.AddMetadata(metadata) @@ -116,5 +112,9 @@ func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte) } } + if spinner != nil { + spinner.Success() + } + return project, nil } diff --git a/internal/providers/terraform/plan_provider.go b/internal/providers/terraform/plan_provider.go index 0bb3755acd1..387c69a1c29 100644 --- a/internal/providers/terraform/plan_provider.go +++ b/internal/providers/terraform/plan_provider.go @@ -6,10 +6,10 @@ import ( "path/filepath" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/ui" ) @@ -31,18 +31,6 @@ func NewPlanProvider(ctx *config.ProjectContext, includePastResources bool) sche } } -func (p *PlanProvider) ProjectName() string { - return config.CleanProjectName(p.ctx.ProjectConfig.Path) -} - -func (p *PlanProvider) VarFiles() []string { - return nil -} - -func (p *PlanProvider) RelativePath() string { - return p.ctx.ProjectConfig.Path -} - func (p *PlanProvider) Type() string { return "terraform_plan_binary" } @@ -51,20 +39,18 @@ func (p *PlanProvider) DisplayType() string { return "Terraform plan binary file" } -func (p *PlanProvider) LoadResources(usage schema.UsageMap) (projects []*schema.Project, err error) { +func (p *PlanProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { j, err := p.generatePlanJSON() if err != nil { return []*schema.Project{}, err } - logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") - defer func() { - if err != nil { - logging.Logger.Debug().Err(err).Msg("Error running plan provider") - } else { - logging.Logger.Debug().Msg("Finished running plan provider") - } - }() + spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ + EnableLogging: p.ctx.RunContext.Config.IsLogging(), + NoColor: p.ctx.RunContext.Config.NoColor, + Indent: " ", + }) + defer spinner.Fail() metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() @@ -88,6 +74,7 @@ func (p *PlanProvider) LoadResources(usage schema.UsageMap) (projects []*schema. project.PartialPastResources = parsedConf.PastResources project.PartialResources = parsedConf.CurrentResources + spinner.Success() return []*schema.Project{project}, nil } @@ -100,7 +87,7 @@ func (p *PlanProvider) generatePlanJSON() ([]byte, error) { planPath := filepath.Base(p.Path) if !IsTerraformDir(dir) { - logging.Logger.Debug().Msgf("%s is not a Terraform directory, checking current working directory", dir) + log.Debug().Msgf("%s is not a Terraform directory, checking current working directory", dir) dir, err := os.Getwd() if err != nil { return []byte{}, err @@ -134,9 +121,10 @@ func (p *PlanProvider) generatePlanJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - logging.Logger.Debug().Msg("Running terraform show") + spinner := ui.NewSpinner("Running terraform show", p.spinnerOpts) + defer spinner.Fail() - j, err := p.runShow(opts, planPath, false) + j, err := p.runShow(opts, spinner, planPath, false) if err == nil { p.cachedPlanJSON = j } diff --git a/internal/providers/terraform/state_json_provider.go b/internal/providers/terraform/state_json_provider.go index c27989b89fc..50192bab57f 100644 --- a/internal/providers/terraform/state_json_provider.go +++ b/internal/providers/terraform/state_json_provider.go @@ -3,11 +3,11 @@ package terraform import ( "os" - "github.com/pkg/errors" - "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/infracost/infracost/internal/ui" + + "github.com/pkg/errors" ) type StateJSONProvider struct { @@ -24,18 +24,6 @@ func NewStateJSONProvider(ctx *config.ProjectContext, includePastResources bool) } } -func (p *StateJSONProvider) ProjectName() string { - return config.CleanProjectName(p.ctx.ProjectConfig.Path) -} - -func (p *StateJSONProvider) VarFiles() []string { - return nil -} - -func (p *StateJSONProvider) RelativePath() string { - return p.ctx.ProjectConfig.Path -} - func (p *StateJSONProvider) Context() *config.ProjectContext { return p.ctx } func (p *StateJSONProvider) Type() string { @@ -51,7 +39,12 @@ func (p *StateJSONProvider) AddMetadata(metadata *schema.ProjectMetadata) { } func (p *StateJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { - logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") + spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ + EnableLogging: p.ctx.RunContext.Config.IsLogging(), + NoColor: p.ctx.RunContext.Config.NoColor, + Indent: " ", + }) + defer spinner.Fail() j, err := os.ReadFile(p.Path) if err != nil { @@ -80,5 +73,6 @@ func (p *StateJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proj project.PartialPastResources = parsedConf.PastResources project.PartialResources = parsedConf.CurrentResources + spinner.Success() return []*schema.Project{project}, nil } diff --git a/internal/providers/terraform/terragrunt_hcl_provider.go b/internal/providers/terraform/terragrunt_hcl_provider.go index 70cb79ba588..aee688de891 100644 --- a/internal/providers/terraform/terragrunt_hcl_provider.go +++ b/internal/providers/terraform/terragrunt_hcl_provider.go @@ -174,11 +174,7 @@ func getEnvVars(ctx *config.ProjectContext) map[string]string { func (p *TerragruntHCLProvider) Context() *config.ProjectContext { return p.ctx } func (p *TerragruntHCLProvider) ProjectName() string { - if p.ctx.ProjectConfig.Name != "" { - return p.ctx.ProjectConfig.Name - } - - return config.CleanProjectName(p.RelativePath()) + return "" } func (p *TerragruntHCLProvider) EnvName() string { @@ -194,14 +190,14 @@ func (p *TerragruntHCLProvider) RelativePath() string { return r } -func (p *TerragruntHCLProvider) VarFiles() []string { +func (p *TerragruntHCLProvider) TerraformVarFiles() []string { return nil } func (p *TerragruntHCLProvider) YAML() string { str := strings.Builder{} - str.WriteString(fmt.Sprintf(" - path: %s\n name: %s\n", p.RelativePath(), p.ProjectName())) + str.WriteString(fmt.Sprintf(" - path: %s\n", p.RelativePath())) return str.String() } @@ -210,7 +206,7 @@ func (p *TerragruntHCLProvider) Type() string { } func (p *TerragruntHCLProvider) DisplayType() string { - return "Terragrunt" + return "Terragrunt directory" } func (p *TerragruntHCLProvider) AddMetadata(metadata *schema.ProjectMetadata) { @@ -257,6 +253,12 @@ func (p *TerragruntHCLProvider) LoadResources(usage schema.UsageMap) ([]*schema. parallelism, _ := runCtx.GetParallelism() numJobs := len(dirs) + runInParallel := parallelism > 1 && numJobs > 1 + if runInParallel && !runCtx.Config.IsLogging() { + p.logger.Level(zerolog.InfoLevel) + p.ctx.RunContext.Config.LogLevel = "info" + } + if numJobs < parallelism { parallelism = numJobs } @@ -303,7 +305,6 @@ func (p *TerragruntHCLProvider) LoadResources(usage schema.UsageMap) ([]*schema. metadata.Warnings = di.warnings project.Metadata = metadata project.Name = p.generateProjectName(metadata) - project.DisplayName = p.ProjectName() mu.Lock() allProjects = append(allProjects, project) mu.Unlock() @@ -342,10 +343,7 @@ func (p *TerragruntHCLProvider) newErroredProject(di *terragruntWorkingDirInfo) metadata.AddError(schema.NewDiagTerragruntEvaluationFailure(di.error)) } - project := schema.NewProject(p.generateProjectName(metadata), metadata) - project.DisplayName = p.ProjectName() - - return project + return schema.NewProject(p.generateProjectName(metadata), metadata) } func (p *TerragruntHCLProvider) generateProjectName(metadata *schema.ProjectMetadata) string { @@ -585,7 +583,9 @@ func (p *TerragruntHCLProvider) runTerragrunt(opts *tgoptions.TerragruntOptions) } pconfig.TerraformVars = p.initTerraformVars(pconfig.TerraformVars, terragruntConfig.Inputs) - var ops []hcl.Option + ops := []hcl.Option{ + hcl.OptionWithSpinner(p.ctx.RunContext.NewSpinner), + } inputs, err := convertToCtyWithJson(terragruntConfig.Inputs) if err != nil { p.logger.Debug().Msgf("Failed to build Terragrunt inputs for: %s err: %s", info.workingDir, err) @@ -992,7 +992,7 @@ func (p *TerragruntHCLProvider) decodeTerragruntDepsToValue(targetConfig string, return encoded, nil } - p.logger.Debug().Err(err).Msg("could not transform output blocks to cty type, using dummy output type") + p.logger.Warn().Err(err).Msg("could not transform output blocks to cty type, using dummy output type") } return cty.EmptyObjectVal, nil diff --git a/internal/providers/terraform/terragrunt_provider.go b/internal/providers/terraform/terragrunt_provider.go index 414cb340eb2..2a0111bd85e 100644 --- a/internal/providers/terraform/terragrunt_provider.go +++ b/internal/providers/terraform/terragrunt_provider.go @@ -10,11 +10,12 @@ import ( "github.com/kballard/go-shellquote" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/infracost/infracost/internal/ui" ) var defaultTerragruntBinary = "terragrunt" @@ -58,18 +59,6 @@ func NewTerragruntProvider(ctx *config.ProjectContext, includePastResources bool } } -func (p *TerragruntProvider) ProjectName() string { - return config.CleanProjectName(p.ctx.ProjectConfig.Path) -} - -func (p *TerragruntProvider) VarFiles() []string { - return nil -} - -func (p *TerragruntProvider) RelativePath() string { - return p.ctx.ProjectConfig.Path -} - func (p *TerragruntProvider) Context() *config.ProjectContext { return p.ctx } func (p *TerragruntProvider) Type() string { @@ -90,7 +79,7 @@ func (p *TerragruntProvider) AddMetadata(metadata *schema.ProjectMetadata) { modulePath, err := filepath.Rel(basePath, metadata.Path) if err == nil && modulePath != "" && modulePath != "." { - logging.Logger.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) + log.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) metadata.TerraformModulePath = modulePath } @@ -102,6 +91,7 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro // Terragrunt internally runs Terraform in the working dirs, so we need to be aware of these // so we can handle reading and cleaning up the generated plan files. projectDirs, err := p.getProjectDirs() + if err != nil { return []*schema.Project{}, err } @@ -119,7 +109,12 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro projects := make([]*schema.Project, 0, len(projectDirs)) - logging.Logger.Debug().Msg("Extracting only cost-related params from terragrunt plan") + spinner := ui.NewSpinner("Extracting only cost-related params from terragrunt plan", ui.SpinnerOptions{ + EnableLogging: p.ctx.RunContext.Config.IsLogging(), + NoColor: p.ctx.RunContext.Config.NoColor, + Indent: " ", + }) + defer spinner.Fail() for i, projectDir := range projectDirs { projectPath := projectDir.ConfigDir // attempt to convert project path to be relative to the top level provider path @@ -157,11 +152,13 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro projects = append(projects, project) } + spinner.Success() return projects, nil } func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { - logging.Logger.Debug().Msg("Running terragrunt run-all terragrunt-info") + spinner := ui.NewSpinner("Running terragrunt run-all terragrunt-info", p.spinnerOpts) + defer spinner.Fail() terragruntFlags, err := shellquote.Split(p.TerragruntFlags) if err != nil { @@ -175,6 +172,7 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { } out, err := Cmd(opts, "run-all", "--terragrunt-ignore-external-dependencies", "terragrunt-info") if err != nil { + spinner.Fail() err = p.buildTerraformErr(err, false) msg := "terragrunt run-all terragrunt-info failed" @@ -199,7 +197,8 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { var info TerragruntInfo err = json.Unmarshal(j, &info) if err != nil { - return dirs, fmt.Errorf("error unmarshalling terragrunt-info JSON: %w", err) + spinner.Fail() + return dirs, err } dirs = append(dirs, terragruntProjectDirs{ @@ -213,6 +212,8 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { return dirs[i].ConfigDir < dirs[j].ConfigDir }) + spinner.Success() + return dirs, nil } @@ -224,6 +225,13 @@ func (p *TerragruntProvider) generateStateJSONs(projectDirs []terragruntProjectD outs := make([][]byte, 0, len(projectDirs)) + spinnerMsg := "Running terragrunt show" + if len(projectDirs) > 1 { + spinnerMsg += " for each project" + } + spinner := ui.NewSpinner(spinnerMsg, p.spinnerOpts) + defer spinner.Fail() + for _, projectDir := range projectDirs { opts, err := p.buildCommandOpts(projectDir.ConfigDir) if err != nil { @@ -240,7 +248,7 @@ func (p *TerragruntProvider) generateStateJSONs(projectDirs []terragruntProjectD defer os.Remove(opts.TerraformConfigFile) } - out, err := p.runShow(opts, "", false) + out, err := p.runShow(opts, spinner, "", false) if err != nil { return outs, err } @@ -278,13 +286,14 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi defer os.Remove(opts.TerraformConfigFile) } - logging.Logger.Debug().Msg("Running terragrunt run-all plan") + spinner := ui.NewSpinner("Running terragrunt run-all plan", p.spinnerOpts) + defer spinner.Fail() - planFile, planJSON, err := p.runPlan(opts, true) + planFile, planJSON, err := p.runPlan(opts, spinner, true) defer func() { err := cleanupPlanFiles(projectDirs, planFile) if err != nil { - logging.Logger.Warn().Msgf("Error cleaning up plan files: %v", err) + log.Warn().Msgf("Error cleaning up plan files: %v", err) } }() @@ -297,7 +306,11 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi } outs := make([][]byte, 0, len(projectDirs)) - logging.Logger.Debug().Msg("Running terragrunt show") + spinnerMsg := "Running terragrunt show" + if len(projectDirs) > 1 { + spinnerMsg += " for each project" + } + spinner = ui.NewSpinner(spinnerMsg, p.spinnerOpts) for _, projectDir := range projectDirs { opts, err := p.buildCommandOpts(projectDir.ConfigDir) @@ -308,7 +321,7 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi defer os.Remove(opts.TerraformConfigFile) } - out, err := p.runShow(opts, filepath.Join(projectDir.WorkingDir, planFile), false) + out, err := p.runShow(opts, spinner, filepath.Join(projectDir.WorkingDir, planFile), false) if err != nil { return outs, err } diff --git a/internal/providers/terraform/tftest/tftest.go b/internal/providers/terraform/tftest/tftest.go index 23efdc94115..d5444e59139 100644 --- a/internal/providers/terraform/tftest/tftest.go +++ b/internal/providers/terraform/tftest/tftest.go @@ -15,11 +15,11 @@ import ( "github.com/stretchr/testify/require" "github.com/infracost/infracost/internal/hcl" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/output" "github.com/infracost/infracost/internal/usage" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "github.com/stretchr/testify/assert" "github.com/infracost/infracost/internal/config" @@ -116,7 +116,7 @@ func installPlugins() error { err := os.MkdirAll(initCache, os.ModePerm) if err != nil { - logging.Logger.Error().Msgf("Error creating init cache directory: %s", err.Error()) + log.Error().Msgf("Error creating init cache directory: %s", err.Error()) } tfdir, err := writeToTmpDir(initCache, project) @@ -126,7 +126,7 @@ func installPlugins() error { err = os.MkdirAll(pluginCache, os.ModePerm) if err != nil { - logging.Logger.Error().Msgf("Error creating plugin cache directory: %s", err.Error()) + log.Error().Msgf("Error creating plugin cache directory: %s", err.Error()) } else { os.Setenv("TF_PLUGIN_CACHE_DIR", pluginCache) } @@ -244,7 +244,12 @@ func goldenFileResourceTestWithOpts(t *testing.T, pName string, testName string, ctxOption(runCtx) } - logBuf := testutil.ConfigureTestToCaptureLogs(t, runCtx) + var logBuf *bytes.Buffer + if options != nil && options.CaptureLogs { + logBuf = testutil.ConfigureTestToCaptureLogs(t, runCtx) + } else { + testutil.ConfigureTestToFailOnLogs(t, runCtx) + } if options != nil && options.Currency != "" { runCtx.Config.Currency = options.Currency @@ -343,9 +348,8 @@ func loadResources(t *testing.T, pName string, tfProject TerraformProject, runCt } func RunCostCalculations(runCtx *config.RunContext, projects []*schema.Project) ([]*schema.Project, error) { - pf := prices.NewPriceFetcher(runCtx) for _, project := range projects { - err := pf.PopulatePrices(project) + err := prices.PopulatePrices(runCtx, project) if err != nil { return projects, err } @@ -433,7 +437,7 @@ func newHCLProvider(t *testing.T, runCtx *config.RunContext, tfdir string) *terr Path: tfdir, }, nil) - provider, err := terraform.NewHCLProvider(projectCtx, hcl.RootPath{RepoPath: tfdir, Path: tfdir}, &terraform.HCLProviderConfig{SuppressLogging: true}) + provider, err := terraform.NewHCLProvider(projectCtx, hcl.RootPath{Path: tfdir}, &terraform.HCLProviderConfig{SuppressLogging: true}) require.NoError(t, err) return provider diff --git a/internal/resources/aws/cloudfront_distribution.go b/internal/resources/aws/cloudfront_distribution.go index 6f3dcdf53d2..4d8d058a03f 100644 --- a/internal/resources/aws/cloudfront_distribution.go +++ b/internal/resources/aws/cloudfront_distribution.go @@ -1,7 +1,6 @@ package aws import ( - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -9,6 +8,7 @@ import ( "strconv" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/infracost/infracost/internal/usage" @@ -481,7 +481,7 @@ func (r *CloudfrontDistribution) shieldRequestsCostComponents() []*schema.CostCo } if apiRegion == "" { - logging.Logger.Warn().Msgf("Skipping Origin shield HTTP requests for resource %s. Could not find mapping for region %s", r.Address, region) + log.Warn().Msgf("Skipping Origin shield HTTP requests for resource %s. Could not find mapping for region %s", r.Address, region) return costComponents } @@ -491,7 +491,7 @@ func (r *CloudfrontDistribution) shieldRequestsCostComponents() []*schema.CostCo } if usageKey == "" { - logging.Logger.Warn().Msgf("No usage for Origin shield HTTP requests for resource %s. Region %s not supported in usage file.", r.Address, region) + log.Warn().Msgf("No usage for Origin shield HTTP requests for resource %s. Region %s not supported in usage file.", r.Address, region) } regionData := map[string]*int64{ diff --git a/internal/resources/aws/data_transfer.go b/internal/resources/aws/data_transfer.go index f795d645df6..1ed064483c5 100644 --- a/internal/resources/aws/data_transfer.go +++ b/internal/resources/aws/data_transfer.go @@ -3,9 +3,9 @@ package aws import ( "fmt" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -51,7 +51,7 @@ func (r *DataTransfer) BuildResource() *schema.Resource { _, ok := RegionMapping[r.Region] if !ok { - logging.Logger.Warn().Msgf("Skipping resource %s. Could not find mapping for region %s", r.Address, r.Region) + log.Warn().Msgf("Skipping resource %s. Could not find mapping for region %s", r.Address, r.Region) return nil } diff --git a/internal/resources/aws/db_instance.go b/internal/resources/aws/db_instance.go index fbb3e68a1bf..829a7defa7f 100644 --- a/internal/resources/aws/db_instance.go +++ b/internal/resources/aws/db_instance.go @@ -5,7 +5,8 @@ import ( "strings" "time" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -193,7 +194,7 @@ func (r *DBInstance) BuildResource() *schema.Resource { } priceFilter, err = resolver.PriceFilter() if err != nil { - logging.Logger.Warn().Msgf(err.Error()) + log.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" } diff --git a/internal/resources/aws/dx_connection.go b/internal/resources/aws/dx_connection.go index 3352e6453dd..525df5e6fe0 100644 --- a/internal/resources/aws/dx_connection.go +++ b/internal/resources/aws/dx_connection.go @@ -5,7 +5,8 @@ import ( "sort" "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -117,7 +118,7 @@ func (r *DXConnection) outboundDataTransferComponent(fromRegion string, dataProc if !ok { // This shouldn't happen because we're loading the regions into the RegionsUsage struct // which should have same keys as the RegionMappings map - logging.Logger.Warn().Msgf("Skipping resource %s usage cost: Outbound data transfer. Could not find mapping for region %s", r.Address, fromRegion) + log.Warn().Msgf("Skipping resource %s usage cost: Outbound data transfer. Could not find mapping for region %s", r.Address, fromRegion) return nil } diff --git a/internal/resources/aws/ec2_host.go b/internal/resources/aws/ec2_host.go index cd42d4624ba..a738c3007a7 100644 --- a/internal/resources/aws/ec2_host.go +++ b/internal/resources/aws/ec2_host.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -58,7 +58,7 @@ func (r *EC2Host) BuildResource() *schema.Resource { priceFilter, err = resolver.PriceFilter() if err != nil { - logging.Logger.Warn().Msgf(err.Error()) + log.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" diff --git a/internal/resources/aws/elasticache_cluster.go b/internal/resources/aws/elasticache_cluster.go index cfe8cb4e76b..c9f2d07a331 100644 --- a/internal/resources/aws/elasticache_cluster.go +++ b/internal/resources/aws/elasticache_cluster.go @@ -1,10 +1,10 @@ package aws import ( + "github.com/rs/zerolog/log" "golang.org/x/text/cases" "golang.org/x/text/language" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -80,7 +80,7 @@ func (r *ElastiCacheCluster) elastiCacheCostComponent(autoscaling bool) *schema. } reservedFilter, err := resolver.PriceFilter() if err != nil { - logging.Logger.Warn().Msgf(err.Error()) + log.Warn().Msgf(err.Error()) } else { priceFilter = reservedFilter } @@ -184,7 +184,7 @@ func (r elasticacheReservationResolver) PriceFilter() (*schema.PriceFilter, erro } nodeType := strings.Split(r.cacheNodeType, ".")[1] // Get node type from cache node type. cache.m3.large -> m3 if stringInSlice(elasticacheReservedNodeLegacyTypes, nodeType) { - logging.Logger.Warn().Msgf("No products found is possible for legacy nodes %s if provided payment option is not supported by the region.", strings.Join(elasticacheReservedNodeLegacyTypes, ", ")) + log.Warn().Msgf("No products found is possible for legacy nodes %s if provided payment option is not supported by the region.", strings.Join(elasticacheReservedNodeLegacyTypes, ", ")) } return &schema.PriceFilter{ PurchaseOption: strPtr(purchaseOptionLabel), diff --git a/internal/resources/aws/instance.go b/internal/resources/aws/instance.go index 5e146cc6305..7b5b7d54c56 100644 --- a/internal/resources/aws/instance.go +++ b/internal/resources/aws/instance.go @@ -5,9 +5,9 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage/aws" @@ -71,7 +71,7 @@ func (a *Instance) BuildResource() *schema.Resource { if a.HasHost { a.Tenancy = "Host" } else { - logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up", a.Address) + log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up", a.Address) return nil } } else if strings.ToLower(a.Tenancy) == "dedicated" { @@ -168,7 +168,7 @@ func (a *Instance) computeCostComponent() *schema.CostComponent { osFilterVal = "SUSE" default: if strVal(a.OperatingSystem) != "linux" { - logging.Logger.Warn().Msgf("Unrecognized operating system %s, defaulting to Linux/UNIX", strVal(a.OperatingSystem)) + log.Warn().Msgf("Unrecognized operating system %s, defaulting to Linux/UNIX", strVal(a.OperatingSystem)) } } @@ -184,7 +184,7 @@ func (a *Instance) computeCostComponent() *schema.CostComponent { } reservedFilter, err := resolver.PriceFilter() if err != nil { - logging.Logger.Warn().Msgf(err.Error()) + log.Warn().Msgf(err.Error()) } else { priceFilter = reservedFilter } diff --git a/internal/resources/aws/launch_configuration.go b/internal/resources/aws/launch_configuration.go index a828dab96e2..29138608f75 100644 --- a/internal/resources/aws/launch_configuration.go +++ b/internal/resources/aws/launch_configuration.go @@ -3,9 +3,9 @@ package aws import ( "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -54,7 +54,7 @@ func (a *LaunchConfiguration) PopulateUsage(u *schema.UsageData) { func (a *LaunchConfiguration) BuildResource() *schema.Resource { if strings.ToLower(a.Tenancy) == "host" { - logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", a.Address) + log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", a.Address) return nil } else if strings.ToLower(a.Tenancy) == "dedicated" { a.Tenancy = "Dedicated" diff --git a/internal/resources/aws/launch_template.go b/internal/resources/aws/launch_template.go index 2a8a9aba951..c56637aaf4d 100644 --- a/internal/resources/aws/launch_template.go +++ b/internal/resources/aws/launch_template.go @@ -3,9 +3,9 @@ package aws import ( "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -55,7 +55,7 @@ func (a *LaunchTemplate) PopulateUsage(u *schema.UsageData) { func (a *LaunchTemplate) BuildResource() *schema.Resource { if strings.ToLower(a.Tenancy) == "host" { - logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Templates", a.Address) + log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Templates", a.Address) return nil } else if strings.ToLower(a.Tenancy) == "dedicated" { a.Tenancy = "Dedicated" diff --git a/internal/resources/aws/lightsail_instance.go b/internal/resources/aws/lightsail_instance.go index 11a947a7bb6..a8f9ddca97b 100644 --- a/internal/resources/aws/lightsail_instance.go +++ b/internal/resources/aws/lightsail_instance.go @@ -4,10 +4,11 @@ import ( "fmt" "strings" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" + "github.com/rs/zerolog/log" + "github.com/shopspring/decimal" ) @@ -57,7 +58,7 @@ func (r *LightsailInstance) BuildResource() *schema.Resource { specs, ok := bundlePrefixMappings[bundlePrefix] if !ok { - logging.Logger.Warn().Msgf("Skipping resource %s. Unrecognized bundle_id %s", r.Address, r.BundleID) + log.Warn().Msgf("Skipping resource %s. Unrecognized bundle_id %s", r.Address, r.BundleID) return nil } diff --git a/internal/resources/aws/rds_cluster_instance.go b/internal/resources/aws/rds_cluster_instance.go index d7030027083..1b1ad6b4016 100644 --- a/internal/resources/aws/rds_cluster_instance.go +++ b/internal/resources/aws/rds_cluster_instance.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -61,7 +61,7 @@ func (r *RDSClusterInstance) BuildResource() *schema.Resource { } priceFilter, err = resolver.PriceFilter() if err != nil { - logging.Logger.Warn().Msgf(err.Error()) + log.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" } diff --git a/internal/resources/aws/s3_bucket.go b/internal/resources/aws/s3_bucket.go index aee1b5ae3e6..7222ee42a27 100644 --- a/internal/resources/aws/s3_bucket.go +++ b/internal/resources/aws/s3_bucket.go @@ -4,9 +4,9 @@ import ( "context" "fmt" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -160,7 +160,7 @@ func (a *S3Bucket) BuildResource() *schema.Resource { if err != nil { msg = fmt.Sprintf("%s: %s", msg, err) } - logging.Logger.Debug().Msgf(msg) + log.Debug().Msgf(msg) } else { standardStorageClassUsage := u["standard"].(map[string]interface{}) diff --git a/internal/resources/aws/s3_bucket_lifececycle_configuration.go b/internal/resources/aws/s3_bucket_lifececycle_configuration.go index 45832482886..11f8d25c76b 100644 --- a/internal/resources/aws/s3_bucket_lifececycle_configuration.go +++ b/internal/resources/aws/s3_bucket_lifececycle_configuration.go @@ -4,9 +4,9 @@ import ( "context" "fmt" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -155,7 +155,7 @@ func (r *S3BucketLifecycleConfiguration) BuildResource() *schema.Resource { if err != nil { msg = fmt.Sprintf("%s: %s", msg, err) } - logging.Logger.Debug().Msgf(msg) + log.Debug().Msgf(msg) } else { standardStorageClassUsage := u["standard"].(map[string]interface{}) diff --git a/internal/resources/aws/ssm_parameter.go b/internal/resources/aws/ssm_parameter.go index 6ae37bd6af7..4908ee46ac2 100644 --- a/internal/resources/aws/ssm_parameter.go +++ b/internal/resources/aws/ssm_parameter.go @@ -1,13 +1,14 @@ package aws import ( - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "fmt" "strings" + "github.com/rs/zerolog/log" + "github.com/shopspring/decimal" ) @@ -45,7 +46,7 @@ func (r *SSMParameter) BuildResource() *schema.Resource { throughputLimit = strings.ToLower(*r.APIThroughputLimit) if throughputLimit != "standard" && throughputLimit != "advanced" && throughputLimit != "higher" { - logging.Logger.Warn().Msgf("Skipping resource %s. Unrecognized api_throughput_limit %s, expecting standard, advanced or higher", r.Address, *r.APIThroughputLimit) + log.Warn().Msgf("Skipping resource %s. Unrecognized api_throughput_limit %s, expecting standard, advanced or higher", r.Address, *r.APIThroughputLimit) return nil } } diff --git a/internal/resources/azure/data_factory_integration_runtime_azure.go b/internal/resources/azure/data_factory_integration_runtime_azure.go index 95048fd3b04..386a9bdce22 100644 --- a/internal/resources/azure/data_factory_integration_runtime_azure.go +++ b/internal/resources/azure/data_factory_integration_runtime_azure.go @@ -7,6 +7,7 @@ import ( "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" + "github.com/rs/zerolog/log" ) // DataFactoryIntegrationRuntimeAzure struct represents Azure Data Factory's @@ -76,6 +77,8 @@ func (r *DataFactoryIntegrationRuntimeAzure) computeCostComponent() *schema.Cost name := fmt.Sprintf("Compute (%s, %d vCores)", productType, r.Cores) + log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) + return &schema.CostComponent{ Name: name, Unit: "hours", diff --git a/internal/resources/azure/kubernetes_cluster_node_pool.go b/internal/resources/azure/kubernetes_cluster_node_pool.go index 441579e8688..fa3916fe2a0 100644 --- a/internal/resources/azure/kubernetes_cluster_node_pool.go +++ b/internal/resources/azure/kubernetes_cluster_node_pool.go @@ -4,10 +4,10 @@ import ( "regexp" "strings" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" ) @@ -95,13 +95,13 @@ func aksOSDiskSubResource(region string, diskSize int, instanceType string) *sch diskName := mapDiskName(diskType, diskSize) if diskName == "" { - logging.Logger.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskType, diskSize) + log.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskType, diskSize) return nil } productName, ok := diskProductNameMap[diskType] if !ok { - logging.Logger.Warn().Msgf("Could not map disk type %s to product name", diskType) + log.Warn().Msgf("Could not map disk type %s to product name", diskType) return nil } diff --git a/internal/resources/azure/log_analytics_workspace.go b/internal/resources/azure/log_analytics_workspace.go index f7680dfdf3c..3f21c6980b0 100644 --- a/internal/resources/azure/log_analytics_workspace.go +++ b/internal/resources/azure/log_analytics_workspace.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -187,7 +187,7 @@ func (r *LogAnalyticsWorkspace) BuildResource() *schema.Resource { } if _, ok := unsupportedLegacySkus[strings.ToLower(r.SKU)]; ok { - logging.Logger.Warn().Msgf("skipping %s as it uses legacy pricing options", r.Address) + log.Warn().Msgf("skipping %s as it uses legacy pricing options", r.Address) return &schema.Resource{ Name: r.Address, diff --git a/internal/resources/azure/managed_disk.go b/internal/resources/azure/managed_disk.go index d8deb01c3b9..e095c09b9df 100644 --- a/internal/resources/azure/managed_disk.go +++ b/internal/resources/azure/managed_disk.go @@ -1,7 +1,6 @@ package azure import ( - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -9,6 +8,7 @@ import ( "math" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" ) @@ -135,7 +135,7 @@ func managedDiskCostComponents(region, diskType string, diskSizeGB, diskIOPSRead validstorageReplicationType := mapStorageReplicationType(storageReplicationType) if !validstorageReplicationType { - logging.Logger.Warn().Msgf("Could not map %s to a valid storage type", storageReplicationType) + log.Warn().Msgf("Could not map %s to a valid storage type", storageReplicationType) return nil } @@ -155,13 +155,13 @@ func standardPremiumDiskCostComponents(region string, diskTypePrefix string, sto diskName := mapDiskName(diskTypePrefix, requestedSize) if diskName == "" { - logging.Logger.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskTypePrefix, requestedSize) + log.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskTypePrefix, requestedSize) return nil } productName, ok := diskProductNameMap[diskTypePrefix] if !ok { - logging.Logger.Warn().Msgf("Could not map disk type %s to product name", diskTypePrefix) + log.Warn().Msgf("Could not map disk type %s to product name", diskTypePrefix) return nil } diff --git a/internal/resources/azure/mssql_elasticpool.go b/internal/resources/azure/mssql_elasticpool.go index b84e9554363..63989749640 100644 --- a/internal/resources/azure/mssql_elasticpool.go +++ b/internal/resources/azure/mssql_elasticpool.go @@ -4,6 +4,7 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/infracost/infracost/internal/resources" @@ -168,6 +169,8 @@ func (r *MSSQLElasticPool) computeHoursCostComponents() []*schema.CostComponent productNameRegex := fmt.Sprintf("/%s - %s/", r.Tier, r.Family) name := fmt.Sprintf("Compute (%s, %d vCore)", r.SKU, cores) + log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) + costComponents := []*schema.CostComponent{ { Name: name, diff --git a/internal/resources/azure/sql_database.go b/internal/resources/azure/sql_database.go index e7848d5abd1..a4d33be86c6 100644 --- a/internal/resources/azure/sql_database.go +++ b/internal/resources/azure/sql_database.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -233,6 +233,7 @@ func (r *SQLDatabase) serverlessComputeHoursCostComponents() []*schema.CostCompo } name := fmt.Sprintf("Compute (serverless, %s)", r.SKU) + log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) costComponents := []*schema.CostComponent{ { @@ -278,6 +279,8 @@ func (r *SQLDatabase) provisionedComputeCostComponents() []*schema.CostComponent productNameRegex := fmt.Sprintf("/%s - %s/", r.Tier, r.Family) name := fmt.Sprintf("Compute (provisioned, %s)", r.SKU) + log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) + costComponents := []*schema.CostComponent{ { Name: name, @@ -340,7 +343,7 @@ func (r *SQLDatabase) longTermRetentionCostComponent() *schema.CostComponent { redundancyType, ok := mssqlStorageRedundancyTypeMapping[strings.ToLower(r.BackupStorageType)] if !ok { - logging.Logger.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) + log.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) redundancyType = "RA-GRS" } @@ -367,7 +370,7 @@ func (r *SQLDatabase) pitrBackupCostComponent() *schema.CostComponent { redundancyType, ok := mssqlStorageRedundancyTypeMapping[strings.ToLower(r.BackupStorageType)] if !ok { - logging.Logger.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) + log.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) redundancyType = "RA-GRS" } @@ -393,7 +396,7 @@ func (r *SQLDatabase) extraDataStorageCostComponent(extraStorageGB float64) *sch tier, ok = mssqlTierMapping[strings.ToLower(r.SKU)[:1]] if !ok { - logging.Logger.Warn().Msgf("Unrecognized tier for SKU '%s' for resource %s", r.SKU, r.Address) + log.Warn().Msgf("Unrecognized tier for SKU '%s' for resource %s", r.SKU, r.Address) return nil } } diff --git a/internal/resources/core_resource.go b/internal/resources/core_resource.go index 2b632b91740..23476c0e88a 100644 --- a/internal/resources/core_resource.go +++ b/internal/resources/core_resource.go @@ -4,7 +4,8 @@ import ( "reflect" "strings" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/schema" ) @@ -91,7 +92,7 @@ func PopulateArgsWithUsage(args interface{}, u *schema.UsageData) { continue } - logging.Logger.Error().Msgf("Unsupported field { UsageKey: %s, Type: %v }", usageKey, f.Type()) + log.Error().Msgf("Unsupported field { UsageKey: %s, Type: %v }", usageKey, f.Type()) } } } diff --git a/internal/resources/google/sql_database_instance.go b/internal/resources/google/sql_database_instance.go index f08a0b3035d..f7a9bf5f096 100644 --- a/internal/resources/google/sql_database_instance.go +++ b/internal/resources/google/sql_database_instance.go @@ -1,7 +1,6 @@ package google import ( - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -9,6 +8,8 @@ import ( "strings" "github.com/shopspring/decimal" + + "github.com/rs/zerolog/log" ) type SQLDatabaseInstance struct { @@ -47,7 +48,7 @@ func (r *SQLDatabaseInstance) BuildResource() *schema.Resource { var resource *schema.Resource if strings.EqualFold(r.Edition, "enterprise_plus") { - logging.Logger.Warn().Msgf("edition %s of %s is not yet supported", r.Edition, r.Address) + log.Warn().Msgf("edition %s of %s is not yet supported", r.Edition, r.Address) return nil } @@ -127,7 +128,7 @@ func (r *SQLDatabaseInstance) sharedInstanceCostComponent() *schema.CostComponen } else if strings.EqualFold(r.Tier, "db-g1-small") { resourceGroup = "SQLGen2InstancesG1Small" } else { - logging.Logger.Warn().Msgf("tier %s of %s is not supported", r.Tier, r.Address) + log.Warn().Msgf("tier %s of %s is not supported", r.Tier, r.Address) return nil } @@ -160,7 +161,7 @@ func (r *SQLDatabaseInstance) legacyMySQLInstanceCostComponent() *schema.CostCom vCPUs, err := r.vCPUs() if err != nil { - logging.Logger.Warn().Msgf("vCPU of tier %s of %s is not parsable", r.Tier, r.Address) + log.Warn().Msgf("vCPU of tier %s of %s is not parsable", r.Tier, r.Address) return nil } @@ -189,13 +190,13 @@ func (r *SQLDatabaseInstance) instanceCostComponents() []*schema.CostComponent { vCPUs, err := r.vCPUs() if err != nil { - logging.Logger.Warn().Msgf("vCPU of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) + log.Warn().Msgf("vCPU of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) return nil } mem, err := r.memory() if err != nil { - logging.Logger.Warn().Msgf("memory of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) + log.Warn().Msgf("memory of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) return nil } diff --git a/internal/schema/cost_component.go b/internal/schema/cost_component.go index d5c0ffe10dd..f2cce3397f1 100644 --- a/internal/schema/cost_component.go +++ b/internal/schema/cost_component.go @@ -24,7 +24,6 @@ type CostComponent struct { HourlyCost *decimal.Decimal MonthlyCost *decimal.Decimal UsageBased bool - PriceNotFound bool } func (c *CostComponent) CalculateCosts() { @@ -50,13 +49,6 @@ func (c *CostComponent) SetPrice(price decimal.Decimal) { c.price = price } -// SetPriceNotFound zeros the price and marks the component as having a price not -// found. -func (c *CostComponent) SetPriceNotFound() { - c.price = decimal.Zero - c.PriceNotFound = true -} - func (c *CostComponent) Price() decimal.Decimal { return c.price } diff --git a/internal/schema/diff.go b/internal/schema/diff.go index 3eec8f784ec..cf3a9841e55 100644 --- a/internal/schema/diff.go +++ b/internal/schema/diff.go @@ -5,9 +5,8 @@ import ( "regexp" "strings" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" - - "github.com/infracost/infracost/internal/logging" ) // nameBracketReg matches the part of a cost component name before the brackets, and the part in the brackets @@ -65,7 +64,7 @@ func diffResourcesByKey(resourceKey string, pastResMap, currentResMap map[string past, pastOk := pastResMap[resourceKey] current, currentOk := currentResMap[resourceKey] if current == nil && past == nil { - logging.Logger.Debug().Msgf("diffResourcesByKey nil current and past with key %s", resourceKey) + log.Debug().Msgf("diffResourcesByKey nil current and past with key %s", resourceKey) return false, nil } baseResource := current diff --git a/internal/schema/project.go b/internal/schema/project.go index b43f78e3d5f..f386225b62c 100644 --- a/internal/schema/project.go +++ b/internal/schema/project.go @@ -357,7 +357,6 @@ type Project struct { Resources []*Resource Diff []*Resource HasDiff bool - DisplayName string } func (p *Project) AddProviderMetadata(metadatas []ProviderMetadata) { diff --git a/internal/schema/provider.go b/internal/schema/provider.go index fd400241943..8136c10e01a 100644 --- a/internal/schema/provider.go +++ b/internal/schema/provider.go @@ -5,9 +5,6 @@ import "github.com/infracost/infracost/internal/config" type Provider interface { Type() string DisplayType() string - ProjectName() string - RelativePath() string - VarFiles() []string AddMetadata(*ProjectMetadata) LoadResources(UsageMap) ([]*Project, error) Context() *config.ProjectContext diff --git a/internal/schema/resource.go b/internal/schema/resource.go index 842a9ab1ad2..330d79aa1ee 100644 --- a/internal/schema/resource.go +++ b/internal/schema/resource.go @@ -3,10 +3,9 @@ package schema import ( "sort" + "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" - - "github.com/infracost/infracost/internal/logging" ) var ( @@ -35,11 +34,6 @@ type Resource struct { EstimateUsage EstimateFunc EstimationSummary map[string]bool Metadata map[string]gjson.Result - - // parent is the parent resource of this resource, this is only - // applicable for sub resources. See FlattenedSubResources for more info - // on how this is built and used. - parent *Resource } func CalculateCosts(project *Project) { @@ -48,28 +42,6 @@ func CalculateCosts(project *Project) { } } -// BaseResourceType returns the base resource type of the resource. This is the -// resource type of the top level resource in the hierarchy. For example, if the -// resource is a subresource of a `aws_instance` resource (e.g. -// ebs_block_device), the base resource type will be `aws_instance`. -func (r *Resource) BaseResourceType() string { - if r.parent == nil { - return r.ResourceType - } - - return r.parent.BaseResourceType() -} - -// BaseResourceName returns the base resource name of the resource. This is the -// resource name of the top level resource in the hierarchy. -func (r *Resource) BaseResourceName() string { - if r.parent == nil { - return r.Name - } - - return r.parent.BaseResourceName() -} - func (r *Resource) CalculateCosts() { h := decimal.Zero m := decimal.Zero @@ -120,18 +92,14 @@ func (r *Resource) CalculateCosts() { r.MonthlyUsageCost = monthlyUsageCost } if r.NoPrice { - logging.Logger.Debug().Msgf("Skipping free resource %s", r.Name) + log.Debug().Msgf("Skipping free resource %s", r.Name) } } -// FlattenedSubResources returns a list of resources from the given resources, -// flattening all sub resources recursively. It also sets the parent resource for -// each sub resource so that the full resource can be reconstructed. func (r *Resource) FlattenedSubResources() []*Resource { resources := make([]*Resource, 0, len(r.SubResources)) for _, s := range r.SubResources { - s.parent = r resources = append(resources, s) if len(s.SubResources) > 0 { diff --git a/internal/testutil/testutil.go b/internal/testutil/testutil.go index 32b188714bf..6ea54bd4f17 100644 --- a/internal/testutil/testutil.go +++ b/internal/testutil/testutil.go @@ -207,6 +207,15 @@ func (e ErrorOnAnyWriter) Write(data []byte) (n int, err error) { return io.Discard.Write(data) } +func ConfigureTestToFailOnLogs(t *testing.T, runCtx *config.RunContext) { + runCtx.Config.LogLevel = "warn" + runCtx.Config.SetLogDisableTimestamps(true) + runCtx.Config.SetLogWriter(io.MultiWriter(os.Stderr, ErrorOnAnyWriter{t})) + + err := logging.ConfigureBaseLogger(runCtx.Config) + require.Nil(t, err) +} + func ConfigureTestToCaptureLogs(t *testing.T, runCtx *config.RunContext) *bytes.Buffer { logBuf := bytes.NewBuffer([]byte{}) runCtx.Config.LogLevel = "warn" diff --git a/internal/ui/print.go b/internal/ui/print.go index b1f42b7f59a..43134a31f87 100644 --- a/internal/ui/print.go +++ b/internal/ui/print.go @@ -4,11 +4,8 @@ import ( "fmt" "io" - "github.com/fatih/color" "github.com/spf13/cobra" - "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/version" ) @@ -16,6 +13,14 @@ import ( // to an underlying writer. type WriteWarningFunc func(msg string) +func PrintSuccess(w io.Writer, msg string) { + fmt.Fprintf(w, "%s %s\n", SuccessString("Success:"), msg) +} + +func PrintSuccessf(w io.Writer, msg string, a ...interface{}) { + PrintSuccess(w, fmt.Sprintf(msg, a...)) +} + func PrintError(w io.Writer, msg string) { fmt.Fprintf(w, "%s %s\n", ErrorString("Error:"), msg) } @@ -24,6 +29,14 @@ func PrintErrorf(w io.Writer, msg string, a ...interface{}) { PrintError(w, fmt.Sprintf(msg, a...)) } +func PrintWarning(w io.Writer, msg string) { + fmt.Fprintf(w, "%s %s\n", WarningString("Warning:"), msg) +} + +func PrintWarningf(w io.Writer, msg string, a ...interface{}) { + PrintWarning(w, fmt.Sprintf(msg, a...)) +} + func PrintUsage(cmd *cobra.Command) { cmd.SetOut(cmd.ErrOrStderr()) _ = cmd.Help() @@ -37,22 +50,15 @@ var ( ) // PrintUnexpectedErrorStack prints a full stack trace of a fatal error. -func PrintUnexpectedErrorStack(err error) { - logging.Logger.Error().Msgf("%s\n\n%s\nEnvironment:\n%s\n\n%s %s\n", +func PrintUnexpectedErrorStack(out io.Writer, err error) { + msg := fmt.Sprintf("\n%s %s\n\n%s\nEnvironment:\n%s\n\n%s %s\n", + ErrorString("Error:"), "An unexpected error occurred", err, fmt.Sprintf("Infracost %s", version.Version), stackErrorMsg, githubIssuesLink, ) -} - -func ProjectDisplayName(ctx *config.RunContext, name string) string { - return FormatIfNotCI(ctx, func(s string) string { - return color.BlueString(BoldString(s)) - }, name) -} -func DirectoryDisplayName(ctx *config.RunContext, name string) string { - return FormatIfNotCI(ctx, UnderlineString, name) + fmt.Fprint(out, msg) } diff --git a/internal/ui/promts.go b/internal/ui/promts.go new file mode 100644 index 00000000000..1d2b607cf24 --- /dev/null +++ b/internal/ui/promts.go @@ -0,0 +1,63 @@ +package ui + +import ( + "bufio" + "fmt" + "os" + "strings" +) + +// ValidateFn represents a validation function type for prompts. Function of +// this type should accept a string input and return an error if validation fails; +// otherwise return nil. +type ValidateFn func(input string) error + +// StringPrompt provides a single line for user input. It accepts an optional +// validation function. +func StringPrompt(label string, validate ValidateFn) string { + input := "" + reader := bufio.NewReader(os.Stdin) + + for { + fmt.Fprint(os.Stdout, label+": ") + input, _ = reader.ReadString('\n') + input = strings.TrimSpace(input) + + if validate == nil { + return input + } + + err := validate(input) + if err == nil { + break + } + + fmt.Fprintln(os.Stderr, err) + } + + return input +} + +// YesNoPrompt provides a yes/no user input. "No" is a default answer if left +// empty. +func YesNoPrompt(label string) bool { + choices := "y/N" + reader := bufio.NewReader(os.Stdin) + + for { + fmt.Fprintf(os.Stdout, "%s [%s] ", label, choices) + input, _ := reader.ReadString('\n') + input = strings.TrimSpace(input) + + if input == "" { + return false + } + + switch strings.ToLower(input) { + case "y", "yes": + return true + case "n", "no": + return false + } + } +} diff --git a/internal/ui/spin.go b/internal/ui/spin.go new file mode 100644 index 00000000000..91d77779c79 --- /dev/null +++ b/internal/ui/spin.go @@ -0,0 +1,93 @@ +package ui + +import ( + "fmt" + "os" + "runtime" + "time" + + spinnerpkg "github.com/briandowns/spinner" + "github.com/rs/zerolog/log" +) + +type SpinnerOptions struct { + EnableLogging bool + NoColor bool + Indent string +} + +type Spinner struct { + spinner *spinnerpkg.Spinner + msg string + opts SpinnerOptions +} + +// SpinnerFunc defines a function that returns a Spinner which can be used +// to report the progress of a certain action. +type SpinnerFunc func(msg string) *Spinner + +func NewSpinner(msg string, opts SpinnerOptions) *Spinner { + spinnerCharNumb := 14 + if runtime.GOOS == "windows" { + spinnerCharNumb = 9 + } + s := &Spinner{ + spinner: spinnerpkg.New(spinnerpkg.CharSets[spinnerCharNumb], 100*time.Millisecond, spinnerpkg.WithWriter(os.Stderr)), + msg: msg, + opts: opts, + } + + if s.opts.EnableLogging { + log.Info().Msgf("Starting: %s", msg) + } else { + s.spinner.Prefix = opts.Indent + s.spinner.Suffix = fmt.Sprintf(" %s", msg) + if !s.opts.NoColor { + _ = s.spinner.Color("fgHiCyan", "bold") + } + s.spinner.Start() + } + + return s +} + +func (s *Spinner) Stop() { + s.spinner.Stop() +} + +func (s *Spinner) Fail() { + if s.spinner == nil || !s.spinner.Active() { + return + } + s.Stop() + if s.opts.EnableLogging { + log.Error().Msgf("Failed: %s", s.msg) + } else { + fmt.Fprintf(os.Stderr, "%s%s %s\n", + s.opts.Indent, + ErrorString("✖"), + s.msg, + ) + } +} + +func (s *Spinner) SuccessWithMessage(newMsg string) { + s.msg = newMsg + s.Success() +} + +func (s *Spinner) Success() { + if !s.spinner.Active() { + return + } + s.Stop() + if s.opts.EnableLogging { + log.Info().Msgf("Completed: %s", s.msg) + } else { + fmt.Fprintf(os.Stderr, "%s%s %s\n", + s.opts.Indent, + PrimaryString("✔"), + s.msg, + ) + } +} diff --git a/internal/ui/strings.go b/internal/ui/strings.go index fa660dfed63..b8ed76d18a6 100644 --- a/internal/ui/strings.go +++ b/internal/ui/strings.go @@ -4,8 +4,6 @@ import ( "fmt" "github.com/fatih/color" - - "github.com/infracost/infracost/internal/config" ) var primary = color.New(color.FgHiCyan) @@ -91,12 +89,3 @@ func UnderlineString(msg string) string { func UnderlineStringf(msg string, a ...interface{}) string { return UnderlineString(fmt.Sprintf(msg, a...)) } - -// FormatIfNotCI runs the formatFunc if the current run context is not a CI run. -func FormatIfNotCI(ctx *config.RunContext, formatFunc func(string) string, value string) string { - if ctx.IsCIRun() { - return fmt.Sprintf("%q", value) - } - - return formatFunc(value) -} diff --git a/internal/ui/util.go b/internal/ui/util.go index d492f25b51e..593dbec276d 100644 --- a/internal/ui/util.go +++ b/internal/ui/util.go @@ -25,3 +25,10 @@ func StripColor(str string) string { re := regexp.MustCompile(ansi) return re.ReplaceAllString(str, "") } + +func DisplayPath(path string) string { + if path == "" { + return "current directory" + } + return path +} diff --git a/internal/update/update.go b/internal/update/update.go index f58ebef2268..2803b8bed3a 100644 --- a/internal/update/update.go +++ b/internal/update/update.go @@ -14,10 +14,10 @@ import ( "time" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "golang.org/x/mod/semver" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/version" ) @@ -34,7 +34,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { // Check cache for the latest version cachedLatestVersion, err := checkCachedLatestVersion(ctx) if err != nil { - logging.Logger.Debug().Msgf("error getting cached latest version: %v", err) + log.Debug().Msgf("error getting cached latest version: %v", err) } // Nothing to do if the current version is the latest cached version @@ -45,7 +45,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { isBrew, err := isBrewInstall() if err != nil { // don't fail if we can't detect brew, just fallback to other update method - logging.Logger.Debug().Msgf("error checking if executable was installed via brew: %v", err) + log.Debug().Msgf("error checking if executable was installed via brew: %v", err) } var cmd string @@ -75,7 +75,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { if latestVersion != cachedLatestVersion { err := setCachedLatestVersion(ctx, latestVersion) if err != nil { - logging.Logger.Debug().Msgf("error saving cached latest version: %v", err) + log.Debug().Msgf("error saving cached latest version: %v", err) } } diff --git a/internal/usage/aws/autoscaling.go b/internal/usage/aws/autoscaling.go index 0f3053c558f..9998f81a4d4 100644 --- a/internal/usage/aws/autoscaling.go +++ b/internal/usage/aws/autoscaling.go @@ -4,8 +4,7 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/autoscaling" - - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) func autoscalingNewClient(ctx context.Context, region string) (*autoscaling.Client, error) { @@ -22,7 +21,7 @@ func autoscalingNewClient(ctx context.Context, region string) (*autoscaling.Clie // 2. Instantaneous count right now // 3. Mean of min-size and max-size func AutoscalingGetInstanceCount(ctx context.Context, region string, name string) (float64, error) { - logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/AutoScaling GroupTotalInstances (region: %s, AutoScalingGroupName: %s)", region, name) + log.Debug().Msgf("Querying AWS CloudWatch: AWS/AutoScaling GroupTotalInstances (region: %s, AutoScalingGroupName: %s)", region, name) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/AutoScaling", @@ -41,7 +40,7 @@ func AutoscalingGetInstanceCount(ctx context.Context, region string, name string if err != nil { return 0, err } - logging.Logger.Debug().Msgf("Querying AWS EC2 API: DescribeAutoScalingGroups(region: %s, AutoScalingGroupNames: [%s])", region, name) + log.Debug().Msgf("Querying AWS EC2 API: DescribeAutoScalingGroups(region: %s, AutoScalingGroupNames: [%s])", region, name) resp, err := client.DescribeAutoScalingGroups(ctx, &autoscaling.DescribeAutoScalingGroupsInput{ AutoScalingGroupNames: []string{name}, }) diff --git a/internal/usage/aws/dynamodb.go b/internal/usage/aws/dynamodb.go index 3b8fe0fc86b..4aa07775a87 100644 --- a/internal/usage/aws/dynamodb.go +++ b/internal/usage/aws/dynamodb.go @@ -5,8 +5,7 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/dynamodb" - - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) func dynamodbNewClient(ctx context.Context, region string) (*dynamodb.Client, error) { @@ -18,7 +17,7 @@ func dynamodbNewClient(ctx context.Context, region string) (*dynamodb.Client, er } func dynamodbGetRequests(ctx context.Context, region string, table string, metric string) (float64, error) { - logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/DynamoDB %s (region: %s, TableName: %s)", metric, region, table) + log.Debug().Msgf("Querying AWS CloudWatch: AWS/DynamoDB %s (region: %s, TableName: %s)", metric, region, table) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/DynamoDB", @@ -41,7 +40,7 @@ func DynamoDBGetStorageBytes(ctx context.Context, region string, table string) ( if err != nil { return 0, err } - logging.Logger.Debug().Msgf("Querying AWS DynamoDB API: DescribeTable(region: %s, table: %s)", region, table) + log.Debug().Msgf("Querying AWS DynamoDB API: DescribeTable(region: %s, table: %s)", region, table) result, err := client.DescribeTable(ctx, &dynamodb.DescribeTableInput{TableName: strPtr(table)}) if err != nil { return 0, err diff --git a/internal/usage/aws/ec2.go b/internal/usage/aws/ec2.go index 6994ee5f47a..f93c618b295 100644 --- a/internal/usage/aws/ec2.go +++ b/internal/usage/aws/ec2.go @@ -5,8 +5,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/ec2/types" - - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) // c.f. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html @@ -41,7 +40,7 @@ func EC2DescribeOS(ctx context.Context, region string, ami string) (string, erro if err != nil { return "", err } - logging.Logger.Debug().Msgf("Querying AWS EC2 API: DescribeImages (region: %s, ImageIds: [%s])", region, ami) + log.Debug().Msgf("Querying AWS EC2 API: DescribeImages (region: %s, ImageIds: [%s])", region, ami) result, err := client.DescribeImages(ctx, &ec2.DescribeImagesInput{ ImageIds: []string{ami}, }) diff --git a/internal/usage/aws/eks.go b/internal/usage/aws/eks.go index a2db3e3a104..04f5ca2c1a6 100644 --- a/internal/usage/aws/eks.go +++ b/internal/usage/aws/eks.go @@ -6,8 +6,7 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/eks" - - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) func eksNewClient(ctx context.Context, region string) (*eks.Client, error) { @@ -24,7 +23,7 @@ func EKSGetNodeGroupAutoscalingGroups(ctx context.Context, region string, cluste return []string{}, err } - logging.Logger.Debug().Msgf("Querying AWS EKS API: DescribeNodegroup(region: %s, ClusterName: %s, NodegroupName: %s)", region, clusterName, nodeGroupName) + log.Debug().Msgf("Querying AWS EKS API: DescribeNodegroup(region: %s, ClusterName: %s, NodegroupName: %s)", region, clusterName, nodeGroupName) result, err := client.DescribeNodegroup(ctx, &eks.DescribeNodegroupInput{ ClusterName: strPtr(clusterName), NodegroupName: strPtr(nodeGroupName), diff --git a/internal/usage/aws/lambda.go b/internal/usage/aws/lambda.go index 8c90190a467..73f3d97560c 100644 --- a/internal/usage/aws/lambda.go +++ b/internal/usage/aws/lambda.go @@ -5,12 +5,11 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/cloudwatch/types" - - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) func LambdaGetInvocations(ctx context.Context, region string, fn string) (float64, error) { - logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Invocations (region: %s, FunctionName: %s)", region, fn) + log.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Invocations (region: %s, FunctionName: %s)", region, fn) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/Lambda", @@ -30,7 +29,7 @@ func LambdaGetInvocations(ctx context.Context, region string, fn string) (float6 } func LambdaGetDurationAvg(ctx context.Context, region string, fn string) (float64, error) { - logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Duration (region: %s, FunctionName: %s)", region, fn) + log.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Duration (region: %s, FunctionName: %s)", region, fn) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/Lambda", diff --git a/internal/usage/aws/s3.go b/internal/usage/aws/s3.go index 50b73abe234..d9c3ab5f8d3 100644 --- a/internal/usage/aws/s3.go +++ b/internal/usage/aws/s3.go @@ -6,8 +6,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/cloudwatch/types" "github.com/aws/aws-sdk-go-v2/service/s3" - - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) type ctxS3ConfigOptsKeyType struct{} @@ -33,7 +32,7 @@ func S3FindMetricsFilter(ctx context.Context, region string, bucket string) (str if err != nil { return "", err } - logging.Logger.Debug().Msgf("Querying AWS S3 API: ListBucketMetricsConfigurations(region: %s, Bucket: %s)", region, bucket) + log.Debug().Msgf("Querying AWS S3 API: ListBucketMetricsConfigurations(region: %s, Bucket: %s)", region, bucket) result, err := client.ListBucketMetricsConfigurations(ctx, &s3.ListBucketMetricsConfigurationsInput{ Bucket: strPtr(bucket), }) @@ -50,7 +49,7 @@ func S3FindMetricsFilter(ctx context.Context, region string, bucket string) (str } func S3GetBucketSizeBytes(ctx context.Context, region string, bucket string, storageType string) (float64, error) { - logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 BucketSizeBytes (region: %s, BucketName: %s, StorageType: %s)", region, bucket, storageType) + log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 BucketSizeBytes (region: %s, BucketName: %s, StorageType: %s)", region, bucket, storageType) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", @@ -73,7 +72,7 @@ func S3GetBucketSizeBytes(ctx context.Context, region string, bucket string, sto func S3GetBucketRequests(ctx context.Context, region string, bucket string, filterName string, metrics []string) (int64, error) { count := int64(0) for _, metric := range metrics { - logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) + log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", @@ -95,7 +94,7 @@ func S3GetBucketRequests(ctx context.Context, region string, bucket string, filt } func S3GetBucketDataBytes(ctx context.Context, region string, bucket string, filterName string, metric string) (float64, error) { - logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) + log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", diff --git a/internal/usage/aws/util.go b/internal/usage/aws/util.go index e752e36570c..a33ca84bae7 100644 --- a/internal/usage/aws/util.go +++ b/internal/usage/aws/util.go @@ -4,13 +4,13 @@ package aws import ( "time" - "github.com/infracost/infracost/internal/logging" + "github.com/rs/zerolog/log" ) const timeMonth = time.Hour * 24 * 30 func sdkWarn(service string, usageType string, id string, err interface{}) { - logging.Logger.Warn().Msgf("Error estimating %s %s usage for %s: %s", service, usageType, id, err) + log.Warn().Msgf("Error estimating %s %s usage for %s: %s", service, usageType, id, err) } func intPtr(i int64) *int64 { diff --git a/internal/usage/resource_usage.go b/internal/usage/resource_usage.go index 8f8a1213aed..36e59a0aa9a 100644 --- a/internal/usage/resource_usage.go +++ b/internal/usage/resource_usage.go @@ -5,9 +5,9 @@ import ( "strconv" "github.com/pkg/errors" + "github.com/rs/zerolog/log" yamlv3 "gopkg.in/yaml.v3" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -108,7 +108,7 @@ func ResourceUsagesFromYAML(raw yamlv3.Node) ([]*ResourceUsage, error) { if len(raw.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - logging.Logger.Error().Msgf("YAML resource usage contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + log.Error().Msgf("YAML resource usage contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return []*ResourceUsage{}, errors.New("unexpected YAML format") } @@ -121,7 +121,7 @@ func ResourceUsagesFromYAML(raw yamlv3.Node) ([]*ResourceUsage, error) { if len(resourceValNode.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - logging.Logger.Error().Msgf("YAML resource value contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + log.Error().Msgf("YAML resource value contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return resourceUsages, errors.New("unexpected YAML format") } @@ -357,7 +357,7 @@ func ResourceUsagesToYAML(resourceUsages []*ResourceUsage) (yamlv3.Node, bool) { // } func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.UsageItem, error) { if keyNode == nil || valNode == nil { - logging.Logger.Error().Msgf("YAML contains nil key or value node") + log.Error().Msgf("YAML contains nil key or value node") return nil, errors.New("unexpected YAML format") } @@ -370,7 +370,7 @@ func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.Usag if len(valNode.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - logging.Logger.Error().Msgf("YAML value map node contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + log.Error().Msgf("YAML value map node contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return nil, errors.New("unexpected YAML format") } @@ -395,7 +395,7 @@ func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.Usag } else { err := valNode.Decode(&value) if err != nil { - logging.Logger.Error().Msgf("Unable to decode YAML value") + log.Error().Msgf("Unable to decode YAML value") return nil, errors.New("unexpected YAML format") } diff --git a/internal/usage/sync.go b/internal/usage/sync.go index 0e9e1de0e8d..57adb50f75a 100644 --- a/internal/usage/sync.go +++ b/internal/usage/sync.go @@ -7,10 +7,10 @@ import ( "sort" "strings" + "github.com/rs/zerolog/log" "github.com/tidwall/gjson" "github.com/infracost/infracost/internal/config" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -271,7 +271,7 @@ func syncResource(projectCtx *config.ProjectContext, resource *schema.Resource, err := resource.EstimateUsage(ctx, resourceUsageMap) if err != nil { syncResult.EstimationErrors[resource.Name] = err - logging.Logger.Warn().Msgf("Error estimating usage for resource %s: %v", resource.Name, err) + log.Warn().Msgf("Error estimating usage for resource %s: %v", resource.Name, err) } // Merge in the estimated usage diff --git a/internal/usage/usage_file.go b/internal/usage/usage_file.go index b52499bbaae..039cc03ffa6 100644 --- a/internal/usage/usage_file.go +++ b/internal/usage/usage_file.go @@ -8,10 +8,10 @@ import ( "strings" "github.com/pkg/errors" + "github.com/rs/zerolog/log" "golang.org/x/mod/semver" yamlv3 "gopkg.in/yaml.v3" - "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -41,7 +41,7 @@ func CreateUsageFile(path string) error { return errors.Wrapf(err, "Error writing blank usage file to %s", path) } } else { - logging.Logger.Debug().Msg("Specified usage file already exists, no overriding") + log.Debug().Msg("Specified usage file already exists, no overriding") } return nil @@ -50,7 +50,7 @@ func CreateUsageFile(path string) error { func LoadUsageFile(path string) (*UsageFile, error) { blankUsage := NewBlankUsageFile() if _, err := os.Stat(path); os.IsNotExist(err) { - logging.Logger.Debug().Msg("Specified usage file does not exist. Using a blank file") + log.Debug().Msg("Specified usage file does not exist. Using a blank file") return blankUsage, nil } diff --git a/schema/infracost.schema.json b/schema/infracost.schema.json index 25b76a34f9a..76018f3d778 100644 --- a/schema/infracost.schema.json +++ b/schema/infracost.schema.json @@ -72,8 +72,7 @@ "monthlyQuantity", "price", "hourlyCost", - "monthlyCost", - "priceNotFound" + "monthlyCost" ], "properties": { "name": { @@ -99,9 +98,6 @@ }, "usageBased": { "type": "boolean" - }, - "priceNotFound": { - "type": "boolean" } }, "additionalProperties": false, @@ -233,7 +229,6 @@ "Project": { "required": [ "name", - "displayName", "metadata", "pastBreakdown", "breakdown", @@ -244,9 +239,6 @@ "name": { "type": "string" }, - "displayName": { - "type": "string" - }, "metadata": { "$schema": "http://json-schema.org/draft-04/schema#", "$ref": "#/definitions/ProjectMetadata" diff --git a/tools/describezones/main.go b/tools/describezones/main.go index 9eea092d20a..d84ab79eeb5 100644 --- a/tools/describezones/main.go +++ b/tools/describezones/main.go @@ -15,8 +15,6 @@ import ( "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/zclconf/go-cty/cty" "google.golang.org/api/compute/v1" - - "github.com/infracost/infracost/internal/logging" ) func main() { @@ -33,7 +31,7 @@ func main() { func describeAWSZones() { cfg, err := config.LoadDefaultConfig(context.Background()) if err != nil { - logging.Logger.Fatal().Msgf("error loading aws config %s", err) + log.Fatalf("error loading aws config %s", err) } svc := ec2.NewFromConfig(cfg) @@ -42,7 +40,7 @@ func describeAWSZones() { AllRegions: aws.Bool(true), }) if err != nil { - logging.Logger.Fatal().Msgf("error describing ec2 regions %s", err) + log.Fatalf("error describing ec2 regions %s", err) } m := make(map[string]map[string]cty.Value) for _, region := range resp.Regions { @@ -51,7 +49,7 @@ func describeAWSZones() { config.WithRegion(name), ) if err != nil { - logging.Logger.Fatal().Msg(err.Error()) + log.Fatal(err) } regionalSvc := ec2.NewFromConfig(regionalConf) @@ -97,13 +95,13 @@ var awsZones = map[string]cty.Value{ } `) if err != nil { - logging.Logger.Fatal().Msgf("failed to create template: %s", err) + log.Fatalf("failed to create template: %s", err) } buf := bytes.NewBuffer([]byte{}) err = tmpl.Execute(buf, m) if err != nil { - logging.Logger.Fatal().Msgf("error executing template: %s", err) + log.Fatalf("error executing template: %s", err) } writeOutput("aws", buf.Bytes()) @@ -113,7 +111,7 @@ func describeGCPZones() { computeService, err := compute.NewService(ctx) if err != nil { - logging.Logger.Fatal().Msgf("failed to create compute service: %s", err) + log.Fatalf("failed to create compute service: %s", err) } projectID := "691877312977" @@ -133,7 +131,7 @@ func describeGCPZones() { return nil }); err != nil { - logging.Logger.Fatal().Msgf("Failed to list regions: %s", err) + log.Fatalf("Failed to list regions: %s", err) } tmpl, err := template.New("test").Parse(` @@ -150,13 +148,13 @@ var gcpZones = map[string]cty.Value{ } `) if err != nil { - logging.Logger.Fatal().Msgf("failed to create template: %s", err) + log.Fatalf("failed to create template: %s", err) } buf := bytes.NewBuffer([]byte{}) err = tmpl.Execute(buf, regions) if err != nil { - logging.Logger.Fatal().Msgf("error executing template: %s", err) + log.Fatalf("error executing template: %s", err) } writeOutput("gcp", buf.Bytes()) @@ -165,16 +163,16 @@ var gcpZones = map[string]cty.Value{ func writeOutput(provider string, input []byte) { f, err := os.Create("zones_" + provider + ".go") if err != nil { - logging.Logger.Fatal().Msgf("could not create output file: %s", err) + log.Fatalf("could not create output file: %s", err) } formatted, err := format.Source(input) if err != nil { - logging.Logger.Fatal().Msgf("could not format output: %s", err) + log.Fatalf("could not format output: %s", err) } _, err = f.Write(formatted) if err != nil { - logging.Logger.Fatal().Msgf("could not write output: %s", err) + log.Fatalf("could not write output: %s", err) } } diff --git a/tools/release/main.go b/tools/release/main.go index b509742a48c..59af9816dc9 100644 --- a/tools/release/main.go +++ b/tools/release/main.go @@ -10,10 +10,9 @@ import ( "strings" "github.com/google/go-github/v41/github" + "github.com/rs/zerolog/log" "golang.org/x/oauth2" "golang.org/x/sync/errgroup" - - "github.com/infracost/infracost/internal/logging" ) func main() { @@ -29,22 +28,22 @@ func main() { } if err != nil { - logging.Logger.Error().Msgf("failed to create draft release %s", err) + log.Error().Msgf("failed to create draft release %s", err) return } toUpload, err := findReleaseAssets() if err != nil { - logging.Logger.Error().Msgf("failed to collect release assets %s", err) + log.Error().Msgf("failed to collect release assets %s", err) return } err = uploadAssets(toUpload, cli, release) if err != nil { - logging.Logger.Error().Msgf("failed to upload release assets %s", err) + log.Error().Msgf("failed to upload release assets %s", err) return } - logging.Logger.Info().Msg("successfully created draft release") + log.Info().Msg("successfully created draft release") } func fetchExistingRelease(cli *github.Client, tag string) (*github.RepositoryRelease, error) { @@ -71,7 +70,7 @@ func fetchExistingRelease(cli *github.Client, tag string) (*github.RepositoryRel for _, asset := range release.Assets { _, err = cli.Repositories.DeleteReleaseAsset(context.Background(), "infracost", "infracost", asset.GetID()) if err != nil { - logging.Logger.Error().Msgf("failed to delete asset %s", err) + log.Error().Msgf("failed to delete asset %s", err) continue } } @@ -166,7 +165,7 @@ func uploadAssets(toUpload []string, cli *github.Client, release *github.Reposit } func uploadAsset(file string, cli *github.Client, id int64) error { - logging.Logger.Info().Msgf("uploading asset %s", file) + log.Info().Msgf("uploading asset %s", file) f, err := os.Open(file) if err != nil { From 54f0bdf4dfa4215bd9a9b6601c6b646de22f7388 Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Thu, 25 Apr 2024 15:43:49 +0100 Subject: [PATCH 35/50] fix: capacity and length were in the wrong order This was causing a panic --- internal/hcl/parser.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/hcl/parser.go b/internal/hcl/parser.go index db5e5d608dc..ea19addf221 100644 --- a/internal/hcl/parser.go +++ b/internal/hcl/parser.go @@ -336,7 +336,7 @@ func (p *Parser) YAML() string { if len(p.tfEnvVars) > 0 { str.WriteString(" terraform_vars:\n") - keys := make([]string, len(p.tfEnvVars), 0) + keys := make([]string, 0, len(p.tfEnvVars)) for key := range p.tfEnvVars { keys = append(keys, key) } From 9a91cf90fd302b4f53f9f7824ff80da16741731d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 12:48:01 +0000 Subject: [PATCH 36/50] chore(deps): bump golang.org/x/net from 0.19.0 to 0.23.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.19.0 to 0.23.0. - [Commits](https://github.com/golang/net/compare/v0.19.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 934960388f7..d9371550f18 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( github.com/stretchr/testify v1.8.4 github.com/tidwall/gjson v1.17.0 github.com/zclconf/go-cty v1.14.0 - golang.org/x/crypto v0.17.0 + golang.org/x/crypto v0.21.0 golang.org/x/mod v0.14.0 gopkg.in/go-playground/assert.v1 v1.2.1 gopkg.in/yaml.v2 v2.4.0 @@ -49,7 +49,7 @@ require ( require ( github.com/aws/aws-sdk-go-v2/service/eks v1.27.0 github.com/hashicorp/terraform-config-inspect v0.0.0-20210625153042-09f34846faab - golang.org/x/sys v0.15.0 // indirect + golang.org/x/sys v0.18.0 // indirect ) require ( @@ -217,7 +217,7 @@ require ( go.mozilla.org/sops/v3 v3.7.3 // indirect go.uber.org/atomic v1.9.0 // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/time v0.3.0 // indirect gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect @@ -257,7 +257,7 @@ require ( github.com/yashtewari/glob-intersection v0.1.0 // indirect github.com/zclconf/go-cty-yaml v1.0.3 go.opencensus.io v0.24.0 // indirect - golang.org/x/net v0.19.0 // indirect + golang.org/x/net v0.23.0 // indirect google.golang.org/api v0.114.0 google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect diff --git a/go.sum b/go.sum index 468467f5740..91bca8af099 100644 --- a/go.sum +++ b/go.sum @@ -1281,8 +1281,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1388,8 +1388,8 @@ golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1526,8 +1526,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1536,8 +1536,8 @@ golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From b6e433b97717031cef80771d9ff9144a18b2e493 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 28 Apr 2024 05:23:07 +0000 Subject: [PATCH 37/50] chore(deps): bump github.com/hashicorp/go-getter from 1.7.3 to 1.7.4 Bumps [github.com/hashicorp/go-getter](https://github.com/hashicorp/go-getter) from 1.7.3 to 1.7.4. - [Release notes](https://github.com/hashicorp/go-getter/releases) - [Changelog](https://github.com/hashicorp/go-getter/blob/main/.goreleaser.yml) - [Commits](https://github.com/hashicorp/go-getter/compare/v1.7.3...v1.7.4) --- updated-dependencies: - dependency-name: github.com/hashicorp/go-getter dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d9371550f18..bfd3aa8e7ea 100644 --- a/go.mod +++ b/go.mod @@ -240,7 +240,7 @@ require ( github.com/google/go-querystring v1.1.0 // indirect github.com/googleapis/gax-go/v2 v2.7.1 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 - github.com/hashicorp/go-getter v1.7.3 + github.com/hashicorp/go-getter v1.7.4 github.com/hashicorp/go-safetemp v1.0.0 github.com/hashicorp/go-uuid v1.0.3 github.com/hashicorp/go-version v1.6.0 diff --git a/go.sum b/go.sum index 91bca8af099..99eb126a480 100644 --- a/go.sum +++ b/go.sum @@ -737,8 +737,8 @@ github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.5.1/go.mod h1:a7z7NPPfNQpJWcn4rSWFtdrSldqLdLPEF3d8nFMsSLM= -github.com/hashicorp/go-getter v1.7.3 h1:bN2+Fw9XPFvOCjB0UOevFIMICZ7G2XSQHzfvLUyOM5E= -github.com/hashicorp/go-getter v1.7.3/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.4 h1:3yQjWuxICvSpYwqSayAdKRFcvBl1y/vogCxczWSmix0= +github.com/hashicorp/go-getter v1.7.4/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.15.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= From 1d8ff60943739ab22021649ac060e3e7ca748dab Mon Sep 17 00:00:00 2001 From: Owen Date: Mon, 29 Apr 2024 12:47:43 +0100 Subject: [PATCH 38/50] bug: debug-report panics (#3045) This resolves an issue where the debug-report panics when the `--debug-report` argument is passed. This looks like its because more characters are being assumed to have been removed that have so simplifying it by removing the comma --- cmd/infracost/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/infracost/main.go b/cmd/infracost/main.go index 8236149fc1e..38a0198f35b 100644 --- a/cmd/infracost/main.go +++ b/cmd/infracost/main.go @@ -102,7 +102,7 @@ type debugWriter struct { func (d debugWriter) Write(p []byte) (n int, err error) { p = bytes.Trim(p, " \n\t") - return d.f.Write(append(p, []byte(",\n")...)) + return d.f.Write(append(p, []byte("\n")...)) } func newRootCmd(ctx *config.RunContext) *cobra.Command { From 70783ed7819c1a246e7a9c8f538754c5bafc6731 Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Mon, 29 Apr 2024 15:15:42 +0100 Subject: [PATCH 39/50] fix(azure): default included storage for Azure Container Registry This could cause a panic before if this value was blank --- internal/resources/azure/container_registry.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/internal/resources/azure/container_registry.go b/internal/resources/azure/container_registry.go index aeb7957f58f..7fca822a601 100644 --- a/internal/resources/azure/container_registry.go +++ b/internal/resources/azure/container_registry.go @@ -36,24 +36,23 @@ func (r *ContainerRegistry) PopulateUsage(u *schema.UsageData) { func (r *ContainerRegistry) BuildResource() *schema.Resource { var locationsCount int - var storageGB, includedStorage, monthlyBuildVCPU *decimal.Decimal + var storageGB, monthlyBuildVCPU *decimal.Decimal var overStorage decimal.Decimal sku := "Classic" + includedStorage := decimal.NewFromFloat(10) if r.SKU != "" { sku = r.SKU } switch sku { - case "Classic": - includedStorage = decimalPtr(decimal.NewFromFloat(10)) case "Basic": - includedStorage = decimalPtr(decimal.NewFromFloat(10)) + includedStorage = decimal.NewFromFloat(10) case "Standard": - includedStorage = decimalPtr(decimal.NewFromFloat(100)) + includedStorage = decimal.NewFromFloat(100) case "Premium": - includedStorage = decimalPtr(decimal.NewFromFloat(500)) + includedStorage = decimal.NewFromFloat(500) } locationsCount = r.GeoReplicationLocations @@ -72,8 +71,8 @@ func (r *ContainerRegistry) BuildResource() *schema.Resource { if r.StorageGB != nil { storageGB = decimalPtr(decimal.NewFromFloat(*r.StorageGB)) - if storageGB.GreaterThan(*includedStorage) { - overStorage = storageGB.Sub(*includedStorage) + if storageGB.GreaterThan(includedStorage) { + overStorage = storageGB.Sub(includedStorage) storageGB = &overStorage costComponents = append(costComponents, r.containerRegistryStorageCostComponent(fmt.Sprintf("Storage (over %sGB)", includedStorage), sku, storageGB)) } From 27f02d84d9ac0a92afe965ddb0b68820af7efb7e Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Mon, 29 Apr 2024 17:43:52 -0400 Subject: [PATCH 40/50] fix: add missing usage default (#3050) --- infracost-usage-defaults.large.yml | 6 ++++++ infracost-usage-defaults.medium.yml | 6 ++++++ infracost-usage-defaults.small.yml | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/infracost-usage-defaults.large.yml b/infracost-usage-defaults.large.yml index bd9bd9faeaf..654fcfedeeb 100644 --- a/infracost-usage-defaults.large.yml +++ b/infracost-usage-defaults.large.yml @@ -701,6 +701,12 @@ resource_type_default_usage: additional_backup_storage_gb: 210 # Additional backup storage in GB. If geo-redundancy is enabled, you should set this to twice the required storage capacity. azurerm_mysql_server: additional_backup_storage_gb: 200 # Additional consumption of backup storage in GB. + azurerm_linux_virtual_machine: + os_disk: + monthly_disk_operations: 4000000000 # Number of disk operations (writes, reads, deletes) using a unit size of 256KiB. + azurerm_linux_virtual_machine_scale_set: + os_disk: + monthly_disk_operations: 4000000000 # Number of disk operations (writes, reads, deletes) using a unit size of 256KiB per instance in the scale set. azurerm_nat_gateway: monthly_data_processed_gb: 444 # Monthly data processed by the NAT Gateway in GB. # diff --git a/infracost-usage-defaults.medium.yml b/infracost-usage-defaults.medium.yml index dde0eed4797..53277207e7a 100644 --- a/infracost-usage-defaults.medium.yml +++ b/infracost-usage-defaults.medium.yml @@ -662,6 +662,12 @@ resource_type_default_usage: monthly_data_processed_gb: 20000 # Monthly inbound and outbound data processed in GB. azurerm_lb: monthly_data_processed_gb: 2000 # Monthly inbound and outbound data processed in GB. + azurerm_linux_virtual_machine: + os_disk: + monthly_disk_operations: 2000000000 # Number of disk operations (writes, reads, deletes) using a unit size of 256KiB. + azurerm_linux_virtual_machine_scale_set: + os_disk: + monthly_disk_operations: 2000000000 # Number of disk operations (writes, reads, deletes) using a unit size of 256KiB per instance in the scale set. azurerm_log_analytics_workspace: monthly_log_data_ingestion_gb: 3.3 # Monthly log data ingested by the workspace in GB (only used for Pay-as-you-go workspaces). monthly_additional_log_data_retention_gb: 75 # Monthly additional GB of data retained past the free allowance. diff --git a/infracost-usage-defaults.small.yml b/infracost-usage-defaults.small.yml index 09e03df564e..97a9173b2e3 100644 --- a/infracost-usage-defaults.small.yml +++ b/infracost-usage-defaults.small.yml @@ -662,6 +662,12 @@ resource_type_default_usage: monthly_data_processed_gb: 10000 # Monthly inbound and outbound data processed in GB. azurerm_lb: monthly_data_processed_gb: 1000 # Monthly inbound and outbound data processed in GB. + azurerm_linux_virtual_machine: + os_disk: + monthly_disk_operations: 1000000000 # Number of disk operations (writes, reads, deletes) using a unit size of 256KiB. + azurerm_linux_virtual_machine_scale_set: + os_disk: + monthly_disk_operations: 1000000000 # Number of disk operations (writes, reads, deletes) using a unit size of 256KiB per instance in the scale set. azurerm_log_analytics_workspace: monthly_log_data_ingestion_gb: 1.65 # Monthly log data ingested by the workspace in GB (only used for Pay-as-you-go workspaces). monthly_additional_log_data_retention_gb: 37 # Monthly additional GB of data retained past the free allowance. From 5cb1c644c611ff1472950781ae85ce54fbb6814b Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Mon, 29 Apr 2024 16:00:43 +0100 Subject: [PATCH 41/50] feat(aws): add more free resources --- internal/providers/terraform/aws/registry.go | 262 ++++++++++++++----- 1 file changed, 198 insertions(+), 64 deletions(-) diff --git a/internal/providers/terraform/aws/registry.go b/internal/providers/terraform/aws/registry.go index 8be31b00ee9..9870be7d3eb 100644 --- a/internal/providers/terraform/aws/registry.go +++ b/internal/providers/terraform/aws/registry.go @@ -183,6 +183,7 @@ var FreeResources = []string{ "aws_apigatewayv2_vpc_link", // AWS AppConfig + "aws_appconfig_configuration_profile", "aws_appconfig_extension", "aws_appconfig_extension_association", "aws_appconfig_hosted_configuration_version", @@ -202,6 +203,12 @@ var FreeResources = []string{ "aws_appmesh_virtual_router", "aws_appmesh_virtual_service", + // AWS AppRunner + "aws_apprunner_custom_domain_association", + + // AWS AppStream + "aws_appstream_fleet_stack_association", + // AWS Backup "aws_backup_global_settings", "aws_backup_plan", @@ -210,28 +217,24 @@ var FreeResources = []string{ "aws_backup_vault_notifications", "aws_backup_vault_policy", - // AWS DX Transit. - "aws_dx_bgp_peer", - "aws_dx_gateway", - "aws_dx_gateway_association_proposal", - "aws_dx_hosted_private_virtual_interface", - "aws_dx_hosted_private_virtual_interface_accepter", - "aws_dx_hosted_public_virtual_interface", - "aws_dx_hosted_public_virtual_interface_accepter", - "aws_dx_hosted_transit_virtual_interface", - "aws_dx_hosted_transit_virtual_interface_accepter", - "aws_dx_lag", - "aws_dx_private_virtual_interface", - "aws_dx_public_virtual_interface", - "aws_dx_transit_virtual_interface", + // AWS Batch + "aws_batch_job_queue", + + // AWS Budgets + "aws_budgets_budget", // AWS Cloudformation "aws_cloudformation_stack_set_instance", "aws_cloudformation_type", // AWS Cloudfront + "aws_cloudfront_cache_policy", + "aws_cloudfront_key_group", + "aws_cloudfront_origin_access_control", "aws_cloudfront_origin_access_identity", + "aws_cloudfront_origin_request_policy", "aws_cloudfront_public_key", + "aws_cloudfront_response_headers_policy", // AWS CloudHSM "aws_cloudhsm_v2_cluster", @@ -244,16 +247,20 @@ var FreeResources = []string{ "aws_cloudwatch_log_stream", "aws_cloudwatch_log_subscription_filter", - // AWS EventBridge - "aws_cloudwatch_event_permission", - "aws_cloudwatch_event_rule", - "aws_cloudwatch_event_target", - // AWS CodeBuild "aws_codebuild_report_group", "aws_codebuild_source_credential", "aws_codebuild_webhook", + // AWS CodeDeploy + "aws_codedeploy_app", + "aws_codedeploy_deployment_config", + + // AWS Cognito + "aws_cognito_identity_pool_roles_attachment", + "aws_cognito_resource_server", + "aws_cognito_user_pool_client", + // AWS Config "aws_config_aggregate_authorization", "aws_config_configuration_aggregator", @@ -261,20 +268,63 @@ var FreeResources = []string{ "aws_config_delivery_channel", "aws_config_remediation_configuration", + // AWS DMS + "aws_dms_certificate", + "aws_dms_endpoint", + "aws_dms_event_subscription", + "aws_dms_replication_subnet_group", + "aws_dms_replication_task", + "aws_dms_s3_endpoint", + + // AWS DocDB + "aws_docdb_cluster_parameter_group", + "aws_docdb_subnet_group", + + // AWS DX Transit. + "aws_dx_bgp_peer", + "aws_dx_gateway", + "aws_dx_gateway_association_proposal", + "aws_dx_hosted_private_virtual_interface", + "aws_dx_hosted_private_virtual_interface_accepter", + "aws_dx_hosted_public_virtual_interface", + "aws_dx_hosted_public_virtual_interface_accepter", + "aws_dx_hosted_transit_virtual_interface", + "aws_dx_hosted_transit_virtual_interface_accepter", + "aws_dx_lag", + "aws_dx_private_virtual_interface", + "aws_dx_public_virtual_interface", + "aws_dx_transit_virtual_interface", + + // AWS DynamoDB + "aws_dynamodb_table_item", + + // AWS EBS + "aws_ebs_encryption_by_default", + "aws_ebs_default_kms_key", + // AWS EC2 "aws_autoscaling_attachment", "aws_autoscaling_group_tag", "aws_autoscaling_lifecycle_hook", "aws_autoscaling_notification", "aws_autoscaling_policy", + "aws_ec2_managed_prefix_list", + "aws_ec2_managed_prefix_list_entry", + "aws_key_pair", + "aws_launch_configuration", + "aws_launch_template", "aws_placement_group", + "aws_volume_attachment", // AWS ECR + "aws_ecr_pull_through_cache_rule", "aws_ecr_repository_policy", // AWS EKS + "aws_eks_access_policy_association", "aws_eks_addon", "aws_eks_identity_provider_config", + "aws_eks_pod_identity_association", // AWS Elastic Beanstalk "aws_elastic_beanstalk_application", @@ -314,6 +364,14 @@ var FreeResources = []string{ "aws_elasticache_user_group", "aws_elasticache_user_group_association", + // AWS EventBridge + "aws_cloudwatch_event_api_destination", + "aws_cloudwatch_event_bus_policy", + "aws_cloudwatch_event_connection", + "aws_cloudwatch_event_permission", + "aws_cloudwatch_event_rule", + "aws_cloudwatch_event_target", + // "AWS Global Accelerator Listener "aws_globalaccelerator_listener", @@ -364,23 +422,43 @@ var FreeResources = []string{ "aws_iam_user_policy_attachment", "aws_iam_user_ssh_key", + // AWS Image Builder + "aws_imagebuilder_component", + "aws_imagebuilder_image_pipeline", + // AWS IOT "aws_iot_policy", + "aws_iot_role_alias", // AWS KMS "aws_kms_alias", "aws_kms_ciphertext", "aws_kms_grant", + "aws_kms_key_policy", // AWS Lambda "aws_lambda_alias", "aws_lambda_code_signing_config", "aws_lambda_event_source_mapping", "aws_lambda_function_event_invoke_config", + "aws_lambda_function_url", "aws_lambda_layer_version", "aws_lambda_layer_version_permission", "aws_lambda_permission", + // AWS Lightsail + "aws_lightsail_domain", + "aws_lightsail_key_pair", + "aws_lightsail_static_ip", + "aws_lightsail_static_ip_attachment", + + // AWS MQ + "aws_mq_configuration", + + // AWS MSK + "aws_msk_configuration", + "aws_msk_scram_secret_association", + // AWS Neptune "aws_neptune_cluster_parameter_group", "aws_neptune_event_subscription", @@ -392,46 +470,54 @@ var FreeResources = []string{ "aws_networkfirewall_firewall_policy", "aws_networkfirewall_logging_configuration", - // AWS Others + // AWS Opensearch + "aws_elasticsearch_domain_policy", + "aws_elasticsearch_domain_saml_options", + "aws_opensearch_domain_policy", + "aws_opensearch_domain_saml_options", + + // AWS OpsWorks + "aws_opsworks_user_profile", + + // AWS Organizations + "aws_organizations_account", + "aws_organizations_organizational_unit", + "aws_organizations_policy", + "aws_organizations_policy_attachment", + + // AWS RAM + "aws_ram_principal_association", + "aws_ram_resource_association", + "aws_ram_resource_share", + "aws_ram_resource_share_accepter", + + // AWS RDS + "aws_db_event_subscription", "aws_db_instance_role_association", "aws_db_option_group", "aws_db_parameter_group", + "aws_db_proxy_default_target_group", + "aws_db_proxy_target", "aws_db_subnet_group", - "aws_dms_replication_subnet_group", - "aws_dms_replication_task", - "aws_docdb_cluster_parameter_group", - "aws_docdb_subnet_group", - "aws_dynamodb_table_item", - "aws_ebs_encryption_by_default", - "aws_ebs_default_kms_key", - "aws_elasticsearch_domain_policy", - "aws_opensearch_domain_policy", - "aws_key_pair", - "aws_launch_configuration", - "aws_launch_template", - "aws_lightsail_domain", - "aws_lightsail_key_pair", - "aws_lightsail_static_ip", - "aws_lightsail_static_ip_attachment", - "aws_mq_configuration", - "aws_msk_configuration", "aws_rds_cluster_endpoint", "aws_rds_cluster_parameter_group", + "aws_rds_cluster_role_association", + + // AWS Resource Groups "aws_resourcegroups_group", + "aws_resourcegroups_resource", + + // AWS Redshift + "aws_redshift_cluster_iam_roles", + + // AWS Route53 "aws_route53_resolver_dnssec_config", "aws_route53_resolver_query_log_config", "aws_route53_resolver_query_log_config_association", "aws_route53_resolver_rule", "aws_route53_resolver_rule_association", + "aws_route53_vpc_association_authorization", "aws_route53_zone_association", - "aws_sqs_queue_policy", - "aws_volume_attachment", - - // AWS RAM - "aws_ram_principal_association", - "aws_ram_resource_association", - "aws_ram_resource_share", - "aws_ram_resource_share_accepter", // AWS S3 "aws_s3_access_point", @@ -451,6 +537,13 @@ var FreeResources = []string{ "aws_s3_bucket_server_side_encryption_configuration", "aws_s3_bucket_versioning", "aws_s3_bucket_website_configuration", + "aws_s3_object", // Costs are shown at the bucket level + + // AWS SageMaker + "aws_sagemaker_user_profile", + + // AWS Scheduler + "aws_scheduler_schedule_group", // AWS Secrets Manager "aws_secretsmanager_secret_policy", @@ -458,19 +551,48 @@ var FreeResources = []string{ "aws_secretsmanager_secret_version", // AWS Service Discovery Service + "aws_service_discovery_http_namespace", "aws_service_discovery_service", // AWS SES + "aws_ses_configuration_set", "aws_ses_domain_dkim", "aws_ses_domain_identity", + "aws_ses_domain_identity_verification", + "aws_ses_domain_mail_from", + "aws_ses_email_identity", + "aws_ses_event_destination", + "aws_ses_identity_notification_topic", + "aws_ses_identity_policy", + "aws_ses_receipt_filter", + "aws_ses_receipt_rule", + "aws_ses_receipt_rule_set", + "aws_ses_template", + "aws_sesv2_configuration_set", + "aws_sesv2_configuration_set_event_destination", + "aws_sesv2_contact_list", + "aws_sesv2_email_identity", + "aws_sesv2_email_identity_feedback_attributes", + "aws_sesv2_email_identity_mail_from_attributes", + "aws_sesv2_email_identity_policy", + + // AWS Shield + "aws_shield_drt_access_role_arn_association", + "aws_shield_protection_health_check_association", // AWS SNS "aws_sns_platform_application", "aws_sns_sms_preferences", "aws_sns_topic_policy", + // AWS SQS + "aws_sqs_queue_policy", + "aws_sqs_queue_redrive_allow_policy", + "aws_sqs_queue_redrive_policy", + // AWS SSM "aws_ssm_association", + "aws_ssm_document", "aws_ssm_maintenance_window", "aws_ssm_maintenance_window_target", "aws_ssm_maintenance_window_task", @@ -478,9 +600,15 @@ var FreeResources = []string{ "aws_ssm_patch_group", "aws_ssm_resource_data_sync", + // AWS SSO + "aws_ssoadmin_account_assignment", + "aws_ssoadmin_managed_policy_attachment", + "aws_ssoadmin_permission_set_inline_policy", + // AWS Transfer Family "aws_transfer_access", "aws_transfer_ssh_key", + "aws_transfer_tag", "aws_transfer_user", // AWS VPC @@ -523,6 +651,7 @@ var FreeResources = []string{ "aws_vpc_dhcp_options_association", "aws_vpc_endpoint_connection_notification", "aws_vpc_endpoint_route_table_association", + "aws_vpc_endpoint_security_group_association", "aws_vpc_endpoint_service", "aws_vpc_endpoint_service_allowed_principal", "aws_vpc_endpoint_subnet_association", @@ -537,6 +666,29 @@ var FreeResources = []string{ "aws_vpn_gateway_attachment", "aws_vpn_gateway_route_propagation", + // WAF + "aws_wafv2_rule_group", + "aws_wafv2_ip_set", + "aws_wafv2_regex_pattern_set", + "aws_wafv2_web_acl_association", + "aws_wafv2_web_acl_logging_configuration", + "aws_waf_byte_match_set", + "aws_waf_geo_match_set", + "aws_waf_ipset", + "aws_waf_regex_match_set", + "aws_waf_regex_pattern_set", + "aws_waf_size_constraint_set", + "aws_waf_sql_injection_match_set", + "aws_waf_xss_match_set", + "aws_waf_rule", + "aws_waf_rate_based_rule", + "aws_waf_rule_group", + "aws_wafregional_byte_match_set", + "aws_wafregional_size_constraint_set", + "aws_wafregional_sql_injection_match_set", + "aws_wafregional_web_acl_association", + "aws_wafregional_xss_match_set", + // Hashicorp "null_resource", "local_file", @@ -555,24 +707,6 @@ var FreeResources = []string{ "time_rotating", "time_sleep", "time_static", - - // WAF - "aws_wafv2_rule_group", - "aws_wafv2_ip_set", - "aws_wafv2_regex_pattern_set", - "aws_wafv2_web_acl_association", - "aws_wafv2_web_acl_logging_configuration", - "aws_waf_byte_match_set", - "aws_waf_geo_match_set", - "aws_waf_ipset", - "aws_waf_regex_match_set", - "aws_waf_regex_pattern_set", - "aws_waf_size_constraint_set", - "aws_waf_sql_injection_match_set", - "aws_waf_xss_match_set", - "aws_waf_rule", - "aws_waf_rate_based_rule", - "aws_waf_rule_group", } var UsageOnlyResources = []string{ From 4be61efba0996a2905c93cf890078e3b611c3f5f Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Mon, 29 Apr 2024 16:42:46 +0100 Subject: [PATCH 42/50] feat(azure): add more free resources --- internal/providers/terraform/azure/registry.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/providers/terraform/azure/registry.go b/internal/providers/terraform/azure/registry.go index 9e0313712be..78542f1c65b 100644 --- a/internal/providers/terraform/azure/registry.go +++ b/internal/providers/terraform/azure/registry.go @@ -265,6 +265,7 @@ var FreeResources = []string{ "azurerm_blueprint_assignment", // Azure CDN + "azurerm_cdn_frontdoor_custom_domain_association", "azurerm_cdn_profile", // Azure Consumption @@ -274,6 +275,8 @@ var FreeResources = []string{ // Azure CosmosDB "azurerm_cosmosdb_notebook_workspace", + "azurerm_cosmosdb_sql_role_assignment", + "azurerm_cosmosdb_sql_role_definition", "azurerm_cosmosdb_sql_stored_procedure", "azurerm_cosmosdb_sql_trigger", "azurerm_cosmosdb_sql_user_defined_function", @@ -561,6 +564,9 @@ var FreeResources = []string{ "azurerm_signalr_service_network_acl", "azurerm_signalr_shared_private_link", + // Azure Site Recovery + "azurerm_site_recovery_protection_container_mapping", + // Azure SQL "azurerm_sql_failover_group", "azurerm_sql_firewall_rule", From 0d72739b19bac39aa9f81e5c6e8a379cfb441e77 Mon Sep 17 00:00:00 2001 From: Alistair Scott Date: Mon, 29 Apr 2024 16:42:56 +0100 Subject: [PATCH 43/50] feat(google): add more free resources --- .../providers/terraform/google/registry.go | 82 ++++++++----------- 1 file changed, 34 insertions(+), 48 deletions(-) diff --git a/internal/providers/terraform/google/registry.go b/internal/providers/terraform/google/registry.go index 4f3805c3448..8b5c3a87993 100644 --- a/internal/providers/terraform/google/registry.go +++ b/internal/providers/terraform/google/registry.go @@ -59,18 +59,28 @@ var ResourceRegistry []*schema.RegistryItem = []*schema.RegistryItem{ // FreeResources grouped alphabetically var FreeResources = []string{ + "google_artifact_registry_repository_iam_binding", + "google_artifact_registry_repository_iam_member", "google_bigquery_dataset_access", "google_bigquery_dataset_iam_binding", "google_bigquery_dataset_iam_member", "google_bigquery_dataset_iam_policy", + "google_bigtable_instance_iam_member", "google_bigquery_job", "google_bigquery_routine", "google_bigquery_table_iam_binding", "google_bigquery_table_iam_member", "google_bigquery_table_iam_policy", + "google_billing_account_iam_member", "google_cloudfunctions_function_iam_binding", "google_cloudfunctions_function_iam_member", "google_cloudfunctions_function_iam_policy", + "google_cloud_run_domain_mapping", + "google_cloud_run_service_iam_member", + "google_cloud_run_service_iam_policy", + "google_cloud_run_v2_job_iam_member", + "google_cloud_run_v2_service_iam_binding", + "google_cloudfunctions2_function_iam_policy", "google_compute_attached_disk", "google_compute_backend_bucket", "google_compute_backend_bucket_signed_url_key", @@ -102,6 +112,7 @@ var FreeResources = []string{ "google_compute_network", "google_compute_network_endpoint", "google_compute_network_endpoint_group", + "google_compute_network_firewall_policy_association", "google_compute_network_peering", "google_compute_network_peering_routes_config", "google_compute_organization_security_policy", @@ -131,6 +142,20 @@ var FreeResources = []string{ "google_compute_subnetwork_iam_policy", "google_compute_url_map", "google_dns_policy", + "google_folder_iam_binding", + "google_folder_iam_member", + "google_folder_iam_policy", + "google_iam_custom_role", + "google_iam_workload_identity_pool", + "google_iam_workload_identity_pool_provider", + "google_iap_app_engine_service_iam_member", + "google_iap_web_backend_service_iam_binding", + "google_iap_web_backend_service_iam_member", + "google_iap_web_backend_service_iam_policy", + "google_iap_web_iam_binding", + "google_iap_web_iam_member", + "google_iap_web_iam_policy", + "google_iap_web_type_app_engine_iam_binding", "google_kms_crypto_key_iam_binding", "google_kms_crypto_key_iam_member", "google_kms_crypto_key_iam_policy", @@ -152,6 +177,10 @@ var FreeResources = []string{ "google_monitoring_custom_service", "google_monitoring_slo", "google_monitoring_uptime_check_config", + "google_notebooks_instance_iam_member", + "google_organization_iam_binding", + "google_organization_iam_custom_role", + "google_organization_iam_member", "google_os_login_ssh_public_key", "google_project", "google_project_default_service_accounts", @@ -177,6 +206,10 @@ var FreeResources = []string{ "google_service_account_iam_member", "google_service_account_iam_policy", "google_service_account_key", + "google_sourcerepo_repository_iam_binding", + "google_sourcerepo_repository_iam_member", + "google_spanner_database_iam_member", + "google_spanner_instance_iam_member", "google_sql_database", "google_sql_ssl_cert", "google_sql_user", @@ -192,55 +225,8 @@ var FreeResources = []string{ "google_storage_notification", "google_storage_object_access_control", "google_storage_object_acl", + "google_tags_tag_value_iam_binding", "google_usage_export_bucket", } var UsageOnlyResources = []string{} - -// TODO: This is a list of all the google_compute* resources that may have prices: -// compute_instance scratch_disk -// VM instance (https://cloud.google.com/compute/vm-instance-pricing): -// google_compute_instance_from_machine_image -// google_compute_instance_from_template -// -// Node groups and autoscaling: -// google_compute_autoscaler -// google_compute_instance_template -// google_compute_target_pool -// google_compute_instance_group_manager -// google_compute_per_instance_config -// google_compute_region_autoscaler -// google_compute_node_group -// google_compute_node_template -// google_compute_region_instance_group_manager -// google_compute_region_per_instance_config -// -// Disk and images (https://cloud.google.com/compute/disks-image-pricing): -// google_compute_image -// google_compute_machine_image -// google_compute_region_disk -// google_compute_snapshot -// -// Load balancers (https://cloud.google.com/vpc/network-pricing#lb): -// google_compute_forwarding_rule -// google_compute_global_forwarding_rule -// google_compute_target_grpc_proxy -// google_compute_target_http_proxy -// google_compute_target_https_proxy -// google_compute_target_ssl_proxy -// google_compute_target_tcp_proxy -// google_compute_region_target_http_proxy -// google_compute_region_target_https_proxy -// -// -// Packet mirroring (https://cloud.google.com/vpc/network-pricing#packet-mirroring): -// google_compute_packet_mirroring -// -// Cloud interconnect (https://cloud.google.com/vpc/network-pricing#interconnect-pricing): -// google_compute_interconnect_attachment -// -// Others: -// google_compute_region_disk_resource_policy_attachment -// google_compute_reservation -// google_compute_resource_policy -// google_compute_security_policy From d38c888ca6714b3e0ee30a859ffa915a4d1a6421 Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Tue, 30 Apr 2024 13:22:19 +0200 Subject: [PATCH 44/50] feat: readd templatefile support (#3041) Changes `isPathInRepo` to use wd directory instead of `RepoPath` which is likely incorrect for Terragrunt projects. The `RepoPath` property that is infered from detected projects was returning full project path for detected projects when the autdetected project was inferred from a config file. A fix for this will be addressed in a further PR. To fix the templatefile logic I've opted to use the os working directory instead, as this is more robust. --- cmd/infracost/breakdown_test.go | 40 +++++ cmd/infracost/cmd_test.go | 3 +- .../breakdown_terraform_file_funcs.golden | 165 ++++++++++++++++++ .../instance.json | 3 + .../breakdown_terraform_file_funcs/main.tf | 70 ++++++++ .../modules/test/instance.json | 3 + .../modules/test/main.tf | 21 +++ .../sym-instance.json | 1 + .../templ.tftpl | 3 + .../breakdown_terragrunt_file_funcs.golden | 165 ++++++++++++++++++ .../instance.json | 3 + .../breakdown_terragrunt_file_funcs/main.tf | 70 ++++++++ .../modules/test/instance.json | 3 + .../modules/test/main.tf | 21 +++ .../sym-instance.json | 1 + .../templ.tftpl | 3 + .../terragrunt.hcl | 5 + cmd/testdata/instance.json | 3 + cmd/testdata/templ.tftpl | 3 + internal/hcl/evaluator.go | 7 +- internal/hcl/funcs/filesystem.go | 69 +++++++- internal/hcl/funcs/filesystem_test.go | 23 ++- .../terraform/terragrunt_hcl_provider.go | 3 + 23 files changed, 680 insertions(+), 8 deletions(-) create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/modules/test/instance.json create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/modules/test/main.tf create mode 120000 cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json create mode 100644 cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/modules/test/instance.json create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/modules/test/main.tf create mode 120000 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl create mode 100644 cmd/testdata/instance.json create mode 100644 cmd/testdata/templ.tftpl diff --git a/cmd/infracost/breakdown_test.go b/cmd/infracost/breakdown_test.go index 601ddc11fdd..2cb5f74e554 100644 --- a/cmd/infracost/breakdown_test.go +++ b/cmd/infracost/breakdown_test.go @@ -1322,3 +1322,43 @@ func TestBreakdownSkipAutodetectionIfTerraformVarFilePassed(t *testing.T) { nil, ) } + +func TestBreakdownTerragruntFileFuncs(t *testing.T) { + if os.Getenv("GITHUB_ACTIONS") == "" { + t.Skip("skipping as this test is only designed for GitHub Actions") + } + + t.Setenv("INFRACOST_CI_PLATFORM", "github_app") + + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + }, + &GoldenFileOptions{IgnoreLogs: true, IgnoreNonGraph: true}, + ) +} + +func TestBreakdownTerraformFileFuncs(t *testing.T) { + if os.Getenv("GITHUB_ACTIONS") == "" { + t.Skip("skipping as this test is only designed for GitHub Actions") + } + + t.Setenv("INFRACOST_CI_PLATFORM", "github_app") + + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + }, + &GoldenFileOptions{IgnoreLogs: true, IgnoreNonGraph: true}, + ) +} diff --git a/cmd/infracost/cmd_test.go b/cmd/infracost/cmd_test.go index 4389fb01e41..94996773063 100644 --- a/cmd/infracost/cmd_test.go +++ b/cmd/infracost/cmd_test.go @@ -41,6 +41,7 @@ type GoldenFileOptions = struct { // RunTerraformCLI sets the cmd test to also run the cmd with --terraform-force-cli set RunTerraformCLI bool IgnoreNonGraph bool + IgnoreLogs bool } func DefaultOptions() *GoldenFileOptions { @@ -130,7 +131,7 @@ func GetCommandOutput(t *testing.T, args []string, testOptions *GoldenFileOption if testOptions.CaptureLogs { logBuf = testutil.ConfigureTestToCaptureLogs(t, c) - } else { + } else if !testOptions.IgnoreLogs { testutil.ConfigureTestToFailOnLogs(t, c) } diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden b/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden new file mode 100644 index 00000000000..e009adceb47 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden @@ -0,0 +1,165 @@ +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs + + Name Monthly Qty Unit Monthly Cost + + module.mod_files.aws_instance.file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.2xlarge) 730 hours $280.32 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.file["rootcd"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.fileexists["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.fileexists["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.fileexists["rootcd"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $530.70 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +29 cloud resources were detected: +∙ 29 were estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...breakdown_terraform_file_funcs ┃ $531 ┃ $0.00 ┃ $531 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json b/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json new file mode 100644 index 00000000000..b3fb356b747 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json @@ -0,0 +1,3 @@ +{ + "instance_type": "m5.large" +} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf b/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf new file mode 100644 index 00000000000..33debbac163 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/main.tf @@ -0,0 +1,70 @@ +provider "aws" { + region = "us-east-1" + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +locals { + files = [ + { name = "cd", file = "instance.json", }, + { name = "sym", file = "sym-instance.json", }, + { name = "pd", file = "../../../testdata/instance.json", }, + { + name = "abs", + file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json", + }, + { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/testdata/instance.json", }, + ] + dirs = [ + { name = "cd", dir = "." }, + { name = "pd", dir = "../../../testdata" }, + { name = "abs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/" }, + { name = "pdabs", dir = "/home/runner/work/infracost/infracost/cmd/testdata/" }, + + ] + template_files = [ + { name = "cd", file = "templ.tftpl", }, + { name = "pd", file = "../../../testdata/templ.tftpl", }, + { + name = "abs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl", + }, + { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/testdata/templ.tftpl", } + ] +} + +resource "aws_instance" "file" { + for_each = { for f in local.files : f.name => f.file } + + ami = "ami-674cbc1e" + instance_type = jsondecode(file(each.value)).instance_type +} + +module "mod_files" { + source = "./modules/test" +} + +resource "aws_instance" "fileexists" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = fileexists(each.value) ? "e" : "ne" +} + +resource "aws_instance" "fileset" { + for_each = { for f in local.dirs : f.name => f.dir } + ami = "ami-674cbc1e" + instance_type = length(fileset(each.value, "*.json")) +} + +resource "aws_instance" "filemd5" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = filemd5(each.value) +} + +resource "aws_instance" "template_file" { + for_each = { for f in local.template_files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = jsondecode(templatefile(each.value, {})).instance_type +} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/modules/test/instance.json b/cmd/infracost/testdata/breakdown_terraform_file_funcs/modules/test/instance.json new file mode 100644 index 00000000000..ef11be25b62 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/modules/test/instance.json @@ -0,0 +1,3 @@ +{ + "instance_type": "m5.2xlarge" +} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/modules/test/main.tf b/cmd/infracost/testdata/breakdown_terraform_file_funcs/modules/test/main.tf new file mode 100644 index 00000000000..d05d1530801 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/modules/test/main.tf @@ -0,0 +1,21 @@ +locals { + files = [ + { name = "cd", file = "${path.module}/instance.json", }, + { name = "rootcd", file = "${path.module}/../../instance.json", }, + { name = "pd", file = "${path.module}/../../../../testdata/instance.json", }, + ] +} + +resource "aws_instance" "file" { + for_each = { for f in local.files : f.name => f.file } + + ami = "ami-674cbc1e" + instance_type = jsondecode(file(each.value)).instance_type +} + +resource "aws_instance" "fileexists" { + for_each = { for f in local.files : f.name => f.file } + + ami = "ami-674cbc1e" + instance_type = fileexists(each.value) ? "e" : "ne" +} diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json b/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json new file mode 120000 index 00000000000..b36cd2a8ed7 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/sym-instance.json @@ -0,0 +1 @@ +../../../testdata/instance.json \ No newline at end of file diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl b/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl new file mode 100644 index 00000000000..460d1557190 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl @@ -0,0 +1,3 @@ +${jsonencode({ +"instance_type": "t2.micro", +})} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden new file mode 100644 index 00000000000..427546a11a1 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/breakdown_terragrunt_file_funcs.golden @@ -0,0 +1,165 @@ +Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_file_funcs + + Name Monthly Qty Unit Monthly Cost + + module.mod_files.aws_instance.file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.2xlarge) 730 hours $280.32 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.file["rootcd"] + ├─ Instance usage (Linux/UNIX, on-demand, m5.large) 730 hours $70.08 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, t2.micro) 730 hours $8.47 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.file["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileexists["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.filemd5["sym"] + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["abs"] + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.fileset["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + aws_instance.template_file["pdabs"] + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.file["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.fileexists["cd"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.fileexists["pd"] + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + module.mod_files.aws_instance.fileexists["rootcd"] + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + └─ root_block_device + └─ Storage (general purpose SSD, gp2) 8 GB $0.80 + + OVERALL TOTAL $530.70 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +29 cloud resources were detected: +∙ 29 were estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ infracost/infracost/cmd/infraco...reakdown_terragrunt_file_funcs ┃ $531 ┃ $0.00 ┃ $531 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json new file mode 100644 index 00000000000..b3fb356b747 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/instance.json @@ -0,0 +1,3 @@ +{ + "instance_type": "m5.large" +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf new file mode 100644 index 00000000000..33debbac163 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/main.tf @@ -0,0 +1,70 @@ +provider "aws" { + region = "us-east-1" + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +locals { + files = [ + { name = "cd", file = "instance.json", }, + { name = "sym", file = "sym-instance.json", }, + { name = "pd", file = "../../../testdata/instance.json", }, + { + name = "abs", + file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/instance.json", + }, + { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/testdata/instance.json", }, + ] + dirs = [ + { name = "cd", dir = "." }, + { name = "pd", dir = "../../../testdata" }, + { name = "abs", dir = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/" }, + { name = "pdabs", dir = "/home/runner/work/infracost/infracost/cmd/testdata/" }, + + ] + template_files = [ + { name = "cd", file = "templ.tftpl", }, + { name = "pd", file = "../../../testdata/templ.tftpl", }, + { + name = "abs", file = "/home/runner/work/infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs/templ.tftpl", + }, + { name = "pdabs", file = "/home/runner/work/infracost/infracost/cmd/testdata/templ.tftpl", } + ] +} + +resource "aws_instance" "file" { + for_each = { for f in local.files : f.name => f.file } + + ami = "ami-674cbc1e" + instance_type = jsondecode(file(each.value)).instance_type +} + +module "mod_files" { + source = "./modules/test" +} + +resource "aws_instance" "fileexists" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = fileexists(each.value) ? "e" : "ne" +} + +resource "aws_instance" "fileset" { + for_each = { for f in local.dirs : f.name => f.dir } + ami = "ami-674cbc1e" + instance_type = length(fileset(each.value, "*.json")) +} + +resource "aws_instance" "filemd5" { + for_each = { for f in local.files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = filemd5(each.value) +} + +resource "aws_instance" "template_file" { + for_each = { for f in local.template_files : f.name => f.file } + ami = "ami-674cbc1e" + instance_type = jsondecode(templatefile(each.value, {})).instance_type +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/modules/test/instance.json b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/modules/test/instance.json new file mode 100644 index 00000000000..ef11be25b62 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/modules/test/instance.json @@ -0,0 +1,3 @@ +{ + "instance_type": "m5.2xlarge" +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/modules/test/main.tf b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/modules/test/main.tf new file mode 100644 index 00000000000..d05d1530801 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/modules/test/main.tf @@ -0,0 +1,21 @@ +locals { + files = [ + { name = "cd", file = "${path.module}/instance.json", }, + { name = "rootcd", file = "${path.module}/../../instance.json", }, + { name = "pd", file = "${path.module}/../../../../testdata/instance.json", }, + ] +} + +resource "aws_instance" "file" { + for_each = { for f in local.files : f.name => f.file } + + ami = "ami-674cbc1e" + instance_type = jsondecode(file(each.value)).instance_type +} + +resource "aws_instance" "fileexists" { + for_each = { for f in local.files : f.name => f.file } + + ami = "ami-674cbc1e" + instance_type = fileexists(each.value) ? "e" : "ne" +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json new file mode 120000 index 00000000000..b36cd2a8ed7 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/sym-instance.json @@ -0,0 +1 @@ +../../../testdata/instance.json \ No newline at end of file diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl new file mode 100644 index 00000000000..460d1557190 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/templ.tftpl @@ -0,0 +1,3 @@ +${jsonencode({ +"instance_type": "t2.micro", +})} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl new file mode 100644 index 00000000000..4775c125bc9 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_file_funcs/terragrunt.hcl @@ -0,0 +1,5 @@ +inputs = { + get_aws_account_id = get_aws_account_id() + get_aws_caller_identity_arn = get_aws_caller_identity_arn() + get_aws_caller_identity_user_id = get_aws_caller_identity_user_id() +} diff --git a/cmd/testdata/instance.json b/cmd/testdata/instance.json new file mode 100644 index 00000000000..baf97744c97 --- /dev/null +++ b/cmd/testdata/instance.json @@ -0,0 +1,3 @@ +{ + "instance_type": "m5.8xlarge" +} diff --git a/cmd/testdata/templ.tftpl b/cmd/testdata/templ.tftpl new file mode 100644 index 00000000000..272c81c702c --- /dev/null +++ b/cmd/testdata/templ.tftpl @@ -0,0 +1,3 @@ +${jsonencode({ +"instance_type": "m5.12xlarge", +})} diff --git a/internal/hcl/evaluator.go b/internal/hcl/evaluator.go index 8ebd78d7898..be99a65e5c8 100644 --- a/internal/hcl/evaluator.go +++ b/internal/hcl/evaluator.go @@ -1150,7 +1150,7 @@ func (e *Evaluator) loadModules(lastContext hcl.EvalContext) { // ExpFunctions returns the set of functions that should be used to when evaluating // expressions in the receiving scope. func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Function { - return map[string]function.Function{ + fns := map[string]function.Function{ "abs": stdlib.AbsoluteFunc, "abspath": funcs.AbsPathFunc, "basename": funcs.BasenameFunc, @@ -1261,4 +1261,9 @@ func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Fun "zipmap": stdlib.ZipmapFunc, } + fns["templatefile"] = funcs.MakeTemplateFileFunc(baseDir, func() map[string]function.Function { + return fns + }) + + return fns } diff --git a/internal/hcl/funcs/filesystem.go b/internal/hcl/funcs/filesystem.go index 4c4ede06a7a..4bac83b7dff 100644 --- a/internal/hcl/funcs/filesystem.go +++ b/internal/hcl/funcs/filesystem.go @@ -1,11 +1,13 @@ package funcs import ( + "bytes" "encoding/base64" "fmt" "io" "os" "path/filepath" + "strings" "unicode/utf8" "github.com/bmatcuk/doublestar" @@ -14,6 +16,8 @@ import ( homedir "github.com/mitchellh/go-homedir" "github.com/zclconf/go-cty/cty" "github.com/zclconf/go-cty/cty/function" + + "github.com/infracost/infracost/internal/logging" ) // MakeFileFunc constructs a function that takes a file path and returns the @@ -204,6 +208,11 @@ func MakeFileExistsFunc(baseDir string) function.Function { // Ensure that the path is canonical for the host OS path = filepath.Clean(path) + if err := isPathInRepo(path); err != nil { + logging.Logger.Debug().Msgf("isPathInRepo error: %s returning false for filesytem func", err) + + return cty.False, nil + } fi, err := os.Stat(path) if err != nil { @@ -258,6 +267,11 @@ func MakeFileSetFunc(baseDir string) function.Function { var matchVals []cty.Value for _, match := range matches { + if err := isPathInRepo(match); err != nil { + logging.Logger.Debug().Msgf("isPathInRepo error: %s skipping match for filesytem func", err) + continue + } + fi, err := os.Stat(match) if err != nil { @@ -352,7 +366,7 @@ var PathExpandFunc = function.New(&function.Spec{ }, }) -func openFile(baseDir, path string) (*os.File, error) { +func openFile(baseDir, path string) (io.Reader, error) { path, err := homedir.Expand(path) if err != nil { return nil, fmt.Errorf("failed to expand ~: %s", err) @@ -365,6 +379,12 @@ func openFile(baseDir, path string) (*os.File, error) { // Ensure that the path is canonical for the host OS path = filepath.Clean(path) + if err := isPathInRepo(path); err != nil { + logging.Logger.Debug().Msgf("isPathInRepo error: %s returning a blank buffer for filesytem func", err) + + return bytes.NewBuffer([]byte{}), nil + } + return os.Open(path) } @@ -460,3 +480,50 @@ func Dirname(path cty.Value) (cty.Value, error) { func Pathexpand(path cty.Value) (cty.Value, error) { return PathExpandFunc.Call([]cty.Value{path}) } + +func isPathInRepo(path string) error { + // isPathInRepo is a no-op when not running in github/gitlab app env. + ciPlatform := os.Getenv("INFRACOST_CI_PLATFORM") + if ciPlatform != "github_app" && ciPlatform != "gitlab_app" { + return nil + } + + wd, err := os.Getwd() + if err != nil { + return err + } + + if !filepath.IsAbs(path) { + path = filepath.Join(wd, path) + } + + // ensure the path resolves to the real symlink path + path = symlinkPath(path) + + clean := filepath.Clean(wd) + if wd != "" && !strings.HasPrefix(path, clean) { + return fmt.Errorf("file %s is not within the repository directory %s", path, wd) + } + + return nil +} + +// symlinkPath checks the given file path and returns the real path if it is a +// symlink. +func symlinkPath(filepathStr string) string { + fileInfo, err := os.Lstat(filepathStr) + if err != nil { + return filepathStr + } + + if fileInfo.Mode()&os.ModeSymlink != 0 { + realPath, err := filepath.EvalSymlinks(filepathStr) + if err != nil { + return filepathStr + } + + return realPath + } + + return filepathStr +} diff --git a/internal/hcl/funcs/filesystem_test.go b/internal/hcl/funcs/filesystem_test.go index 80ff694f71c..04367ed672f 100644 --- a/internal/hcl/funcs/filesystem_test.go +++ b/internal/hcl/funcs/filesystem_test.go @@ -13,30 +13,43 @@ import ( func TestFile(t *testing.T) { tests := []struct { - Path cty.Value - Want cty.Value - Err bool + Path cty.Value + OSFunc func(t *testing.T) + Want cty.Value + Err bool }{ { cty.StringVal("testdata/hello.txt"), + func(t *testing.T) {}, cty.StringVal("Hello World"), false, }, { cty.StringVal("testdata/icon.png"), + func(t *testing.T) {}, cty.NilVal, true, // Not valid UTF-8 }, { cty.StringVal("testdata/missing"), + func(t *testing.T) {}, cty.NilVal, true, // no file exists }, + { + cty.StringVal("testdata/hello.txt"), + func(t *testing.T) { t.Setenv("INFRACOST_CI_PLATFORM", "github_app") }, + cty.StringVal("Hello World"), + false, + }, } for _, test := range tests { - t.Run(fmt.Sprintf("File(\".\", %#v)", test.Path), func(t *testing.T) { - got, err := File(".", test.Path) + t.Run(fmt.Sprintf("MakeFileFunc(\".\", %s#v)", test.Path), func(t *testing.T) { + test.OSFunc(t) + + fn := MakeFileFunc(".", false) + got, err := fn.Call([]cty.Value{test.Path}) if test.Err { if err == nil { diff --git a/internal/providers/terraform/terragrunt_hcl_provider.go b/internal/providers/terraform/terragrunt_hcl_provider.go index aee688de891..ef3afccb084 100644 --- a/internal/providers/terraform/terragrunt_hcl_provider.go +++ b/internal/providers/terraform/terragrunt_hcl_provider.go @@ -459,6 +459,9 @@ func (p *TerragruntHCLProvider) prepWorkingDirs() ([]*terragruntWorkingDirInfo, funcs["run_cmd"] = mockSliceFuncStaticReturn(cty.StringVal("run_cmd-mock")) funcs["sops_decrypt_file"] = mockSliceFuncStaticReturn(cty.StringVal("sops_decrypt_file-mock")) + funcs["get_aws_account_id"] = mockSliceFuncStaticReturn(cty.StringVal("account_id-mock")) + funcs["get_aws_caller_identity_arn"] = mockSliceFuncStaticReturn(cty.StringVal("arn:aws:iam::123456789012:user/terragrunt-mock")) + funcs["get_aws_caller_identity_user_id"] = mockSliceFuncStaticReturn(cty.StringVal("caller_identity_user_id-mock")) return funcs }, From 60befffa8b8268bca630c32cdb2eaf245ed3ccfd Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Wed, 1 May 2024 16:55:54 +0200 Subject: [PATCH 45/50] refactor: bump terragrunt lib version (#3057) see https://github.com/infracost/terragrunt/pull/15 for more info --- cmd/infracost/breakdown_test.go | 8 --- ...n_terragrunt_get_env_with_whitelist.golden | 49 ------------------- .../dev/terragrunt.hcl | 24 --------- .../modules/example/main.tf | 48 ------------------ .../prod/terragrunt.hcl | 20 -------- .../terragrunt.hcl | 18 ------- go.mod | 2 +- go.sum | 4 +- 8 files changed, 3 insertions(+), 170 deletions(-) delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/dev/terragrunt.hcl delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/modules/example/main.tf delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/prod/terragrunt.hcl delete mode 100644 cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/terragrunt.hcl diff --git a/cmd/infracost/breakdown_test.go b/cmd/infracost/breakdown_test.go index 2cb5f74e554..a0649758dc3 100644 --- a/cmd/infracost/breakdown_test.go +++ b/cmd/infracost/breakdown_test.go @@ -631,14 +631,6 @@ func TestBreakdownTerragruntGetEnv(t *testing.T) { GoldenFileCommandTest(t, testutil.CalcGoldenFileTestdataDirName(), []string{"breakdown", "--path", path.Join("./testdata", testutil.CalcGoldenFileTestdataDirName())}, nil) } -func TestBreakdownTerragruntGetEnvWithWhitelist(t *testing.T) { - t.Setenv("UNSAFE_VAR", "test") - t.Setenv("SAFE_VAR", "test-prod") - t.Setenv("INFRACOST_SAFE_ENVS", "TEST,SAFE_VAR,FOO") - - GoldenFileCommandTest(t, testutil.CalcGoldenFileTestdataDirName(), []string{"breakdown", "--path", path.Join("./testdata", testutil.CalcGoldenFileTestdataDirName())}, nil) -} - func TestBreakdownTerragruntGetEnvConfigFile(t *testing.T) { testName := testutil.CalcGoldenFileTestdataDirName() dir := path.Join("./testdata", testName) diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden deleted file mode 100644 index 4b9e0b80b55..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden +++ /dev/null @@ -1,49 +0,0 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist - -Errors: - Error processing module at 'REPLACED_PROJECT_PATH/infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/dev/terragrunt.hcl'. How this module was found: - Terragrunt config file found in a subdirectory of testdata/breakdown_terragrunt_get_env_with_whitelist/dev. Underlying error: - REPLACED_PROJECT_PATH/infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/dev/terragrunt.hcl:6,9-17: - Error in function call; Call to function "get_env" failed: - EnvVarNotFound: - Required environment variable UNSAFE_VAR - not found. - -────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/prod -Module path: prod - - Name Monthly Qty Unit Monthly Cost - - aws_instance.web_app - ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 - ├─ root_block_device - │ └─ Storage (general purpose SSD, gp2) 100 GB $10.00 - └─ ebs_block_device[0] - ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 - └─ Provisioned IOPS 800 IOPS $52.00 - - aws_lambda_function.hello_world - ├─ Requests Monthly cost depends on usage: $0.20 per 1M requests - ├─ Ephemeral storage Monthly cost depends on usage: $0.0000000309 per GB-seconds - └─ Duration (first 6B) Monthly cost depends on usage: $0.0000166667 per GB-seconds - - Project total $747.64 - - OVERALL TOTAL $747.64 - -*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. - -────────────────────────────────── -2 cloud resources were detected: -∙ 2 were estimated - -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ragrunt_get_env_with_whitelist ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco...nt_get_env_with_whitelist/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ - -Err: - - diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/dev/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/dev/terragrunt.hcl deleted file mode 100644 index 51cb7083acf..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/dev/terragrunt.hcl +++ /dev/null @@ -1,24 +0,0 @@ -include { - path = find_in_parent_folders() -} - -locals { - env = get_env("UNSAFE_VAR") -} - -dependency "prod" { - config_path = "../prod" -} - -terraform { - source = "..//modules/example" -} - -inputs = { - instance_type = "t2.micro" - root_block_device_volume_size = 50 - block_device_volume_size = 100 - block_device_iops = 400 - - hello_world_function_memory_size = 512 -} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/modules/example/main.tf b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/modules/example/main.tf deleted file mode 100644 index 4c3840e4c00..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/modules/example/main.tf +++ /dev/null @@ -1,48 +0,0 @@ -variable "instance_type" { - description = "The EC2 instance type for the web app" - type = string -} - -variable "root_block_device_volume_size" { - description = "The size of the root block device volume for the web app EC2 instance" - type = number -} - -variable "block_device_volume_size" { - description = "The size of the block device volume for the web app EC2 instance" - type = number -} - -variable "block_device_iops" { - description = "The number of IOPS for the block device for the web app EC2 instance" - type = number -} - -variable "hello_world_function_memory_size" { - description = "The memory to allocate to the hello world Lambda function" - type = number -} - -resource "aws_instance" "web_app" { - ami = "ami-674cbc1e" - instance_type = var.instance_type - - root_block_device { - volume_size = var.root_block_device_volume_size - } - - ebs_block_device { - device_name = "my_data" - volume_type = "io1" - volume_size = var.block_device_volume_size - iops = var.block_device_iops - } -} - -resource "aws_lambda_function" "hello_world" { - function_name = "hello_world" - role = "arn:aws:lambda:us-east-1:aws:resource-id" - handler = "exports.test" - runtime = "nodejs12.x" - memory_size = var.hello_world_function_memory_size -} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/prod/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/prod/terragrunt.hcl deleted file mode 100644 index b56ee1d86d5..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/prod/terragrunt.hcl +++ /dev/null @@ -1,20 +0,0 @@ -include { - path = find_in_parent_folders() -} - -locals { - env = get_env("SAFE_VAR") -} - -terraform { - source = "..//modules/example" -} - -inputs = { - instance_type = "m5.4xlarge" - root_block_device_volume_size = 100 - block_device_volume_size = 1000 - block_device_iops = 800 - - hello_world_function_memory_size = 1024 -} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/terragrunt.hcl deleted file mode 100644 index b662c9f9acd..00000000000 --- a/cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/terragrunt.hcl +++ /dev/null @@ -1,18 +0,0 @@ -locals { - aws_region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs -} - -# Generate an AWS provider block -generate "provider" { - path = "provider.tf" - if_exists = "overwrite_terragrunt" - contents = < github.com/aliscott/go-pretty/v6 v6.1 replace github.com/spf13/cobra => github.com/spf13/cobra v1.4.0 //replace github.com/gruntwork-io/terragrunt => github.com/infracost/terragrunt v0.47.1-0.20231211141424-6a52de9a284a -replace github.com/gruntwork-io/terragrunt => github.com/infracost/terragrunt v0.47.1-0.20240223132123-5b0f223c40b8 +replace github.com/gruntwork-io/terragrunt => github.com/infracost/terragrunt v0.47.1-0.20240501143558-4c01e72103df replace github.com/heimdalr/dag => github.com/aliscott/dag v1.3.2-0.20231115114512-4ce18c825f94 diff --git a/go.sum b/go.sum index 99eb126a480..4304c0415ca 100644 --- a/go.sum +++ b/go.sum @@ -852,8 +852,8 @@ github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/infracost/terragrunt v0.47.1-0.20240223132123-5b0f223c40b8 h1:pYH0c0aK+id/3Cqtkne+IJZvtG4MubSuPE9LctOg4Ys= -github.com/infracost/terragrunt v0.47.1-0.20240223132123-5b0f223c40b8/go.mod h1:xmRpWI+M4KlZbMQp1pj20CdXlZf5eIkRND5ybNkdnus= +github.com/infracost/terragrunt v0.47.1-0.20240501143558-4c01e72103df h1:aGlX6621I8AM6Rza0QorcAzABpYtMP9KV8yfgBX08VU= +github.com/infracost/terragrunt v0.47.1-0.20240501143558-4c01e72103df/go.mod h1:xmRpWI+M4KlZbMQp1pj20CdXlZf5eIkRND5ybNkdnus= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= From f42daa9e18c0c1fc3c3de32bdb1a8deefc51b599 Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Thu, 2 May 2024 15:23:12 -0400 Subject: [PATCH 46/50] fix: use regex to handle version matching instead of awk (#3058) Some release assets ended up with version 'Infracost v0.10.35+v0.10.35-v0.10.35' after the last release. I wasn't able to reproduce the problem, but this change updates the version script to be more robust. It uses regex (instead of awk) to parse the expected tag format and falls back to using the full tag string as the version if it is in an unexpected format. --- scripts/get_version.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/get_version.sh b/scripts/get_version.sh index d7acf0344b1..4771f1da0cb 100755 --- a/scripts/get_version.sh +++ b/scripts/get_version.sh @@ -21,14 +21,14 @@ LATEST_V_TAG=$(git tag --list 'v*' --sort=-v:refname | head -n 1) if [ -n "$LATEST_V_TAG" ]; then if git describe --tags --exact-match "${COMMITISH}" 2>/dev/null | grep -q "^${LATEST_V_TAG}$"; then TAG=$LATEST_V_TAG - elif git describe --tags "${COMMITISH}" --match 'v*' > /dev/null 2>&1; then + else full_tag=$(git describe --tags "${COMMITISH}" --match 'v*') - commit_count=$(echo ${full_tag} | awk -F'-' '{print $(NF-1)}') - commit_sha=$(echo ${full_tag} | awk -F'-' '{print $NF}') - - # Assuming the latest "v" prefixed tag is part of the description - TAG=$(echo ${full_tag} | grep -o '^v[^-]*') - BUILD=$(echo +${commit_count}-${commit_sha}) + if [[ $full_tag =~ ^(v[0-9]+\.[0-9]+\.[0-9]+)-([0-9]+)-g([0-9a-f]+)$ ]]; then + TAG=${BASH_REMATCH[1]} + BUILD=$(echo +${BASH_REMATCH[2]}-${BASH_REMATCH[3]}) + else + TAG=${full_tag} + fi fi fi From c205cb00cc398513747cdbd8718c14549d948edf Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Fri, 3 May 2024 11:28:54 +0200 Subject: [PATCH 47/50] fix: Duplicate project name issue and reintroduce logging changes (#3047) * Revert "revert: logging changes (#3038)" This reverts commit 885c62dbdf4f634daf96618597da0a27cfece383. * fix: correct `RelativePath` for projects defined in config files Resolves issue where projects defined in config files returned a `RelativePath` relative to the initial `path` provided in the config file project config. * fix: make filename rel to wd --- cmd/infracost/breakdown_test.go | 88 ++++- cmd/infracost/cmd_test.go | 12 +- cmd/infracost/comment.go | 6 +- cmd/infracost/configure.go | 11 +- cmd/infracost/diff_test.go | 8 +- cmd/infracost/generate.go | 32 +- cmd/infracost/main.go | 8 +- cmd/infracost/output.go | 16 +- cmd/infracost/register.go | 5 +- cmd/infracost/run.go | 321 ++++++++++-------- ...wn_auto_with_multi_varfile_projects.golden | 20 +- ...wn_autodetection_config_file_output.golden | 71 ++++ .../dev/main.tf | 23 ++ .../infracost.yml | 5 + .../prod/bar/main.tf | 23 ++ .../prod/foo/main.tf | 23 ++ .../breakdown_autodetection_output.golden | 53 +++ .../dev/main.tf | 23 ++ .../prod/main.tf | 23 ++ .../breakdown_config_file.golden | 5 +- ...n_config_file_with_skip_auto_detect.golden | 20 +- ...eakdown_config_file_with_usage_file.golden | 4 +- .../breakdown_format_json.golden | 127 ++++--- .../breakdown_format_json_with_tags.golden | 139 +++++--- ...eakdown_format_json_with_tags_azure.golden | 13 +- ...akdown_format_json_with_tags_google.golden | 37 +- ...breakdown_format_json_with_warnings.golden | 3 +- .../breakdown_format_jsonshow_skipped.golden | 130 ++++--- .../breakdown_invalid_path.golden | 3 + .../breakdown_multi_project_autodetect.golden | 16 +- .../breakdown_multi_project_skip_paths.golden | 12 +- ...multi_project_skip_paths_root_level.golden | 12 +- ...kdown_multi_project_with_all_errors.golden | 16 +- .../breakdown_multi_project_with_error.golden | 16 +- ...ulti_project_with_error_output_json.golden | 50 ++- .../breakdown_no_prices_warnings.golden | 56 +++ .../breakdown_no_prices_warnings/main.tf | 66 ++++ ...ection_if_terraform_var_file_passed.golden | 12 +- .../breakdown_terraform_directory.golden | 4 +- ...rm_directory_with_default_var_files.golden | 12 +- ...rm_directory_with_recursive_modules.golden | 12 +- .../breakdown_terraform_fields_invalid.golden | 4 +- .../breakdown_terraform_file_funcs.golden | 58 ++-- .../infracost_output.golden | 39 +++ ...wn_terraform_usage_file_invalid_key.golden | 4 +- ...erraform_usage_file_wildcard_module.golden | 12 +- .../breakdown_terragrunt.golden | 8 +- .../app1/dev/terragrunt.hcl | 16 + .../app1/modules/example/main.tf | 49 +++ .../app1/prod/terragrunt.hcl | 16 + .../app1/terragrunt.hcl | 18 + .../app2/dev/terragrunt.hcl | 16 + .../app2/modules/example/main.tf | 49 +++ .../app2/prod/terragrunt.hcl | 16 + .../app2/terragrunt.hcl | 18 + ...nt_autodetection_config_file_output.golden | 201 +++++++++++ .../infracost.yml | 8 + .../region1/app1/dev/terragrunt.hcl | 16 + .../region1/app1/modules/example/main.tf | 49 +++ .../region1/app1/prod/terragrunt.hcl | 16 + .../region1/app1/terragrunt.hcl | 18 + .../region1/app2/dev/terragrunt.hcl | 16 + .../region1/app2/modules/example/main.tf | 49 +++ .../region1/app2/prod/terragrunt.hcl | 16 + .../region1/app2/terragrunt.hcl | 18 + ...own_terragrunt_autodetection_output.golden | 63 ++++ .../terragrunt/dev/terragrunt.hcl | 16 + .../terragrunt/modules/example/main.tf | 49 +++ .../terragrunt/prod/terragrunt.hcl | 16 + .../terragrunt/terragrunt.hcl | 18 + .../breakdown_terragrunt_extra_args.golden | 12 +- .../breakdown_terragrunt_file_funcs.golden | 58 ++-- .../breakdown_terragrunt_get_env.golden | 16 +- ...down_terragrunt_get_env_config_file.golden | 2 + ...n_terragrunt_get_env_with_whitelist.golden | 49 +++ ...breakdown_terragrunt_hcldeps_output.golden | 26 +- ...n_terragrunt_hcldeps_output_include.golden | 12 +- ...wn_terragrunt_hcldeps_output_mocked.golden | 20 +- ...grunt_hcldeps_output_single_project.golden | 12 +- ...erragrunt_hclmodule_output_for_each.golden | 12 +- .../breakdown_terragrunt_hclmulti.golden | 8 +- ...kdown_terragrunt_hclmulti_no_source.golden | 16 +- .../breakdown_terragrunt_hclsingle.golden | 4 +- .../breakdown_terragrunt_iamroles.golden | 12 +- .../breakdown_terragrunt_include_deps.golden | 16 +- .../breakdown_terragrunt_nested.golden | 8 +- .../breakdown_terragrunt_skip_paths.golden | 20 +- .../breakdown_terragrunt_source_map.golden | 12 +- ...n_terragrunt_with_dashboard_enabled.golden | 8 +- ...wn_terragrunt_with_mocked_functions.golden | 12 +- ...down_terragrunt_with_parent_include.golden | 12 +- ...kdown_terragrunt_with_remote_source.golden | 44 +-- .../breakdown_with_actual_costs.golden | 12 +- ...reakdown_with_data_blocks_in_submod.golden | 12 +- .../breakdown_with_deep_merge_module.golden | 12 +- .../breakdown_with_default_tags.golden | 43 ++- .../breakdown_with_depends_upon_module.golden | 12 +- .../breakdown_with_dynamic_iterator.golden | 12 +- ...akdown_with_free_resources_checksum.golden | 25 +- ...reakdown_with_local_path_data_block.golden | 12 +- .../breakdown_with_mocked_merge.golden | 12 +- .../breakdown_with_multiple_providers.golden | 12 +- .../breakdown_with_nested_foreach.golden | 12 +- ...akdown_with_nested_provider_aliases.golden | 12 +- .../breakdown_with_optional_variables.golden | 12 +- ...eakdown_with_policy_data_upload_hcl.golden | 61 ++-- ...n_with_policy_data_upload_plan_json.golden | 61 ++-- ...olicy_data_upload_terragrunt-upload.golden | 8 +- ..._with_policy_data_upload_terragrunt.golden | 93 +++-- ...h_private_terraform_registry_module.golden | 12 +- ...rm_registry_module_populates_errors.golden | 2 +- ...wn_with_providers_depending_on_data.golden | 12 +- .../breakdown_with_workspace.golden | 12 +- .../catches_runtime_error.golden | 6 +- ...w_skip_no_diff_with_initial_comment.golden | 14 +- ...kip_no_diff_without_initial_comment.golden | 6 +- ...it_hub_guardrail_failure_with_block.golden | 12 +- ..._hub_guardrail_failure_with_comment.golden | 12 +- ...rail_failure_with_comment_and_block.golden | 12 +- ...il_failure_without_comment_or_block.golden | 10 +- ..._hub_guardrail_success_with_comment.golden | 10 +- ...b_guardrail_success_without_comment.golden | 8 +- ...e_skip_no_diff_with_initial_comment.golden | 14 +- ...kip_no_diff_without_initial_comment.golden | 6 +- ...b_skip_no_diff_with_initial_comment.golden | 6 +- ...kip_no_diff_without_initial_comment.golden | 6 +- .../comment_git_hub_with_no_guardrailt.golden | 6 +- .../config_file_nil_projects_errors.golden | 3 + .../diff_prior_empty_project.golden | 2 +- .../diff_prior_empty_project_json.golden | 25 +- .../diff_project_name.golden | 36 +- .../testdata/diff_project_name/prior.json | 20 +- .../diff_project_name_no_change/prior.json | 20 +- .../diff_terraform_directory.golden | 2 +- .../baseline.withouterror.json | 4 +- .../diff_with_compare_to.golden | 2 +- .../diff_with_compare_to_format_json.golden | 52 ++- ...iff_with_compare_to_format_json.hcl.golden | 52 ++- ...with_current_and_past_project_error.golden | 26 +- ...mpare_to_with_current_project_error.golden | 26 +- ..._compare_to_with_past_project_error.golden | 26 +- .../diff_with_config_file_compare_to.golden | 12 +- .../prior.json | 4 +- ...fig_file_compare_to_deleted_project.golden | 6 +- .../prior.json | 2 +- .../diff_with_free_resources_checksum.golden | 25 +- .../diff_with_policy_data_upload.golden | 22 +- ...ig_file_and_terraform_workspace_env.golden | 6 +- ...rs_terraform_workspace_flag_and_env.golden | 4 +- .../force_project_type/expected.golden | 1 + .../generate/terragrunt/expected.golden | 3 + .../expected.golden | 3 + .../hcllocal_object_mock.golden | 12 +- .../hclmodule_count/hclmodule_count.golden | 12 +- .../hclmodule_for_each.golden | 12 +- .../hclmodule_output_counts.golden | 12 +- .../hclmodule_output_counts_nested.golden | 12 +- ...lmodule_reevaluated_on_input_change.golden | 12 +- .../hclmodule_relative_filesets.golden | 12 +- .../hclmulti_project_infra.hcl.golden | 20 +- .../hclmulti_var_files.golden | 12 +- .../hclmulti_workspace.golden | 18 +- .../hclprovider_alias.golden | 12 +- .../output_format_json.golden | 170 +++++++--- .../infracost_output.golden | 2 +- .../register_help_flag.golden | 4 +- ...ith_blocking_fin_ops_policy_failure.golden | 6 +- ...oad_with_blocking_guardrail_failure.golden | 6 +- ...ad_with_blocking_tag_policy_failure.golden | 6 +- .../upload_with_cloud_disabled.golden | 2 +- .../upload_with_fin_ops_policy_warning.golden | 2 +- .../upload_with_guardrail_failure.golden | 6 +- .../upload_with_guardrail_success.golden | 4 +- .../upload_with_path/upload_with_path.golden | 2 +- .../upload_with_path_format_json.golden | 14 +- .../upload_with_share_link.golden | 2 +- .../upload_with_tag_policy_warning.golden | 2 +- cmd/resourcecheck/main.go | 13 +- contributing/add_new_resource_guide.md | 2 +- internal/apiclient/auth.go | 8 +- internal/apiclient/client.go | 3 +- internal/apiclient/dashboard.go | 13 +- internal/apiclient/policy.go | 4 +- internal/apiclient/pricing.go | 11 +- internal/clierror/error.go | 5 +- internal/config/config.go | 75 +++- internal/config/configuration.go | 5 +- internal/config/credentials.go | 5 +- internal/config/migrate.go | 11 +- internal/config/run_context.go | 28 -- internal/credentials/terraform.go | 15 +- internal/extclient/authed_client.go | 3 +- internal/hcl/attribute.go | 6 +- internal/hcl/block.go | 11 + internal/hcl/evaluator.go | 14 +- internal/hcl/graph.go | 1 - internal/hcl/graph_vertex_module_call.go | 1 - internal/hcl/modules/loader.go | 16 +- internal/hcl/parser.go | 94 ++--- internal/hcl/parser_test.go | 66 ++-- internal/hcl/project_locator.go | 84 +++-- internal/hcl/remote_variables_loader.go | 42 +-- internal/output/combined.go | 5 +- internal/output/html.go | 5 +- internal/output/output.go | 12 +- internal/output/table.go | 29 +- internal/prices/prices.go | 267 +++++++++++---- internal/prices/prices_test.go | 63 ++++ .../cloudformation/aws/dynamodb_table.go | 4 +- .../cloudformation/template_provider.go | 22 +- internal/providers/detect.go | 61 ++-- .../terraform/aws/autoscaling_group.go | 4 +- internal/providers/terraform/aws/aws.go | 4 +- .../aws/directory_service_directory.go | 5 +- .../acm_certificate_test.golden | 2 +- .../acmpca_certificate_authority_test.golden | 2 +- .../api_gateway_rest_api_test.golden | 2 +- .../api_gateway_stage_test.golden | 2 +- .../apigatewayv2_api_test.golden | 2 +- .../autoscaling_group_test.golden | 6 +- .../backup_vault_test.golden | 2 +- .../cloudformation_stack_set_test.golden | 2 +- .../cloudformation_stack_test.golden | 2 +- .../cloudfront_distribution_test.golden | 2 +- .../cloudhsm_v2_hsm_test.golden | 2 +- .../cloudtrail_test/cloudtrail_test.golden | 2 +- .../cloudwatch_dashboard_test.golden | 2 +- .../cloudwatch_event_bus_test.golden | 2 +- .../cloudwatch_log_group_test.golden | 2 +- .../cloudwatch_metric_alarm_test.golden | 2 +- .../codebuild_project_test.golden | 2 +- .../config_config_rule_test.golden | 2 +- .../config_configuration_recorder_test.golden | 2 +- ...onfig_organization_custom_rule_test.golden | 2 +- ...nfig_organization_managed_rule_test.golden | 2 +- .../data_transfer_test.golden | 2 +- .../db_instance_test/db_instance_test.golden | 2 +- .../directory_service_directory_test.golden | 2 +- .../aws/testdata/dms_test/dms_test.golden | 2 +- .../docdb_cluster_instance_test.golden | 2 +- .../docdb_cluster_snapshot_test.golden | 2 +- .../docdb_cluster_test.golden | 2 +- .../dx_connection_test.golden | 2 +- .../dx_gateway_association_test.golden | 2 +- .../dynamodb_table_test.golden | 2 +- .../ebs_snapshot_copy_test.golden | 2 +- .../ebs_snapshot_test.golden | 2 +- .../ebs_volume_test/ebs_volume_test.golden | 2 +- .../ec2_client_vpn_endpoint_test.golden | 2 +- ...client_vpn_network_association_test.golden | 2 +- .../ec2_host_test/ec2_host_test.golden | 2 +- .../ec2_traffic_mirror_session_test.golden | 2 +- ...sit_gateway_peering_attachment_test.golden | 2 +- ...transit_gateway_vpc_attachment_test.golden | 2 +- .../ecr_repository_test.golden | 2 +- .../ecs_service_test/ecs_service_test.golden | 2 +- .../efs_file_system_test.golden | 2 +- .../aws/testdata/eip_test/eip_test.golden | 2 +- .../eks_cluster_test/eks_cluster_test.golden | 2 +- .../eks_fargate_profile_test.golden | 2 +- .../eks_node_group_test.golden | 2 +- .../elastic_beanstalk_environment_test.golden | 2 +- .../elasticache_cluster_test.golden | 2 +- .../elasticache_replication_group_test.golden | 2 +- .../elasticsearch_domain_test.golden | 2 +- .../aws/testdata/elb_test/elb_test.golden | 2 +- .../fsx_openzfs_file_system_test.golden | 2 +- .../fsx_windows_file_system_test.golden | 2 +- ...bal_accelerator_endpoint_group_test.golden | 2 +- .../global_accelerator_test.golden | 2 +- .../glue_catalog_database_test.golden | 2 +- .../glue_crawler_test.golden | 2 +- .../glue_job_test/glue_job_test.golden | 2 +- .../instance_test/instance_test.golden | 4 +- ...nesis_firehose_delivery_stream_test.golden | 2 +- .../kinesis_stream_test.golden | 2 +- .../kinesisanalytics_application_test.golden | 2 +- ...alyticsv2_application_snapshot_test.golden | 10 +- ...kinesisanalyticsv2_application_test.golden | 2 +- .../kms_external_key_test.golden | 2 +- .../testdata/kms_key_test/kms_key_test.golden | 2 +- .../lambda_function_test.golden | 2 +- ...provisioned_concurrency_config_test.golden | 2 +- .../aws/testdata/lb_test/lb_test.golden | 2 +- .../lightsail_instance_test.golden | 2 +- .../mq_broker_test/mq_broker_test.golden | 2 +- .../msk_cluster_test/msk_cluster_test.golden | 2 +- .../mwaa_environment_test.golden | 2 +- .../nat_gateway_test/nat_gateway_test.golden | 2 +- .../neptune_cluster_instance_test.golden | 2 +- .../neptune_cluster_snapshot_test.golden | 2 +- .../neptune_cluster_test.golden | 2 +- .../networkfirewall_firewall_test.golden | 2 +- .../opensearch_domain_test.golden | 2 +- .../rds_cluster_instance_test.golden | 2 +- .../rds_cluster_test/rds_cluster_test.golden | 2 +- .../redshift_cluster_test.golden | 2 +- .../route53_health_check_test.golden | 2 +- .../route53_record_test.golden | 2 +- .../route53_resolver_endpoint_test.golden | 2 +- .../route53_zone_test.golden | 2 +- ...bucket_analytics_configuration_test.golden | 2 +- .../s3_bucket_inventory_test.golden | 2 +- ...bucket_lifecycle_configuration_test.golden | 2 +- .../s3_bucket_test/s3_bucket_test.golden | 2 +- .../s3_bucket_v3_test.golden | 2 +- .../secretsmanager_secret_test.golden | 2 +- .../sfn_state_machine_test.golden | 2 +- .../sns_topic_subscription_test.golden | 2 +- .../sns_topic_test/sns_topic_test.golden | 2 +- .../sqs_queue_test/sqs_queue_test.golden | 2 +- .../ssm_activation_test.golden | 2 +- .../ssm_parameter_test.golden | 2 +- .../transfer_server_test.golden | 2 +- .../vpc_endpoint_test.golden | 2 +- .../vpn_connection_test.golden | 2 +- .../waf_web_acl_test/waf_web_acl_test.golden | 8 +- .../wafv2_web_acl_test.golden | 2 +- .../providers/terraform/azure/cdn_endpoint.go | 4 +- .../azure/cosmosdb_cassandra_keyspace.go | 6 +- .../azure/cosmosdb_cassandra_table.go | 7 +- .../azure/cosmosdb_mongo_collection.go | 7 +- .../terraform/azure/key_vault_certificate.go | 4 +- .../terraform/azure/key_vault_key.go | 4 +- .../terraform/azure/mariadb_server.go | 6 +- .../monitor_scheduled_query_rules_alert_v2.go | 4 +- .../terraform/azure/mssql_database.go | 5 +- .../terraform/azure/mysql_flexible_server.go | 9 +- .../providers/terraform/azure/mysql_server.go | 9 +- .../azure/postgresql_flexible_server.go | 9 +- .../terraform/azure/postgresql_server.go | 7 +- .../providers/terraform/azure/sql_database.go | 5 +- .../terraform/azure/storage_queue.go | 5 +- ...ory_domain_service_replica_set_test.golden | 2 +- ...ctive_directory_domain_service_test.golden | 2 +- .../api_management_test.golden | 2 +- .../app_configuration_test.golden | 2 +- ...pp_service_certificate_binding_test.golden | 2 +- .../app_service_certificate_order_test.golden | 2 +- ...ervice_custom_hostname_binding_test.golden | 2 +- .../app_service_environment_test.golden | 2 +- .../app_service_plan_test.golden | 2 +- .../application_gateway_test.golden | 2 +- ...cation_insights_standard_web_t_test.golden | 2 +- .../application_insights_test.golden | 2 +- .../application_insights_web_t_test.golden | 2 +- .../automation_account_test.golden | 2 +- .../automation_dsc_configuration_test.golden | 2 +- ...tomation_dsc_nodeconfiguration_test.golden | 2 +- .../automation_job_schedule_test.golden | 2 +- .../bastion_host_test.golden | 2 +- .../cdn_endpoint_test.golden | 2 +- .../cognitive_account_test.golden | 18 +- .../cognitive_deployment_test.golden | 4 +- .../container_registry_test.golden | 2 +- .../cosmosdb_cassandra_keyspace_test.golden | 2 +- ...yspace_test_with_blank_geo_location.golden | 2 +- .../cosmosdb_cassandra_table_test.golden | 8 +- .../cosmosdb_gremlin_database_test.golden | 2 +- .../cosmosdb_gremlin_graph_test.golden | 2 +- .../cosmosdb_mongo_collection_test.golden | 2 +- .../cosmosdb_mongo_database_test.golden | 2 +- .../cosmosdb_sql_container_test.golden | 2 +- .../cosmosdb_sql_database_test.golden | 2 +- .../cosmosdb_table_test.golden | 4 +- ...integration_runtime_azure_ssis_test.golden | 2 +- ...tory_integration_runtime_azure_test.golden | 14 +- ...ry_integration_runtime_managed_test.golden | 2 +- ...ntegration_runtime_self_hosted_test.golden | 2 +- .../data_factory_test.golden | 2 +- .../databricks_workspace_test.golden | 2 +- .../dns_a_record_test.golden | 2 +- .../dns_aaaa_record_test.golden | 2 +- .../dns_caa_record_test.golden | 2 +- .../dns_cname_record_test.golden | 2 +- .../dns_mx_record_test.golden | 2 +- .../dns_ns_record_test.golden | 2 +- .../dns_ptr_record_test.golden | 2 +- .../dns_srv_record_test.golden | 2 +- .../dns_txt_record_test.golden | 2 +- .../dns_zone_test/dns_zone_test.golden | 2 +- .../event_hubs_namespace_test.golden | 2 +- .../eventgrid_system_topic_test.golden | 2 +- .../eventgrid_topic_test.golden | 2 +- .../express_route_connection_test.golden | 2 +- .../express_route_gateway_test.golden | 2 +- .../federated_identity_credential_test.golden | 2 +- .../firewall_test/firewall_test.golden | 2 +- .../frontdoor_firewall_policy_test.golden | 2 +- .../frontdoor_test/frontdoor_test.golden | 2 +- .../function_app_test.golden | 2 +- .../function_linux_app_test.golden | 2 +- .../function_windows_app_test.golden | 2 +- .../hdinsight_hadoop_cluster_test.golden | 2 +- .../hdinsight_hbase_cluster_test.golden | 2 +- ...ight_interactive_query_cluster_test.golden | 10 +- .../hdinsight_kafka_cluster_test.golden | 2 +- .../hdinsight_spark_cluster_test.golden | 2 +- .../testdata/image_test/image_test.golden | 2 +- ...ntegration_service_environment_test.golden | 2 +- .../testdata/iothub_test/iothub_test.golden | 2 +- .../key_vault_certificate_test.golden | 2 +- .../key_vault_key_test.golden | 2 +- ...naged_hardware_security_module_test.golden | 2 +- .../kubernetes_cluster_node_pool_test.golden | 2 +- .../kubernetes_cluster_test.golden | 2 +- .../lb_outbound_rule_test.golden | 2 +- .../lb_outbound_rule_v2_test.golden | 2 +- .../testdata/lb_rule_test/lb_rule_test.golden | 2 +- .../lb_rule_v2_test/lb_rule_v2_test.golden | 2 +- .../azure/testdata/lb_test/lb_test.golden | 2 +- ...inux_virtual_machine_scale_set_test.golden | 2 +- .../linux_virtual_machine_test.golden | 2 +- .../log_analytics_workspace_test.golden | 10 +- .../logic_app_integration_account_test.golden | 2 +- .../logic_app_standard_test.golden | 2 +- ...chine_learning_compute_cluster_test.golden | 2 +- ...hine_learning_compute_instance_test.golden | 2 +- .../managed_disk_test.golden | 2 +- .../mariadb_server_test.golden | 2 +- .../monitor_action_group_test.golden | 2 +- .../monitor_data_collection_rule_test.golden | 2 +- .../monitor_diagnostic_setting_test.golden | 2 +- .../monitor_metric_alert_test.golden | 2 +- ...or_scheduled_query_rules_alert_test.golden | 2 +- ...scheduled_query_rules_alert_v2_test.golden | 2 +- .../mssql_database_test.golden | 34 +- ...l_database_test_with_blank_location.golden | 7 +- .../mssql_elasticpool_test.golden | 17 +- .../mssql_managed_instance_test.golden | 2 +- .../mysql_flexible_server_test.golden | 2 +- .../mysql_server_test.golden | 11 +- .../nat_gateway_test/nat_gateway_test.golden | 2 +- .../network_connection_monitor_test.golden | 2 +- .../network_ddos_protection_plan_test.golden | 2 +- .../network_watcher_flow_log_test.golden | 2 +- .../network_watcher_test.golden | 2 +- .../notification_hub_namespace_test.golden | 2 +- .../point_to_site_vpn_gateway_test.golden | 2 +- .../postgresql_flexible_server_test.golden | 2 +- .../postgresql_server_test.golden | 2 +- .../powerbi_embedded_test.golden | 2 +- .../private_dns_a_record_test.golden | 2 +- .../private_dns_aaaa_record_test.golden | 2 +- .../private_dns_cname_record_test.golden | 2 +- .../private_dns_mx_record_test.golden | 2 +- .../private_dns_ptr_record_test.golden | 2 +- ...esolver_dns_forwarding_ruleset_test.golden | 2 +- ..._dns_resolver_inbound_endpoint_test.golden | 2 +- ...dns_resolver_outbound_endpoint_test.golden | 2 +- .../private_dns_srv_record_test.golden | 2 +- .../private_dns_txt_record_test.golden | 2 +- .../private_dns_zone_test.golden | 2 +- .../private_endpoint_test.golden | 2 +- .../public_ip_prefix_test.golden | 2 +- .../public_ip_test/public_ip_test.golden | 2 +- .../recovery_services_vault_test.golden | 66 +--- .../redis_cache_test/redis_cache_test.golden | 2 +- .../search_service_test.golden | 2 +- ...ty_center_subscription_pricing_test.golden | 6 +- ...data_connector_aws_cloud_trail_test.golden | 2 +- ...nnector_azure_active_directory_test.golden | 2 +- ...ure_advanced_threat_protection_test.golden | 10 +- ...onnector_azure_security_center_test.golden | 2 +- ...r_microsoft_cloud_app_security_test.golden | 2 +- ...der_advanced_threat_protection_test.golden | 10 +- ...inel_data_connector_office_365_test.golden | 2 +- ..._connector_threat_intelligence_test.golden | 2 +- .../service_plan_test.golden | 12 +- .../servicebus_namespace_test.golden | 2 +- .../signalr_service_test.golden | 2 +- .../snapshot_test/snapshot_test.golden | 2 +- .../sql_database_test.golden | 26 +- .../sql_elasticpool_test.golden | 2 +- .../sql_managed_instance_test.golden | 2 +- .../storage_account_test.golden | 4 +- .../storage_queue_test.golden | 6 +- .../storage_share_test.golden | 4 +- .../synapse_spark_pool_test.golden | 2 +- .../synapse_sql_pool_test.golden | 2 +- .../synapse_workspace_test.golden | 2 +- ...traffic_manager_azure_endpoint_test.golden | 2 +- ...ffic_manager_external_endpoint_test.golden | 2 +- ...raffic_manager_nested_endpoint_test.golden | 2 +- .../traffic_manager_profile_test.golden | 2 +- .../virtual_hub_test/virtual_hub_test.golden | 2 +- .../virtual_machine_scale_set_test.golden | 2 +- .../virtual_machine_test.golden | 2 +- ...ual_network_gateway_connection_test.golden | 2 +- .../virtual_network_gateway_test.golden | 2 +- .../virtual_network_peering_test.golden | 2 +- .../vpn_gateway_connection_test.golden | 2 +- .../vpn_gateway_test/vpn_gateway_test.golden | 2 +- ...dows_virtual_machine_scale_set_test.golden | 2 +- .../windows_virtual_machine_test.golden | 2 +- internal/providers/terraform/azure/util.go | 4 +- internal/providers/terraform/cloud.go | 4 +- internal/providers/terraform/cmd.go | 13 +- internal/providers/terraform/dir_provider.go | 113 +++--- .../terraform/google/container_cluster.go | 4 +- .../terraform/google/container_node_pool.go | 4 +- .../artifact_registry_repository_test.golden | 2 +- .../bigquery_dataset_test.golden | 2 +- .../bigquery_table_test.golden | 2 +- .../cloudfunctions_function_test.golden | 2 +- .../compute_address_test.golden | 2 +- .../compute_disk_test.golden | 2 +- .../compute_external_vpn_gateway_test.golden | 2 +- .../compute_forwarding_rule_test.golden | 2 +- .../compute_ha_vpn_gateway_test.golden | 2 +- .../compute_image_test.golden | 2 +- ...compute_instance_group_manager_test.golden | 2 +- .../compute_instance_test.golden | 4 +- .../compute_machine_image_test.golden | 2 +- .../compute_per_instance_config_test.golden | 2 +- ..._region_instance_group_manager_test.golden | 2 +- ...ute_region_per_instance_config_test.golden | 2 +- .../compute_router_nat_test.golden | 2 +- .../compute_snapshot_test.golden | 2 +- .../compute_target_grpc_proxy_test.golden | 2 +- .../compute_vpn_gateway_test.golden | 2 +- .../compute_vpn_tunnel_test.golden | 2 +- .../container_cluster_test.golden | 4 +- .../container_node_pool_test.golden | 2 +- .../container_registry_test.golden | 2 +- .../dns_managed_zone_test.golden | 2 +- .../dns_record_set_test.golden | 2 +- .../kms_crypto_key_test.golden | 2 +- ..._billing_account_bucket_config_test.golden | 2 +- .../logging_billing_account_sink_test.golden | 2 +- .../logging_folder_bucket_config_test.golden | 2 +- .../logging_folder_sink_test.golden | 2 +- ...ing_organization_bucket_config_test.golden | 2 +- .../logging_organization_sink_test.golden | 2 +- .../logging_project_bucket_config_test.golden | 2 +- .../logging_project_sink_test.golden | 2 +- .../monitoring_metric_descriptor_test.golden | 2 +- .../pubsub_subscription_test.golden | 2 +- .../pubsub_topic_test.golden | 2 +- .../redis_instance_test.golden | 2 +- .../secret_manager_secret_test.golden | 2 +- .../secret_manager_secret_version_test.golden | 2 +- .../service_networking_connection_test.golden | 2 +- .../sql_database_instance_test.golden | 4 +- .../storage_bucket_test.golden | 2 +- internal/providers/terraform/hcl_provider.go | 64 ++-- internal/providers/terraform/plan_cache.go | 49 ++- .../providers/terraform/plan_json_provider.go | 28 +- internal/providers/terraform/plan_provider.go | 38 ++- .../terraform/state_json_provider.go | 26 +- .../terraform/terragrunt_hcl_provider.go | 50 ++- .../terraform/terragrunt_provider.go | 59 ++-- internal/providers/terraform/tftest/tftest.go | 22 +- .../resources/aws/cloudfront_distribution.go | 6 +- internal/resources/aws/data_transfer.go | 4 +- internal/resources/aws/db_instance.go | 5 +- internal/resources/aws/dx_connection.go | 5 +- internal/resources/aws/ec2_host.go | 4 +- internal/resources/aws/elasticache_cluster.go | 6 +- internal/resources/aws/instance.go | 8 +- .../resources/aws/launch_configuration.go | 4 +- internal/resources/aws/launch_template.go | 4 +- internal/resources/aws/lightsail_instance.go | 5 +- .../resources/aws/rds_cluster_instance.go | 4 +- internal/resources/aws/s3_bucket.go | 4 +- .../s3_bucket_lifececycle_configuration.go | 4 +- internal/resources/aws/ssm_parameter.go | 5 +- .../data_factory_integration_runtime_azure.go | 3 - .../azure/kubernetes_cluster_node_pool.go | 6 +- .../azure/log_analytics_workspace.go | 4 +- internal/resources/azure/managed_disk.go | 8 +- internal/resources/azure/mssql_elasticpool.go | 3 - internal/resources/azure/sql_database.go | 11 +- internal/resources/core_resource.go | 5 +- .../resources/google/sql_database_instance.go | 13 +- internal/schema/cost_component.go | 8 + internal/schema/diff.go | 5 +- internal/schema/project.go | 1 + internal/schema/provider.go | 3 + internal/schema/resource.go | 36 +- internal/testutil/testutil.go | 13 +- internal/ui/print.go | 34 +- internal/ui/promts.go | 63 ---- internal/ui/spin.go | 93 ----- internal/ui/strings.go | 11 + internal/ui/util.go | 7 - internal/update/update.go | 8 +- internal/usage/aws/autoscaling.go | 7 +- internal/usage/aws/dynamodb.go | 7 +- internal/usage/aws/ec2.go | 5 +- internal/usage/aws/eks.go | 5 +- internal/usage/aws/lambda.go | 7 +- internal/usage/aws/s3.go | 11 +- internal/usage/aws/util.go | 4 +- internal/usage/resource_usage.go | 12 +- internal/usage/sync.go | 4 +- internal/usage/usage_file.go | 6 +- schema/infracost.schema.json | 10 +- tools/describezones/main.go | 26 +- tools/release/main.go | 15 +- 600 files changed, 4418 insertions(+), 2743 deletions(-) create mode 100644 cmd/infracost/testdata/breakdown_autodetection_config_file_output/breakdown_autodetection_config_file_output.golden create mode 100644 cmd/infracost/testdata/breakdown_autodetection_config_file_output/dev/main.tf create mode 100644 cmd/infracost/testdata/breakdown_autodetection_config_file_output/infracost.yml create mode 100644 cmd/infracost/testdata/breakdown_autodetection_config_file_output/prod/bar/main.tf create mode 100644 cmd/infracost/testdata/breakdown_autodetection_config_file_output/prod/foo/main.tf create mode 100644 cmd/infracost/testdata/breakdown_autodetection_output/breakdown_autodetection_output.golden create mode 100644 cmd/infracost/testdata/breakdown_autodetection_output/dev/main.tf create mode 100644 cmd/infracost/testdata/breakdown_autodetection_output/prod/main.tf create mode 100644 cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden create mode 100644 cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/dev/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/modules/example/main.tf create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/prod/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app2/dev/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app2/modules/example/main.tf create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app2/prod/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app2/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/breakdown_terragrunt_autodetection_config_file_output.golden create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/infracost.yml create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/region1/app1/dev/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/region1/app1/modules/example/main.tf create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/region1/app1/prod/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/region1/app1/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/region1/app2/dev/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/region1/app2/modules/example/main.tf create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/region1/app2/prod/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/region1/app2/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_output/breakdown_terragrunt_autodetection_output.golden create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_output/terragrunt/dev/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_output/terragrunt/modules/example/main.tf create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_output/terragrunt/prod/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_autodetection_output/terragrunt/terragrunt.hcl create mode 100644 cmd/infracost/testdata/breakdown_terragrunt_get_env_with_whitelist/breakdown_terragrunt_get_env_with_whitelist.golden create mode 100644 internal/prices/prices_test.go delete mode 100644 internal/ui/promts.go delete mode 100644 internal/ui/spin.go diff --git a/cmd/infracost/breakdown_test.go b/cmd/infracost/breakdown_test.go index a0649758dc3..2716d0ae56d 100644 --- a/cmd/infracost/breakdown_test.go +++ b/cmd/infracost/breakdown_test.go @@ -278,8 +278,7 @@ func TestBreakdownTerraformDirectoryWithDefaultVarFiles(t *testing.T) { "--path", dir, "--terraform-plan-flags", "-var-file=input.tfvars -var=block2_ebs_volume_size=2000 -var block2_volume_type=io1", "--terraform-force-cli", - }, - nil, + }, &GoldenFileOptions{IgnoreNonGraph: true}, ) }) @@ -297,7 +296,7 @@ func TestBreakdownTerraformDirectoryWithDefaultVarFiles(t *testing.T) { "--terraform-var", "block2_ebs_volume_size=2000", "--terraform-var", "block2_volume_type=io1", }, - nil, + &GoldenFileOptions{IgnoreNonGraph: true}, ) }) @@ -464,7 +463,9 @@ func TestBreakdownTerragrunt(t *testing.T) { func TestBreakdownTerragruntWithRemoteSource(t *testing.T) { testName := testutil.CalcGoldenFileTestdataDirName() dir := path.Join("./testdata", testName) - cacheDir := filepath.Join(dir, ".infracost") + wd, err := os.Getwd() + require.NoError(t, err) + cacheDir := filepath.Join(wd, ".infracost") require.NoError(t, os.RemoveAll(cacheDir)) GoldenFileCommandTest( @@ -477,7 +478,7 @@ func TestBreakdownTerragruntWithRemoteSource(t *testing.T) { nil) dirs, err := getGitBranchesInDirs(filepath.Join(cacheDir, ".terragrunt-cache")) - assert.NoError(t, err) + require.NoError(t, err) // check that there are 5 directories in the download directory as 3 of the 7 projects use the same ref, // but one of these has a generate block. @@ -1321,7 +1322,6 @@ func TestBreakdownTerragruntFileFuncs(t *testing.T) { } t.Setenv("INFRACOST_CI_PLATFORM", "github_app") - testName := testutil.CalcGoldenFileTestdataDirName() dir := path.Join("./testdata", testName) GoldenFileCommandTest( @@ -1335,6 +1335,20 @@ func TestBreakdownTerragruntFileFuncs(t *testing.T) { ) } +func TestBreakdownNoPricesWarnings(t *testing.T) { + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + }, + nil, + ) +} + func TestBreakdownTerraformFileFuncs(t *testing.T) { if os.Getenv("GITHUB_ACTIONS") == "" { t.Skip("skipping as this test is only designed for GitHub Actions") @@ -1354,3 +1368,65 @@ func TestBreakdownTerraformFileFuncs(t *testing.T) { &GoldenFileOptions{IgnoreLogs: true, IgnoreNonGraph: true}, ) } + +func TestBreakdownAutodetectionOutput(t *testing.T) { + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + }, + &GoldenFileOptions{LogLevel: strPtr("info")}, + ) +} + +func TestBreakdownAutodetectionConfigFileOutput(t *testing.T) { + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--config-file", filepath.Join(dir, "infracost.yml"), + "--log-level", "info", + }, + &GoldenFileOptions{LogLevel: strPtr("info"), IgnoreNonGraph: true}, + ) +} + +func TestBreakdownTerragruntAutodetectionOutput(t *testing.T) { + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--path", dir, + }, + &GoldenFileOptions{LogLevel: strPtr("info")}, + ) +} + +func TestBreakdownTerragruntAutodetectionConfigFileOutput(t *testing.T) { + testName := testutil.CalcGoldenFileTestdataDirName() + dir := path.Join("./testdata", testName) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "breakdown", + "--config-file", filepath.Join(dir, "infracost.yml"), + "--log-level", "info", + }, + &GoldenFileOptions{LogLevel: strPtr("info"), IgnoreNonGraph: true}, + ) +} + +func strPtr(s string) *string { + return &s +} diff --git a/cmd/infracost/cmd_test.go b/cmd/infracost/cmd_test.go index 94996773063..87395fa0312 100644 --- a/cmd/infracost/cmd_test.go +++ b/cmd/infracost/cmd_test.go @@ -42,6 +42,7 @@ type GoldenFileOptions = struct { RunTerraformCLI bool IgnoreNonGraph bool IgnoreLogs bool + LogLevel *string } func DefaultOptions() *GoldenFileOptions { @@ -129,10 +130,13 @@ func GetCommandOutput(t *testing.T, args []string, testOptions *GoldenFileOption c.OutWriter = outBuf c.Exit = func(code int) {} - if testOptions.CaptureLogs { - logBuf = testutil.ConfigureTestToCaptureLogs(t, c) - } else if !testOptions.IgnoreLogs { - testutil.ConfigureTestToFailOnLogs(t, c) + level := "warn" + if testOptions.LogLevel != nil { + level = *testOptions.LogLevel + } + + if !testOptions.IgnoreLogs { + logBuf = testutil.ConfigureTestToCaptureLogs(t, c, level) } for _, option := range ctxOptions { diff --git a/cmd/infracost/comment.go b/cmd/infracost/comment.go index 3a8267211ef..e8a0c41bc28 100644 --- a/cmd/infracost/comment.go +++ b/cmd/infracost/comment.go @@ -13,11 +13,11 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/apiclient" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/output" - "github.com/infracost/infracost/internal/ui" ) type CommentOutput struct { @@ -83,7 +83,7 @@ func buildCommentOutput(cmd *cobra.Command, ctx *config.RunContext, paths []stri combined, err := output.Combine(inputs) if errors.As(err, &clierror.WarningError{}) { - ui.PrintWarningf(cmd.ErrOrStderr(), err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } else if err != nil { return nil, err } @@ -96,7 +96,7 @@ func buildCommentOutput(cmd *cobra.Command, ctx *config.RunContext, paths []stri var result apiclient.AddRunResponse if ctx.IsCloudUploadEnabled() && !dryRun { if ctx.Config.IsSelfHosted() { - ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } else { combined.Metadata.InfracostCommand = "comment" commentFormat := apiclient.CommentFormatMarkdownHTML diff --git a/cmd/infracost/configure.go b/cmd/infracost/configure.go index 9cf8561e4b4..55ffc3eac71 100644 --- a/cmd/infracost/configure.go +++ b/cmd/infracost/configure.go @@ -9,6 +9,7 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -206,7 +207,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.CredentialsFilePath(), ui.PrimaryString("infracost configure set pricing_api_endpoint https://cloud-pricing-api"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "api_key": value = ctx.Config.Credentials.APIKey @@ -216,7 +217,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.CredentialsFilePath(), ui.PrimaryString("infracost configure set api_key MY_API_KEY"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "currency": value = ctx.Config.Configuration.Currency @@ -226,7 +227,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set currency CURRENCY"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "tls_insecure_skip_verify": if ctx.Config.Configuration.TLSInsecureSkipVerify == nil { @@ -240,7 +241,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set tls_insecure_skip_verify true"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "tls_ca_cert_file": value = ctx.Config.Configuration.TLSCACertFile @@ -250,7 +251,7 @@ func configureGetCmd(ctx *config.RunContext) *cobra.Command { config.ConfigurationFilePath(), ui.PrimaryString("infracost configure set tls_ca_cert_file /path/to/ca.crt"), ) - ui.PrintWarning(cmd.ErrOrStderr(), msg) + logging.Logger.Warn().Msg(msg) } case "enable_dashboard": if ctx.Config.Configuration.EnableDashboard == nil { diff --git a/cmd/infracost/diff_test.go b/cmd/infracost/diff_test.go index b821bf7ad94..ceaf65a7c83 100644 --- a/cmd/infracost/diff_test.go +++ b/cmd/infracost/diff_test.go @@ -213,9 +213,7 @@ projects: configFilePath, "--compare-to", path.Join(dir, "prior.json"), - }, &GoldenFileOptions{ - RunTerraformCLI: true, - }) + }, nil) } func TestDiffWithConfigFileCompareToDeletedProject(t *testing.T) { @@ -240,9 +238,7 @@ projects: configFilePath, "--compare-to", path.Join(dir, "prior.json"), - }, &GoldenFileOptions{ - RunTerraformCLI: true, - }) + }, nil) } func TestDiffCompareToError(t *testing.T) { diff --git a/cmd/infracost/generate.go b/cmd/infracost/generate.go index c4d5da044b5..43aaa7fe162 100644 --- a/cmd/infracost/generate.go +++ b/cmd/infracost/generate.go @@ -22,7 +22,7 @@ import ( ) type generateConfigCommand struct { - repoPath string + wd string templatePath string template string outFile string @@ -44,7 +44,7 @@ func newGenerateConfigCommand() *cobra.Command { RunE: gen.run, } - cmd.Flags().StringVar(&gen.repoPath, "repo-path", ".", "Path to the Terraform repo or directory you want to run the template file on") + cmd.Flags().StringVar(&gen.wd, "repo-path", ".", "Path to the Terraform repo or directory you want to run the template file on") cmd.Flags().StringVar(&gen.template, "template", "", "Infracost template string that will generate the config-file yaml output") cmd.Flags().StringVar(&gen.templatePath, "template-path", "", "Path to the Infracost template file that will generate the config-file yaml output") cmd.Flags().StringVar(&gen.outFile, "out-file", "", "Save output to a file") @@ -59,9 +59,9 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { return nil } - repoPath, _ := os.Getwd() - if g.repoPath != "." && g.repoPath != "" { - repoPath = g.repoPath + wd, _ := os.Getwd() + if g.wd != "." && g.wd != "" { + wd = g.wd } var buf bytes.Buffer @@ -94,7 +94,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { } var autoProjects []hcl.DetectedProject - autoProviders, err := providers.Detect(ctx, &config.Project{Path: repoPath}, false) + detectionOutput, err := providers.Detect(ctx, &config.Project{Path: wd}, false) if err != nil { if definedProjects { logging.Logger.Debug().Err(err).Msg("could not detect providers") @@ -103,34 +103,32 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { } } - for _, provider := range autoProviders { + for _, provider := range detectionOutput.Providers { if v, ok := provider.(hcl.DetectedProject); ok { autoProjects = append(autoProjects, v) } } if definedProjects { - m, err := vcs.MetadataFetcher.Get(repoPath, nil) + m, err := vcs.MetadataFetcher.Get(wd, nil) if err != nil { - ui.PrintWarningf(cmd.ErrOrStderr(), "could not fetch git metadata err: %s, default template variables will be blank", err) + logging.Logger.Warn().Msgf("could not fetch git metadata err: %s, default template variables will be blank", err) } detectedProjects := make([]template.DetectedProject, len(autoProjects)) detectedPaths := map[string][]template.DetectedProject{} for i, p := range autoProjects { - relPath := p.RelativePath() - detectedProjects[i] = template.DetectedProject{ Name: p.ProjectName(), - Path: relPath, + Path: p.RelativePath(), Env: p.EnvName(), - TerraformVarFiles: p.TerraformVarFiles(), + TerraformVarFiles: p.VarFiles(), } - if v, ok := detectedPaths[relPath]; ok { - detectedPaths[relPath] = append(v, detectedProjects[i]) + if v, ok := detectedPaths[p.RelativePath()]; ok { + detectedPaths[p.RelativePath()] = append(v, detectedProjects[i]) } else { - detectedPaths[relPath] = []template.DetectedProject{detectedProjects[i]} + detectedPaths[p.RelativePath()] = []template.DetectedProject{detectedProjects[i]} } } @@ -155,7 +153,7 @@ func (g *generateConfigCommand) run(cmd *cobra.Command, args []string) error { variables.BaseBranch = m.PullRequest.BaseBranch } - parser := template.NewParser(repoPath, variables) + parser := template.NewParser(wd, variables) if g.template != "" { err := parser.Compile(g.template, &buf) if err != nil { diff --git a/cmd/infracost/main.go b/cmd/infracost/main.go index 38a0198f35b..11efc91ca11 100644 --- a/cmd/infracost/main.go +++ b/cmd/infracost/main.go @@ -322,7 +322,7 @@ func handleCLIError(ctx *config.RunContext, cliErr error) { } func handleUnexpectedErr(ctx *config.RunContext, err error) { - ui.PrintUnexpectedErrorStack(ctx.ErrWriter, err) + ui.PrintUnexpectedErrorStack(err) err = apiclient.ReportCLIError(ctx, err, false) if err != nil { @@ -381,11 +381,7 @@ func saveOutFileWithMsg(ctx *config.RunContext, cmd *cobra.Command, outFile, suc return errors.Wrap(err, "Unable to save output") } - if ctx.Config.IsLogging() { - logging.Logger.Info().Msg(successMsg) - } else { - cmd.PrintErrf("%s\n", successMsg) - } + logging.Logger.Info().Msg(successMsg) return nil } diff --git a/cmd/infracost/output.go b/cmd/infracost/output.go index 4cbaf78c6eb..72eb39f0464 100644 --- a/cmd/infracost/output.go +++ b/cmd/infracost/output.go @@ -5,12 +5,12 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/spf13/cobra" "github.com/infracost/infracost/internal/apiclient" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/output" "github.com/infracost/infracost/internal/ui" ) @@ -96,7 +96,7 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { combined, err := output.Combine(inputs) if errors.As(err, &clierror.WarningError{}) { if format == "json" { - ui.PrintWarningf(cmd.ErrOrStderr(), err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } } else if err != nil { return err @@ -111,14 +111,14 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { if cmd.Flags().Changed("fields") { fields, _ = cmd.Flags().GetStringSlice("fields") if len(fields) == 0 { - ui.PrintWarningf(cmd.ErrOrStderr(), "fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) + logging.Logger.Warn().Msgf("fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) } else if len(fields) == 1 && fields[0] == includeAllFields { fields = validFields } else { vf := []string{} for _, f := range fields { if !contains(validFields, f) { - ui.PrintWarningf(cmd.ErrOrStderr(), "Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) + logging.Logger.Warn().Msgf("Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) } else { vf = append(vf, f) } @@ -139,12 +139,12 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { validFieldsFormats := []string{"table", "html"} if cmd.Flags().Changed("fields") && !contains(validFieldsFormats, format) { - ui.PrintWarning(cmd.ErrOrStderr(), "fields is only supported for table and html output formats") + logging.Logger.Warn().Msg("fields is only supported for table and html output formats") } if ctx.IsCloudUploadExplicitlyEnabled() { if ctx.Config.IsSelfHosted() { - ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } else { result := shareCombinedRun(ctx, combined, inputs, apiclient.CommentFormatMarkdownHTML) combined.RunID, combined.ShareURL, combined.CloudURL = result.RunID, result.ShareURL, result.CloudURL @@ -159,7 +159,7 @@ func outputCmd(ctx *config.RunContext) *cobra.Command { pricingClient := apiclient.GetPricingAPIClient(ctx) err = pricingClient.AddEvent("infracost-output", ctx.EventEnv()) if err != nil { - log.Error().Msgf("Error reporting event: %s", err) + logging.Logger.Error().Msgf("Error reporting event: %s", err) } if outFile, _ := cmd.Flags().GetString("out-file"); outFile != "" { @@ -205,7 +205,7 @@ func shareCombinedRun(ctx *config.RunContext, combined output.Root, inputs []out dashboardClient := apiclient.NewDashboardAPIClient(ctx) result, err := dashboardClient.AddRun(ctx, combined, commentFormat) if err != nil { - log.Err(err).Msg("Failed to upload to Infracost Cloud") + logging.Logger.Err(err).Msg("Failed to upload to Infracost Cloud") } return result diff --git a/cmd/infracost/register.go b/cmd/infracost/register.go index e60f3eb758a..8392192502f 100644 --- a/cmd/infracost/register.go +++ b/cmd/infracost/register.go @@ -4,6 +4,7 @@ import ( "github.com/spf13/cobra" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -15,7 +16,7 @@ func registerCmd(ctx *config.RunContext) *cobra.Command { Short: login.Short, Long: login.Long, RunE: func(cmd *cobra.Command, args []string) error { - ui.PrintWarningf(cmd.ErrOrStderr(), + logging.Logger.Warn().Msgf( "this command has been changed to %s, which does the same thing - we’ll run that for you now.\n", ui.PrimaryString("infracost auth login"), ) @@ -25,7 +26,7 @@ func registerCmd(ctx *config.RunContext) *cobra.Command { } cmd.SetHelpFunc(func(cmd *cobra.Command, strings []string) { - ui.PrintWarningf(cmd.ErrOrStderr(), + logging.Logger.Warn().Msgf( "this command has been changed to %s, which does the same thing - showing information for that command.\n", ui.PrimaryString("infracost auth login"), ) diff --git a/cmd/infracost/run.go b/cmd/infracost/run.go index ce7d7f414f4..65b60c0f377 100644 --- a/cmd/infracost/run.go +++ b/cmd/infracost/run.go @@ -6,7 +6,7 @@ import ( "errors" "fmt" "io" - "os" + "path/filepath" "runtime/debug" "sort" "strings" @@ -14,7 +14,6 @@ import ( "time" "github.com/Rhymond/go-money" - "github.com/rs/zerolog/log" "github.com/spf13/cobra" "golang.org/x/sync/errgroup" @@ -83,13 +82,13 @@ func addRunFlags(cmd *cobra.Command) { func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { if runCtx.Config.IsSelfHosted() && runCtx.IsCloudEnabled() { - ui.PrintWarning(cmd.ErrOrStderr(), "Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") + logging.Logger.Warn().Msg("Infracost Cloud is part of Infracost's hosted services. Contact hello@infracost.io for help.") } - repoPath := runCtx.Config.RepoPath() - metadata, err := vcs.MetadataFetcher.Get(repoPath, runCtx.Config.GitDiffTarget) + wd := runCtx.Config.WorkingDirectory() + metadata, err := vcs.MetadataFetcher.Get(wd, runCtx.Config.GitDiffTarget) if err != nil { - logging.Logger.Debug().Err(err).Msgf("failed to fetch vcs metadata for path %s", repoPath) + logging.Logger.Debug().Err(err).Msgf("failed to fetch vcs metadata for path %s", wd) } runCtx.VCSMetadata = metadata @@ -103,6 +102,10 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { return err } + // write an aggregate log line of cost components that have + // missing prices if any have been found. + pr.pricingFetcher.LogWarnings() + projects := make([]*schema.Project, 0) projectContexts := make([]*config.ProjectContext, 0) @@ -133,12 +136,12 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { dashboardClient := apiclient.NewDashboardAPIClient(runCtx) result, err := dashboardClient.AddRun(runCtx, r, apiclient.CommentFormatMarkdownHTML) if err != nil { - log.Err(err).Msg("Failed to upload to Infracost Cloud") + logging.Logger.Err(err).Msg("Failed to upload to Infracost Cloud") } r.RunID, r.ShareURL, r.CloudURL = result.RunID, result.ShareURL, result.CloudURL } else { - log.Debug().Msg("Skipping sending project results since Infracost Cloud upload is not enabled.") + logging.Logger.Debug().Msg("Skipping sending project results since Infracost Cloud upload is not enabled.") } format := strings.ToLower(runCtx.Config.Format) @@ -163,12 +166,12 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { runCtx.ContextValues.SetValue("lineCount", lines) } - env := buildRunEnv(runCtx, projectContexts, r) + env := pr.buildRunEnv(projectContexts, r) pricingClient := apiclient.GetPricingAPIClient(runCtx) err = pricingClient.AddEvent("infracost-run", env) if err != nil { - log.Error().Msgf("Error reporting event: %s", err) + logging.Logger.Error().Msgf("Error reporting event: %s", err) } if outFile, _ := cmd.Flags().GetString("out-file"); outFile != "" { @@ -178,9 +181,7 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { } } else { // Print a new line to separate the logs from the output - if runCtx.Config.IsLogging() { - cmd.PrintErrln() - } + cmd.PrintErrln() cmd.Println(string(b)) } @@ -192,11 +193,12 @@ type projectOutput struct { } type parallelRunner struct { - cmd *cobra.Command - runCtx *config.RunContext - pathMuxs map[string]*sync.Mutex - prior *output.Root - parallelism int + cmd *cobra.Command + runCtx *config.RunContext + pathMuxs map[string]*sync.Mutex + prior *output.Root + parallelism int + pricingFetcher *prices.PriceFetcher } func newParallelRunner(cmd *cobra.Command, runCtx *config.RunContext) (*parallelRunner, error) { @@ -227,38 +229,128 @@ func newParallelRunner(cmd *cobra.Command, runCtx *config.RunContext) (*parallel runCtx.ContextValues.SetValue("parallelism", parallelism) return ¶llelRunner{ - parallelism: parallelism, - runCtx: runCtx, - cmd: cmd, - pathMuxs: pathMuxs, - prior: prior, + parallelism: parallelism, + runCtx: runCtx, + cmd: cmd, + pathMuxs: pathMuxs, + prior: prior, + pricingFetcher: prices.NewPriceFetcher(runCtx), }, nil } func (r *parallelRunner) run() ([]projectResult, error) { var queue []projectJob - + var totalRootModules int var i int + + isAuto := r.runCtx.IsAutoDetect() for _, p := range r.runCtx.Config.Projects { - detected, err := providers.Detect(r.runCtx, p, r.prior == nil) + detectionOutput, err := providers.Detect(r.runCtx, p, r.prior == nil) if err != nil { m := fmt.Sprintf("%s\n\n", err) m += fmt.Sprintf(" Try adding a config-file to configure how Infracost should run. See %s for details and examples.", ui.LinkString("https://infracost.io/config-file")) queue = append(queue, projectJob{index: i, err: schema.NewEmptyPathTypeError(errors.New(m)), ctx: config.NewProjectContext(r.runCtx, p, map[string]interface{}{})}) + i++ continue } - for _, provider := range detected { + for _, provider := range detectionOutput.Providers { queue = append(queue, projectJob{index: i, provider: provider}) i++ } + + totalRootModules += detectionOutput.RootModules + } + projectCounts := make(map[string]int) + for _, job := range queue { + if job.err != nil { + continue + } + + provider := job.provider + if v, ok := projectCounts[provider.DisplayType()]; ok { + projectCounts[provider.DisplayType()] = v + 1 + continue + } + + projectCounts[provider.DisplayType()] = 1 + } + + var order []string + for displayType := range projectCounts { + order = append(order, displayType) } + + var summary string + sort.Strings(order) + for i, displayType := range order { + count := projectCounts[displayType] + desc := "project" + if count > 1 { + desc = "projects" + } + + if len(order) > 1 && i == len(order)-2 { + summary += fmt.Sprintf("%d %s %s and ", count, displayType, desc) + } else if i == len(order)-1 { + summary += fmt.Sprintf("%d %s %s", count, displayType, desc) + } else { + summary += fmt.Sprintf("%d %s %s, ", count, displayType, desc) + } + } + + moduleDesc := "module" + pathDesc := "path" + if totalRootModules > 1 { + moduleDesc = "modules" + } + + if len(r.runCtx.Config.Projects) > 1 { + pathDesc = "paths" + } + + if isAuto { + if summary == "" { + logging.Logger.Error().Msgf("Could not autodetect any projects from path %s", ui.DirectoryDisplayName(r.runCtx, r.runCtx.Config.RootPath)) + } else { + logging.Logger.Info().Msgf("Autodetected %s across %d root %s", summary, totalRootModules, moduleDesc) + } + } else { + if summary == "" { + logging.Logger.Error().Msg("All provided config file paths are invalid or do not contain any supported projects") + } else { + logging.Logger.Info().Msgf("Autodetected %s from %d %s in the config file", summary, len(r.runCtx.Config.Projects), pathDesc) + } + } + + for _, job := range queue { + if job.err != nil { + continue + } + + provider := job.provider + + name := provider.ProjectName() + displayName := ui.ProjectDisplayName(r.runCtx, name) + + dirDisp := ui.DirectoryDisplayName(r.runCtx, provider.RelativePath()) + if len(provider.VarFiles()) > 0 { + varString := "" + for _, s := range provider.VarFiles() { + varString += fmt.Sprintf("%s, ", ui.DirectoryDisplayName(r.runCtx, filepath.Join(provider.RelativePath(), s))) + } + varString = strings.TrimRight(varString, ", ") + + logging.Logger.Info().Msgf("Found %s project %s at directory %s using %s var files %v", provider.DisplayType(), displayName, dirDisp, provider.DisplayType(), varString) + } else { + logging.Logger.Info().Msgf("Found %s project %s at directory %s", provider.DisplayType(), displayName, dirDisp) + } + } + projectResultChan := make(chan projectResult, len(queue)) jobs := make(chan projectJob, len(queue)) - r.printParallelMsg(queue) - errGroup, _ := errgroup.WithContext(context.Background()) for i := 0; i < r.parallelism; i++ { errGroup.Go(func() (err error) { @@ -323,22 +415,9 @@ func (r *parallelRunner) run() ([]projectResult, error) { return projectResults, nil } -func (r *parallelRunner) printParallelMsg(queue []projectJob) { - runInParallel := r.parallelism > 1 && len(queue) > 1 - if (runInParallel || r.runCtx.IsCIRun()) && !r.runCtx.Config.IsLogging() { - if runInParallel { - r.cmd.PrintErrln("Running multiple projects in parallel, so log-level=info is enabled by default.") - r.cmd.PrintErrln("Run with INFRACOST_PARALLELISM=1 to disable parallelism to help debugging.") - r.cmd.PrintErrln() - } - - r.runCtx.Config.LogLevel = "info" - _ = logging.ConfigureBaseLogger(r.runCtx.Config) - } -} - -func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { - path := job.provider.Context().ProjectConfig.Path +func (r *parallelRunner) runProvider(job projectJob) (out *projectOutput, err error) { + projectContext := job.provider.Context() + path := projectContext.ProjectConfig.Path mux := r.pathMuxs[path] if mux != nil { mux.Lock() @@ -352,20 +431,20 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { return nil, clierror.NewCLIError(errors.New(m), "Cannot use Terraform state JSON with the infracost diff command") } - m := fmt.Sprintf("Detected %s at %s", job.provider.DisplayType(), ui.DisplayPath(path)) - if job.provider.Type() == "terraform_dir" { - m = fmt.Sprintf("Evaluating %s at %s", job.provider.DisplayType(), ui.DisplayPath(path)) - } + name := job.provider.ProjectName() + displayName := ui.ProjectDisplayName(r.runCtx, name) - if r.runCtx.Config.IsLogging() { - log.Info().Msg(m) - } else { - fmt.Fprintln(os.Stderr, m) - } + logging.Logger.Debug().Msgf("Starting evaluation for project %s", displayName) + defer func() { + if err != nil { + logging.Logger.Debug().Msgf("Failed evaluation for project %s", displayName) + } + logging.Logger.Debug().Msgf("Finished evaluation for project %s", displayName) + }() // Generate usage file if r.runCtx.Config.SyncUsageFile { - err := r.generateUsageFile(job.provider) + err = r.generateUsageFile(job.provider) if err != nil { return nil, fmt.Errorf("Error generating usage file %w", err) } @@ -374,24 +453,24 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { // Load usage data var usageFile *usage.UsageFile - if job.provider.Context().ProjectConfig.UsageFile != "" { + if projectContext.ProjectConfig.UsageFile != "" { var err error - usageFile, err = usage.LoadUsageFile(job.provider.Context().ProjectConfig.UsageFile) + usageFile, err = usage.LoadUsageFile(projectContext.ProjectConfig.UsageFile) if err != nil { return nil, err } invalidKeys, err := usageFile.InvalidKeys() if err != nil { - log.Error().Msgf("Error checking usage file keys: %v", err) + logging.Logger.Error().Msgf("Error checking usage file keys: %v", err) } else if len(invalidKeys) > 0 { - ui.PrintWarningf(r.cmd.ErrOrStderr(), + logging.Logger.Warn().Msgf( "The following usage file parameters are invalid and will be ignored: %s\n", strings.Join(invalidKeys, ", "), ) } - job.provider.Context().ContextValues.SetValue("hasUsageFile", true) + projectContext.ContextValues.SetValue("hasUsageFile", true) } else { usageFile = usage.NewBlankUsageFile() } @@ -421,7 +500,7 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { } usageData := usageFile.ToUsageDataMap() - out := &projectOutput{} + out = &projectOutput{} t1 := time.Now() projects, err := job.provider.LoadResources(usageData) @@ -434,17 +513,11 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { r.buildResources(projects) - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - spinner := ui.NewSpinner("Retrieving cloud prices to calculate costs", spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Retrieving cloud prices to calculate costs") for _, project := range projects { - if err := prices.PopulatePrices(r.runCtx, project); err != nil { - spinner.Fail() + if err = r.pricingFetcher.PopulatePrices(project); err != nil { + logging.Logger.Debug().Err(err).Msgf("failed to populate prices for project %s", project.Name) r.cmd.PrintErrln() var apiErr *apiclient.APIError @@ -480,9 +553,7 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { t2 := time.Now() taken := t2.Sub(t1).Milliseconds() - job.provider.Context().ContextValues.SetValue("tfProjectRunTimeMs", taken) - - spinner.Success() + projectContext.ContextValues.SetValue("tfProjectRunTimeMs", taken) if r.runCtx.Config.UsageActualCosts { r.populateActualCosts(projects) @@ -490,10 +561,6 @@ func (r *parallelRunner) runProvider(job projectJob) (*projectOutput, error) { out.projects = projects - if !r.runCtx.Config.IsLogging() && !r.runCtx.Config.SkipErrLine { - r.cmd.PrintErrln() - } - return out, nil } @@ -504,13 +571,7 @@ func (r *parallelRunner) uploadCloudResourceIDs(projects []*schema.Project) erro r.runCtx.ContextValues.SetValue("uploadedResourceIds", true) - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - spinner := ui.NewSpinner("Sending resource IDs to Infracost Cloud for usage estimates", spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Sending resource IDs to Infracost Cloud for usage estimates") for _, project := range projects { if err := prices.UploadCloudResourceIDs(r.runCtx, project); err != nil { @@ -519,7 +580,6 @@ func (r *parallelRunner) uploadCloudResourceIDs(projects []*schema.Project) erro } } - spinner.Success() return nil } @@ -563,13 +623,7 @@ func (r *parallelRunner) fetchProjectUsage(projects []*schema.Project) map[*sche resourceStr += "s" } - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - spinner := ui.NewSpinner(fmt.Sprintf("Retrieving usage defaults for %s from Infracost Cloud", resourceStr), spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msgf("Retrieving usage defaults for %s from Infracost Cloud", resourceStr) projectPtrToUsageMap := make(map[*schema.Project]schema.UsageMap, len(projects)) @@ -583,20 +637,12 @@ func (r *parallelRunner) fetchProjectUsage(projects []*schema.Project) map[*sche projectPtrToUsageMap[project] = usageMap } - spinner.Success() - return projectPtrToUsageMap } func (r *parallelRunner) populateActualCosts(projects []*schema.Project) { if r.runCtx.Config.UsageAPIEndpoint != "" { - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - spinner := ui.NewSpinner("Retrieving actual costs from Infracost Cloud", spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Retrieving actual costs from Infracost Cloud") for _, project := range projects { if err := prices.PopulateActualCosts(r.runCtx, project); err != nil { @@ -604,12 +650,10 @@ func (r *parallelRunner) populateActualCosts(projects []*schema.Project) { return } } - - spinner.Success() } } -func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { +func (r *parallelRunner) generateUsageFile(provider schema.Provider) (err error) { ctx := provider.Context() if ctx.ProjectConfig.UsageFile == "" { @@ -620,7 +664,7 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { var usageFile *usage.UsageFile usageFilePath := ctx.ProjectConfig.UsageFile - err := usage.CreateUsageFile(usageFilePath) + err = usage.CreateUsageFile(usageFilePath) if err != nil { return fmt.Errorf("Error creating usage file %w", err) } @@ -638,37 +682,32 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { r.buildResources(providerProjects) - spinnerOpts := ui.SpinnerOptions{ - EnableLogging: r.runCtx.Config.IsLogging(), - NoColor: r.runCtx.Config.NoColor, - Indent: " ", - } - - spinner := ui.NewSpinner("Syncing usage data from cloud", spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Syncing usage data from cloud") + defer func() { + if err != nil { + logging.Logger.Debug().Err(err).Msg("Error syncing usage data") + } else { + logging.Logger.Debug().Msg("Finished syncing usage data") + } + }() syncResult, err := usage.SyncUsageData(ctx, usageFile, providerProjects) if err != nil { - spinner.Fail() return fmt.Errorf("Error synchronizing usage data %w", err) } ctx.SetFrom(syncResult) if err != nil { - spinner.Fail() return fmt.Errorf("Error summarizing usage %w", err) } err = usageFile.WriteToPath(ctx.ProjectConfig.UsageFile) if err != nil { - spinner.Fail() return fmt.Errorf("Error writing usage file %w", err) } - if syncResult == nil { - spinner.Fail() - } else { + if syncResult != nil { resources := syncResult.ResourceCount attempts := syncResult.EstimationCount errors := len(syncResult.EstimationErrors) @@ -679,17 +718,7 @@ func (r *parallelRunner) generateUsageFile(provider schema.Provider) error { pluralized = "s" } - spinner.Success() - - if r.runCtx.Config.IsLogging() { - logging.Logger.Info().Msgf("synced %d of %d resource%s", successes, resources, pluralized) - } else { - r.cmd.PrintErrln(fmt.Sprintf(" %s Synced %d of %d resource%s", - ui.FaintString("└─"), - successes, - resources, - pluralized)) - } + logging.Logger.Info().Msgf("Synced %d of %d resource%s", successes, resources, pluralized) } return nil } @@ -797,16 +826,16 @@ func loadRunFlags(cfg *config.Config, cmd *cobra.Command) error { if cmd.Flags().Changed("fields") { fields, _ := cmd.Flags().GetStringSlice("fields") if len(fields) == 0 { - ui.PrintWarningf(cmd.ErrOrStderr(), "fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) + logging.Logger.Warn().Msgf("fields is empty, using defaults: %s", cmd.Flag("fields").DefValue) } else if cfg.Fields != nil && !contains(validFieldsFormats, cfg.Format) { - ui.PrintWarning(cmd.ErrOrStderr(), "fields is only supported for table and html output formats") + logging.Logger.Warn().Msg("fields is only supported for table and html output formats") } else if len(fields) == 1 && fields[0] == includeAllFields { cfg.Fields = validFields } else { vf := []string{} for _, f := range fields { if !contains(validFields, f) { - ui.PrintWarningf(cmd.ErrOrStderr(), "Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) + logging.Logger.Warn().Msgf("Invalid field '%s' specified, valid fields are: %s or '%s' to include all fields", f, validFields, includeAllFields) } else { vf = append(vf, f) } @@ -838,7 +867,7 @@ func tfVarsToMap(vars []string) map[string]string { func checkRunConfig(warningWriter io.Writer, cfg *config.Config) error { if cfg.Format == "json" && cfg.ShowSkipped { - ui.PrintWarning(warningWriter, "show-skipped is not needed with JSON output format as that always includes them.\n") + logging.Logger.Warn().Msg("show-skipped is not needed with JSON output format as that always includes them.") } if cfg.SyncUsageFile { @@ -849,29 +878,29 @@ func checkRunConfig(warningWriter io.Writer, cfg *config.Config) error { } } if len(missingUsageFile) == 1 { - ui.PrintWarning(warningWriter, "Ignoring sync-usage-file as no usage-file is specified.\n") + logging.Logger.Warn().Msg("Ignoring sync-usage-file as no usage-file is specified.") } else if len(missingUsageFile) == len(cfg.Projects) { - ui.PrintWarning(warningWriter, "Ignoring sync-usage-file since no projects have a usage-file specified.\n") + logging.Logger.Warn().Msg("Ignoring sync-usage-file since no projects have a usage-file specified.") } else if len(missingUsageFile) > 1 { - ui.PrintWarning(warningWriter, fmt.Sprintf("Ignoring sync-usage-file for following projects as no usage-file is specified for them: %s.\n", strings.Join(missingUsageFile, ", "))) + logging.Logger.Warn().Msgf("Ignoring sync-usage-file for following projects as no usage-file is specified for them: %s.", strings.Join(missingUsageFile, ", ")) } } if money.GetCurrency(cfg.Currency) == nil { - ui.PrintWarning(warningWriter, fmt.Sprintf("Ignoring unknown currency '%s', using USD.\n", cfg.Currency)) + logging.Logger.Warn().Msgf("Ignoring unknown currency '%s', using USD.\n", cfg.Currency) cfg.Currency = "USD" } return nil } -func buildRunEnv(runCtx *config.RunContext, projectContexts []*config.ProjectContext, r output.Root) map[string]interface{} { - env := runCtx.EventEnvWithProjectContexts(projectContexts) +func (r *parallelRunner) buildRunEnv(projectContexts []*config.ProjectContext, or output.Root) map[string]interface{} { + env := r.runCtx.EventEnvWithProjectContexts(projectContexts) - env["runId"] = r.RunID + env["runId"] = or.RunID env["projectCount"] = len(projectContexts) - env["runSeconds"] = time.Now().Unix() - runCtx.StartTime - env["currency"] = runCtx.Config.Currency + env["runSeconds"] = time.Now().Unix() - r.runCtx.StartTime + env["currency"] = r.runCtx.Config.Currency usingCache := make([]bool, 0, len(projectContexts)) cacheErrors := make([]string, 0, len(projectContexts)) @@ -882,7 +911,7 @@ func buildRunEnv(runCtx *config.RunContext, projectContexts []*config.ProjectCon env["usingCache"] = usingCache env["cacheErrors"] = cacheErrors - summary := r.FullSummary + summary := or.FullSummary env["supportedResourceCounts"] = summary.SupportedResourceCounts env["unsupportedResourceCounts"] = summary.UnsupportedResourceCounts env["noPriceResourceCounts"] = summary.NoPriceResourceCounts @@ -896,11 +925,11 @@ func buildRunEnv(runCtx *config.RunContext, projectContexts []*config.ProjectCon env["totalEstimatedUsages"] = summary.TotalEstimatedUsages env["totalUnestimatedUsages"] = summary.TotalUnestimatedUsages - if warnings := runCtx.GetResourceWarnings(); warnings != nil { - env["resourceWarnings"] = warnings + if r.pricingFetcher.MissingPricesLen() > 0 { + env["pricesNotFoundList"] = r.pricingFetcher.MissingPricesComponents() } - if n := r.ExampleProjectName(); n != "" { + if n := or.ExampleProjectName(); n != "" { env["exampleProjectName"] = n } diff --git a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden index 56d6ab4d6ec..426b2e62ff9 100644 --- a/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden +++ b/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/breakdown_auto_with_multi_varfile_projects.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/multi-dev +Project: multi-dev Module path: multi Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: multi Project total $747.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/multi-prod +Project: multi-prod Module path: multi Name Monthly Qty Unit Monthly Cost @@ -30,7 +30,7 @@ Module path: multi Project total $1,308.28 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_auto_with_multi_varfile_projects/single +Project: single Module path: single Name Monthly Qty Unit Monthly Cost @@ -53,13 +53,13 @@ Module path: single 3 cloud resources were detected: ∙ 3 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...lti_varfile_projects/multi-dev ┃ $748 ┃ $0.00 ┃ $748 ┃ -┃ infracost/infracost/cmd/infraco...ti_varfile_projects/multi-prod ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ -┃ infracost/infracost/cmd/infraco..._multi_varfile_projects/single ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ multi-dev ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ multi-prod ┃ $1,308 ┃ $0.00 ┃ $1,308 ┃ +┃ single ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_autodetection_config_file_output/breakdown_autodetection_config_file_output.golden b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/breakdown_autodetection_config_file_output.golden new file mode 100644 index 00000000000..8672402ae78 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/breakdown_autodetection_config_file_output.golden @@ -0,0 +1,71 @@ +Project: testdata-breakdown_autodetection_config_file_output-dev +Module path: testdata/breakdown_autodetection_config_file_output/dev + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $742.64 + +────────────────────────────────── +Project: testdata-breakdown_autodetection_config_file_output-prod-bar +Module path: testdata/breakdown_autodetection_config_file_output/prod/bar + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $742.64 + +────────────────────────────────── +Project: testdata-breakdown_autodetection_config_file_output-prod-foo +Module path: testdata/breakdown_autodetection_config_file_output/prod/foo + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $742.64 + + OVERALL TOTAL $2,227.92 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +3 cloud resources were detected: +∙ 3 were estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ testdata-breakdown_autodetection_config_file_output-dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ testdata-breakdown_autodetection_config_file_output-prod-bar ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ testdata-breakdown_autodetection_config_file_output-prod-foo ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + + +Logs: +INFO Autodetected 3 Terraform projects from 2 paths in the config file +INFO Found Terraform project testdata-breakdown_autodetection_config_file_output-dev at directory testdata/breakdown_autodetection_config_file_output/dev +INFO Found Terraform project testdata-breakdown_autodetection_config_file_output-prod-bar at directory testdata/breakdown_autodetection_config_file_output/prod/bar +INFO Found Terraform project testdata-breakdown_autodetection_config_file_output-prod-foo at directory testdata/breakdown_autodetection_config_file_output/prod/foo diff --git a/cmd/infracost/testdata/breakdown_autodetection_config_file_output/dev/main.tf b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/dev/main.tf new file mode 100644 index 00000000000..e877cfa1c11 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/dev/main.tf @@ -0,0 +1,23 @@ +provider "aws" { + region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +resource "aws_instance" "web_app" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" # <<<<< Try changing this to m5.8xlarge to compare the costs + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" # <<<<< Try changing this to gp2 to compare costs + volume_size = 1000 + iops = 800 + } +} diff --git a/cmd/infracost/testdata/breakdown_autodetection_config_file_output/infracost.yml b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/infracost.yml new file mode 100644 index 00000000000..d935e6dbf24 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/infracost.yml @@ -0,0 +1,5 @@ +version: 0.1 + +projects: + - path: testdata/breakdown_autodetection_config_file_output/dev + - path: testdata/breakdown_autodetection_config_file_output/prod diff --git a/cmd/infracost/testdata/breakdown_autodetection_config_file_output/prod/bar/main.tf b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/prod/bar/main.tf new file mode 100644 index 00000000000..e877cfa1c11 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/prod/bar/main.tf @@ -0,0 +1,23 @@ +provider "aws" { + region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +resource "aws_instance" "web_app" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" # <<<<< Try changing this to m5.8xlarge to compare the costs + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" # <<<<< Try changing this to gp2 to compare costs + volume_size = 1000 + iops = 800 + } +} diff --git a/cmd/infracost/testdata/breakdown_autodetection_config_file_output/prod/foo/main.tf b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/prod/foo/main.tf new file mode 100644 index 00000000000..e877cfa1c11 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_autodetection_config_file_output/prod/foo/main.tf @@ -0,0 +1,23 @@ +provider "aws" { + region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +resource "aws_instance" "web_app" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" # <<<<< Try changing this to m5.8xlarge to compare the costs + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" # <<<<< Try changing this to gp2 to compare costs + volume_size = 1000 + iops = 800 + } +} diff --git a/cmd/infracost/testdata/breakdown_autodetection_output/breakdown_autodetection_output.golden b/cmd/infracost/testdata/breakdown_autodetection_output/breakdown_autodetection_output.golden new file mode 100644 index 00000000000..f8f9b0cee42 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_autodetection_output/breakdown_autodetection_output.golden @@ -0,0 +1,53 @@ +Project: dev +Module path: dev + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $742.64 + +────────────────────────────────── +Project: prod +Module path: prod + + Name Monthly Qty Unit Monthly Cost + + aws_instance.web_app + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + Project total $742.64 + + OVERALL TOTAL $1,485.28 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +2 cloud resources were detected: +∙ 2 were estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ prod ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + + +Logs: +INFO Autodetected 2 Terraform projects across 2 root modules +INFO Found Terraform project dev at directory dev +INFO Found Terraform project prod at directory prod diff --git a/cmd/infracost/testdata/breakdown_autodetection_output/dev/main.tf b/cmd/infracost/testdata/breakdown_autodetection_output/dev/main.tf new file mode 100644 index 00000000000..e877cfa1c11 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_autodetection_output/dev/main.tf @@ -0,0 +1,23 @@ +provider "aws" { + region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +resource "aws_instance" "web_app" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" # <<<<< Try changing this to m5.8xlarge to compare the costs + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" # <<<<< Try changing this to gp2 to compare costs + volume_size = 1000 + iops = 800 + } +} diff --git a/cmd/infracost/testdata/breakdown_autodetection_output/prod/main.tf b/cmd/infracost/testdata/breakdown_autodetection_output/prod/main.tf new file mode 100644 index 00000000000..e877cfa1c11 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_autodetection_output/prod/main.tf @@ -0,0 +1,23 @@ +provider "aws" { + region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +resource "aws_instance" "web_app" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" # <<<<< Try changing this to m5.8xlarge to compare the costs + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" # <<<<< Try changing this to gp2 to compare costs + volume_size = 1000 + iops = 800 + } +} diff --git a/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden b/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden index 8be1f9778ad..add927da8f6 100644 --- a/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden +++ b/cmd/infracost/testdata/breakdown_config_file/breakdown_config_file.golden @@ -15,11 +15,12 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_config_file/dev", + "displayName": "testdata-breakdown_config_file-dev", "metadata": { - "path": "./testdata/breakdown_config_file/dev", + "path": "REPLACED_PROJECT_PATH/infracost/infracost/cmd/infracost/testdata/breakdown_config_file/dev", "type": "terraform_dir", "configSha": "1234", - "terraformModulePath": "dev", + "terraformModulePath": "testdata/breakdown_config_file/dev", "vcsSubPath": "cmd/infracost/testdata/breakdown_config_file/dev", "providers": [ { diff --git a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden index d27b8611892..52d9129b2e2 100644 --- a/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden +++ b/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/breakdown_config_file_with_skip_auto_detect.golden @@ -1,5 +1,5 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/infra -Module path: infra +Project: testdata-breakdown_config_file_with_skip_auto_detect-infra +Module path: testdata/breakdown_config_file_with_skip_auto_detect/infra Name Monthly Qty Unit Monthly Cost @@ -14,8 +14,8 @@ Module path: infra Project total $1,303.28 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_config_file_with_skip_auto_detect/infra/dev -Module path: infra/dev +Project: testdata-breakdown_config_file_with_skip_auto_detect-infra-dev +Module path: testdata/breakdown_config_file_with_skip_auto_detect/infra/dev Name Monthly Qty Unit Monthly Cost @@ -37,12 +37,12 @@ Module path: infra/dev 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...le_with_skip_auto_detect/infra ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┃ infracost/infracost/cmd/infraco...ith_skip_auto_detect/infra/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ testdata-breakdown_config_file_with_skip_auto_detect-infra ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┃ testdata-breakdown_config_file_with_skip_auto_detect-infra-dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden b/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden index f700581904b..b8980676a50 100644 --- a/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden +++ b/cmd/infracost/testdata/breakdown_config_file_with_usage_file/breakdown_config_file_with_usage_file.golden @@ -1,5 +1,5 @@ Project: default_usage -Module path: flag_usage +Module path: testdata/breakdown_config_file_with_usage_file/flag_usage Name Monthly Qty Unit Monthly Cost @@ -11,7 +11,7 @@ Module path: flag_usage ────────────────────────────────── Project: config_usage -Module path: config_usage +Module path: testdata/breakdown_config_file_with_usage_file/config_usage Name Monthly Qty Unit Monthly Cost diff --git a/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden b/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden index fda6d0ee013..c5ee718bf15 100644 --- a/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden +++ b/cmd/infracost/testdata/breakdown_format_json/breakdown_format_json.golden @@ -15,6 +15,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/example_plan.json", + "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "type": "terraform_plan_json", @@ -48,7 +49,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -65,7 +67,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -82,7 +85,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -91,7 +95,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -114,7 +119,8 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -123,7 +129,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -133,7 +140,8 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -143,7 +151,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -162,7 +171,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -179,7 +189,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -196,7 +207,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -205,7 +217,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -228,7 +241,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -237,7 +251,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -247,7 +262,8 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -257,7 +273,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -285,7 +302,8 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -295,7 +313,8 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -305,7 +324,8 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data scanned", @@ -315,7 +335,8 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data returned", @@ -325,7 +346,8 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -354,7 +376,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -372,7 +395,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -390,7 +414,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -399,7 +424,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -422,7 +448,8 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -431,7 +458,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -441,7 +469,8 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -451,7 +480,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -471,7 +501,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -489,7 +520,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -507,7 +539,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -516,7 +549,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -539,7 +573,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -548,7 +583,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -558,7 +594,8 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -568,7 +605,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -596,7 +634,8 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -606,7 +645,8 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -616,7 +656,8 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data scanned", @@ -626,7 +667,8 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data returned", @@ -636,7 +678,8 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden index 85574adf9bd..a014b1adea3 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags/breakdown_format_json_with_tags.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags", + "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags", "type": "terraform_dir", @@ -67,7 +68,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -84,7 +86,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -101,7 +104,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -110,7 +114,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -150,7 +155,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -167,7 +173,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -184,7 +191,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -193,7 +201,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -236,7 +245,8 @@ "monthlyQuantity": "2920", "price": "0.0441", "hourlyCost": "0.1764", - "monthlyCost": "128.772" + "monthlyCost": "128.772", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -245,7 +255,8 @@ "monthlyQuantity": "28", "price": "0.3", "hourlyCost": "0.01150684931506848", - "monthlyCost": "8.4" + "monthlyCost": "8.4", + "priceNotFound": false }, { "name": "CPU credits", @@ -254,7 +265,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -271,7 +283,8 @@ "monthlyQuantity": "40", "price": "0.125", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -280,7 +293,8 @@ "monthlyQuantity": "400", "price": "0.065", "hourlyCost": "0.0356164383561643865", - "monthlyCost": "26" + "monthlyCost": "26", + "priceNotFound": false } ] } @@ -323,7 +337,8 @@ "monthlyQuantity": "730", "price": "0.0441", "hourlyCost": "0.0441", - "monthlyCost": "32.193" + "monthlyCost": "32.193", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -332,7 +347,8 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1" + "monthlyCost": "2.1", + "priceNotFound": false }, { "name": "CPU credits", @@ -341,7 +357,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -358,7 +375,8 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8" + "monthlyCost": "0.8", + "priceNotFound": false } ] }, @@ -375,7 +393,8 @@ "monthlyQuantity": "10", "price": "0.125", "hourlyCost": "0.0017123287671232875", - "monthlyCost": "1.25" + "monthlyCost": "1.25", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -384,7 +403,8 @@ "monthlyQuantity": "100", "price": "0.065", "hourlyCost": "0.008904109589041095", - "monthlyCost": "6.5" + "monthlyCost": "6.5", + "priceNotFound": false } ] } @@ -437,7 +457,8 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -471,7 +492,8 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -506,7 +528,8 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -542,7 +565,8 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -615,7 +639,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -632,7 +657,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -649,7 +675,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -658,7 +685,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -698,7 +726,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -715,7 +744,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -732,7 +762,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -741,7 +772,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -784,7 +816,8 @@ "monthlyQuantity": "2920", "price": "0.0441", "hourlyCost": "0.1764", - "monthlyCost": "128.772" + "monthlyCost": "128.772", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -793,7 +826,8 @@ "monthlyQuantity": "28", "price": "0.3", "hourlyCost": "0.01150684931506848", - "monthlyCost": "8.4" + "monthlyCost": "8.4", + "priceNotFound": false }, { "name": "CPU credits", @@ -802,7 +836,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -819,7 +854,8 @@ "monthlyQuantity": "40", "price": "0.125", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -828,7 +864,8 @@ "monthlyQuantity": "400", "price": "0.065", "hourlyCost": "0.0356164383561643865", - "monthlyCost": "26" + "monthlyCost": "26", + "priceNotFound": false } ] } @@ -871,7 +908,8 @@ "monthlyQuantity": "730", "price": "0.0441", "hourlyCost": "0.0441", - "monthlyCost": "32.193" + "monthlyCost": "32.193", + "priceNotFound": false }, { "name": "EC2 detailed monitoring", @@ -880,7 +918,8 @@ "monthlyQuantity": "7", "price": "0.3", "hourlyCost": "0.00287671232876712", - "monthlyCost": "2.1" + "monthlyCost": "2.1", + "priceNotFound": false }, { "name": "CPU credits", @@ -889,7 +928,8 @@ "monthlyQuantity": "0", "price": "0.05", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -906,7 +946,8 @@ "monthlyQuantity": "8", "price": "0.1", "hourlyCost": "0.0010958904109589", - "monthlyCost": "0.8" + "monthlyCost": "0.8", + "priceNotFound": false } ] }, @@ -923,7 +964,8 @@ "monthlyQuantity": "10", "price": "0.125", "hourlyCost": "0.0017123287671232875", - "monthlyCost": "1.25" + "monthlyCost": "1.25", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -932,7 +974,8 @@ "monthlyQuantity": "100", "price": "0.065", "hourlyCost": "0.008904109589041095", - "monthlyCost": "6.5" + "monthlyCost": "6.5", + "priceNotFound": false } ] } @@ -985,7 +1028,8 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -1019,7 +1063,8 @@ "price": "0.6", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -1054,7 +1099,8 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -1090,7 +1136,8 @@ "price": "0.4", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden index 58a94abd7da..f5547d79263 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags_azure/breakdown_format_json_with_tags_azure.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags_azure", + "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags_azure", "type": "terraform_dir", @@ -59,7 +60,8 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5" + "monthlyCost": "328.5", + "priceNotFound": false } ] }, @@ -91,7 +93,8 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5" + "monthlyCost": "328.5", + "priceNotFound": false } ] } @@ -132,7 +135,8 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5" + "monthlyCost": "328.5", + "priceNotFound": false } ] }, @@ -164,7 +168,8 @@ "monthlyQuantity": "2", "price": "164.25", "hourlyCost": "0.45", - "monthlyCost": "328.5" + "monthlyCost": "328.5", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden b/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden index 369f3d1751c..71e110dba43 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_tags_google/breakdown_format_json_with_tags_google.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_tags_google", + "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_tags_google", "type": "terraform_dir", @@ -59,7 +60,8 @@ "monthlyQuantity": "500", "price": "0.04", "hourlyCost": "0.027397260273972604", - "monthlyCost": "20" + "monthlyCost": "20", + "priceNotFound": false } ] }, @@ -91,7 +93,8 @@ "monthlyQuantity": "100", "price": "0.17", "hourlyCost": "0.02328767123287671", - "monthlyCost": "17" + "monthlyCost": "17", + "priceNotFound": false } ] }, @@ -125,7 +128,8 @@ "monthlyQuantity": "730", "price": "0.0105", "hourlyCost": "0.0105", - "monthlyCost": "7.665" + "monthlyCost": "7.665", + "priceNotFound": false }, { "name": "Storage (SSD, zonal)", @@ -134,7 +138,8 @@ "monthlyQuantity": "10", "price": "0.17", "hourlyCost": "0.002328767123287671", - "monthlyCost": "1.7" + "monthlyCost": "1.7", + "priceNotFound": false }, { "name": "Backups", @@ -144,7 +149,8 @@ "price": "0.08", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "IP address (if unused)", @@ -153,7 +159,8 @@ "monthlyQuantity": "730", "price": "0.01", "hourlyCost": "0.01", - "monthlyCost": "7.3" + "monthlyCost": "7.3", + "priceNotFound": false } ] } @@ -217,7 +224,8 @@ "monthlyQuantity": "500", "price": "0.04", "hourlyCost": "0.027397260273972604", - "monthlyCost": "20" + "monthlyCost": "20", + "priceNotFound": false } ] }, @@ -249,7 +257,8 @@ "monthlyQuantity": "100", "price": "0.17", "hourlyCost": "0.02328767123287671", - "monthlyCost": "17" + "monthlyCost": "17", + "priceNotFound": false } ] }, @@ -283,7 +292,8 @@ "monthlyQuantity": "730", "price": "0.0105", "hourlyCost": "0.0105", - "monthlyCost": "7.665" + "monthlyCost": "7.665", + "priceNotFound": false }, { "name": "Storage (SSD, zonal)", @@ -292,7 +302,8 @@ "monthlyQuantity": "10", "price": "0.17", "hourlyCost": "0.002328767123287671", - "monthlyCost": "1.7" + "monthlyCost": "1.7", + "priceNotFound": false }, { "name": "Backups", @@ -302,7 +313,8 @@ "price": "0.08", "hourlyCost": null, "monthlyCost": null, - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "IP address (if unused)", @@ -311,7 +323,8 @@ "monthlyQuantity": "730", "price": "0.01", "hourlyCost": "0.01", - "monthlyCost": "7.3" + "monthlyCost": "7.3", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden b/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden index a0c203d594c..7e30292b202 100644 --- a/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden +++ b/cmd/infracost/testdata/breakdown_format_json_with_warnings/breakdown_format_json_with_warnings.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_format_json_with_warnings", + "displayName": "main", "metadata": { "path": "testdata/breakdown_format_json_with_warnings", "type": "terraform_dir", @@ -91,4 +92,4 @@ Err: Logs: -WRN Input values were not provided for following Terraform variables: "variable.not_provided". Use --terraform-var-file or --terraform-var to specify them. +WARN Input values were not provided for following Terraform variables: "variable.not_provided". Use --terraform-var-file or --terraform-var to specify them. diff --git a/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden b/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden index b9165b414be..2626834899d 100644 --- a/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden +++ b/cmd/infracost/testdata/breakdown_format_jsonshow_skipped/breakdown_format_jsonshow_skipped.golden @@ -15,6 +15,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/example_plan.json", + "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "type": "terraform_plan_json", @@ -48,7 +49,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -65,7 +67,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -82,7 +85,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -91,7 +95,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -114,7 +119,8 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -123,7 +129,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -133,7 +140,8 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -143,7 +151,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -162,7 +171,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -179,7 +189,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -196,7 +207,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -205,7 +217,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -228,7 +241,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -237,7 +251,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -247,7 +262,8 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -257,7 +273,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -285,7 +302,8 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -295,7 +313,8 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -305,7 +324,8 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data scanned", @@ -315,7 +335,8 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data returned", @@ -325,7 +346,8 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -354,7 +376,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -372,7 +395,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -390,7 +414,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -399,7 +424,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -422,7 +448,8 @@ "price": "0.2", "hourlyCost": "0.02739726027397260273972", "monthlyCost": "20", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -431,7 +458,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -441,7 +469,8 @@ "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", "monthlyCost": "416.6675", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -451,7 +480,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -471,7 +501,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -489,7 +520,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -507,7 +539,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -516,7 +549,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -539,7 +573,8 @@ "price": "0.2", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Ephemeral storage", @@ -548,7 +583,8 @@ "monthlyQuantity": "0", "price": "0.0000000309", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration (first 6B)", @@ -558,7 +594,8 @@ "price": "0.0000166667", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Duration (over 15B)", @@ -568,7 +605,8 @@ "price": "0.0000133334", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] }, @@ -596,7 +634,8 @@ "price": "0.023", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -606,7 +645,8 @@ "price": "0.005", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -616,7 +656,8 @@ "price": "0.0004", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data scanned", @@ -626,7 +667,8 @@ "price": "0.002", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false }, { "name": "Select data returned", @@ -636,7 +678,8 @@ "price": "0.0007", "hourlyCost": "0", "monthlyCost": "0", - "usageBased": true + "usageBased": true, + "priceNotFound": false } ] } @@ -680,6 +723,7 @@ } Err: -Warning: show-skipped is not needed with JSON output format as that always includes them. +Logs: +WARN show-skipped is not needed with JSON output format as that always includes them. diff --git a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden index 752e15ce86b..ec33ff13196 100644 --- a/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden +++ b/cmd/infracost/testdata/breakdown_invalid_path/breakdown_invalid_path.golden @@ -20,3 +20,6 @@ No cloud resources were detected Err: + +Logs: +ERROR Could not autodetect any projects from path invalid diff --git a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden index 0cfb7b45f40..f1ab3c15618 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_autodetect/breakdown_multi_project_autodetect.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_autodetect/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -14,7 +14,7 @@ Module path: dev Project total $742.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_autodetect/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -37,12 +37,12 @@ Module path: prod 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_multi_project_autodetect/dev ┃ $743 ┃ $0.00 ┃ $743 ┃ -┃ infracost/infracost/cmd/infraco..._multi_project_autodetect/prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden index 96124683b04..95214b621f3 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths/breakdown_multi_project_skip_paths.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_skip_paths/shown +Project: shown Module path: shown Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: shown 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...multi_project_skip_paths/shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden index 86760f1e61d..95214b621f3 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/breakdown_multi_project_skip_paths_root_level.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_skip_paths_root_level/shown +Project: shown Module path: shown Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Module path: shown 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ct_skip_paths_root_level/shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ shown ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden index d56f9177e2e..b8519d59dc9 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/breakdown_multi_project_with_all_errors.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/dev +Project: dev Module path: dev Errors: @@ -8,7 +8,7 @@ Errors: Invalid block definition; Either a quoted string block label or an opening brace ("{") is expected here., and 1 other diagnostic(s) ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_all_errors/prod +Project: prod Module path: prod Errors: @@ -24,12 +24,12 @@ Errors: ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ti_project_with_all_errors/dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco...i_project_with_all_errors/prod ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ prod ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden index 12d7d2d00b9..223d8164ba7 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_error/breakdown_multi_project_with_error.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/dev +Project: dev Module path: dev Errors: @@ -8,7 +8,7 @@ Errors: Invalid block definition; Either a quoted string block label or an opening brace ("{") is expected here., and 1 other diagnostic(s) ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -31,12 +31,12 @@ Module path: prod 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_multi_project_with_error/dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┃ infracost/infracost/cmd/infraco..._multi_project_with_error/prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ dev ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ prod ┃ $1,303 ┃ $0.00 ┃ $1,303 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden b/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden index bdfbe62f4d2..880dee726c5 100644 --- a/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden +++ b/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/breakdown_multi_project_with_error_output_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/dev", + "displayName": "dev", "metadata": { "path": "testdata/breakdown_multi_project_with_error_output_json/dev", "type": "terraform_dir", @@ -58,7 +59,8 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32" + "monthlyCost": "280.32", + "priceNotFound": false } ], "subresources": [ @@ -75,7 +77,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -92,7 +95,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -101,7 +105,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -142,7 +147,8 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32" + "monthlyCost": "280.32", + "priceNotFound": false } ], "subresources": [ @@ -159,7 +165,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -176,7 +183,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -185,7 +193,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -214,6 +223,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error_output_json/prod", + "displayName": "prod", "metadata": { "path": "testdata/breakdown_multi_project_with_error_output_json/prod", "type": "terraform_dir", @@ -258,7 +268,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -275,7 +286,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -292,7 +304,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -301,7 +314,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -342,7 +356,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -359,7 +374,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -376,7 +392,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -385,7 +402,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden b/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden new file mode 100644 index 00000000000..ea36d749925 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_no_prices_warnings/breakdown_no_prices_warnings.golden @@ -0,0 +1,56 @@ +Project: main + + Name Monthly Qty Unit Monthly Cost + + aws_instance.valid + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_instance.ebs_invalid + ├─ Instance usage (Linux/UNIX, on-demand, m5.4xlarge) 730 hours $560.64 + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + └─ Storage (general purpose SSD, gp2) 1,000 GB not found + + aws_instance.instance_invalid + ├─ Instance usage (Linux/UNIX, on-demand, invalid_instance_type) 730 hours not found + ├─ root_block_device + │ └─ Storage (general purpose SSD, gp2) 50 GB $5.00 + └─ ebs_block_device[0] + ├─ Storage (provisioned IOPS SSD, io1) 1,000 GB $125.00 + └─ Provisioned IOPS 800 IOPS $52.00 + + aws_db_instance.valid + ├─ Database instance (on-demand, Single-AZ, db.t3.large) 730 hours $99.28 + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + aws_db_instance.invalid + ├─ Database instance (on-demand, Single-AZ, invalid_instance_class) 730 hours not found + └─ Storage (general purpose SSD, gp2) 20 GB $2.30 + + OVERALL TOTAL $1,594.16 + +*Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. + +────────────────────────────────── +5 cloud resources were detected: +∙ 5 were estimated + +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $1,594 ┃ $0.00 ┃ $1,594 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ + +Err: + + +Logs: +WARN 2 aws_instance prices missing across 2 resources + 1 aws_db_instance price missing across 1 resource + diff --git a/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf b/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf new file mode 100644 index 00000000000..668205b4292 --- /dev/null +++ b/cmd/infracost/testdata/breakdown_no_prices_warnings/main.tf @@ -0,0 +1,66 @@ +provider "aws" { + region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +resource "aws_instance" "valid" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" + volume_size = 1000 + iops = 800 + } +} + +resource "aws_instance" "ebs_invalid" { + ami = "ami-674cbc1e" + instance_type = "m5.4xlarge" + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "invalid" + volume_size = 1000 + iops = 800 + } +} + +resource "aws_instance" "instance_invalid" { + ami = "ami-674cbc1e" + instance_type = "invalid_instance_type" + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" + volume_size = 1000 + iops = 800 + } +} + +resource "aws_db_instance" "valid" { + engine = "mysql" + instance_class = "db.t3.large" +} + +resource "aws_db_instance" "invalid" { + engine = "mysql" + instance_class = "invalid_instance_class" +} + diff --git a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden index 7fbb5155778..218b9f571cc 100644 --- a/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden +++ b/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed/breakdown_skip_autodetection_if_terraform_var_file_passed.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_skip_autodetection_if_terraform_var_file_passed +Project: main Name Monthly Qty Unit Monthly Cost @@ -15,11 +15,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_skip_autodetection 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...n_if_terraform_var_file_passed ┃ $74 ┃ $0.00 ┃ $74 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden index 89885f4ce6c..ea9e1a5a854 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory/breakdown_terraform_directory.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terraform +Project: main Name Monthly Qty Unit Monthly Cost @@ -26,7 +26,7 @@ Project: infracost/infracost/examples/terraform ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden index c29e2acb904..4f2e4f169da 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files/breakdown_terraform_directory_with_default_var_files.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_directory_with_default_var_files +Project: main Name Monthly Qty Unit Monthly Cost @@ -21,11 +21,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_director 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...rectory_with_default_var_files ┃ $758 ┃ $0.00 ┃ $758 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $758 ┃ $0.00 ┃ $758 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden index 7c0c36164bb..3594f0df313 100644 --- a/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden +++ b/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules/breakdown_terraform_directory_with_recursive_modules.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_directory_with_recursive_modules +Project: main Name Monthly Qty Unit Monthly Cost @@ -99,11 +99,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_director 12 cloud resources were detected: ∙ 12 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...rectory_with_recursive_modules ┃ $10,384 ┃ $0.00 ┃ $10,384 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $10,384 ┃ $0.00 ┃ $10,384 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden index c5c7117456c..e8b16a2650f 100644 --- a/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden +++ b/cmd/infracost/testdata/breakdown_terraform_fields_invalid/breakdown_terraform_fields_invalid.golden @@ -37,5 +37,7 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: -Warning: Invalid field 'invalid' specified, valid fields are: [price monthlyQuantity unit hourlyCost monthlyCost] or 'all' to include all fields + +Logs: +WARN Invalid field 'invalid' specified, valid fields are: [price monthlyQuantity unit hourlyCost monthlyCost] or 'all' to include all fields diff --git a/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden b/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden index e009adceb47..8decbdb1ef1 100644 --- a/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden +++ b/cmd/infracost/testdata/breakdown_terraform_file_funcs/breakdown_terraform_file_funcs.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_funcs +Project: main Name Monthly Qty Unit Monthly Cost @@ -33,117 +33,117 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_fun └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.file["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.file["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.file["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileexists["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileexists["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileexists["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileexists["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileexists["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.filemd5["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.filemd5["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, f6ccad7be10c3d1fbedee0c976c942b9) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.filemd5["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.filemd5["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.filemd5["sym"] - ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, d41d8cd98f00b204e9800998ecf8427e) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileset["abs"] - ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileset["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, 1) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileset["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.fileset["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, 0) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.template_file["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 aws_instance.template_file["pdabs"] - ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, instance_type-mock) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 module.mod_files.aws_instance.file["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, ) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 module.mod_files.aws_instance.fileexists["cd"] - ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 module.mod_files.aws_instance.fileexists["pd"] - ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, ne) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 module.mod_files.aws_instance.fileexists["rootcd"] - ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours $0.00 + ├─ Instance usage (Linux/UNIX, on-demand, e) 730 hours not found └─ root_block_device └─ Storage (general purpose SSD, gp2) 8 GB $0.80 @@ -155,11 +155,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_file_fun 29 cloud resources were detected: ∙ 29 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...breakdown_terraform_file_funcs ┃ $531 ┃ $0.00 ┃ $531 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $531 ┃ $0.00 ┃ $531 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden b/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden index 3f5040c184a..b5ee5d3105a 100644 --- a/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden +++ b/cmd/infracost/testdata/breakdown_terraform_out_file_json/infracost_output.golden @@ -29,6 +29,7 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", + "priceNotFound": false, "unit": "hours" } ], @@ -47,6 +48,7 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", + "priceNotFound": false, "unit": "GB" } ], @@ -64,6 +66,7 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", + "priceNotFound": false, "unit": "GB" }, { @@ -73,6 +76,7 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", + "priceNotFound": false, "unit": "IOPS" } ], @@ -93,6 +97,7 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", + "priceNotFound": false, "unit": "hours" } ], @@ -111,6 +116,7 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", + "priceNotFound": false, "unit": "GB" } ], @@ -128,6 +134,7 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", + "priceNotFound": false, "unit": "GB" }, { @@ -137,6 +144,7 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", + "priceNotFound": false, "unit": "IOPS" } ], @@ -157,6 +165,7 @@ "monthlyQuantity": null, "name": "Requests", "price": "0.2", + "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -167,6 +176,7 @@ "monthlyQuantity": null, "name": "Ephemeral storage", "price": "0.0000000309", + "priceNotFound": false, "unit": "GB-seconds" }, { @@ -176,6 +186,7 @@ "monthlyQuantity": null, "name": "Duration (first 6B)", "price": "0.0000166667", + "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -194,6 +205,7 @@ "monthlyQuantity": null, "name": "Requests", "price": "0.2", + "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -204,6 +216,7 @@ "monthlyQuantity": null, "name": "Ephemeral storage", "price": "0.0000000309", + "priceNotFound": false, "unit": "GB-seconds" }, { @@ -213,6 +226,7 @@ "monthlyQuantity": null, "name": "Duration (first 6B)", "price": "0.0000166667", + "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -236,6 +250,7 @@ "monthlyQuantity": null, "name": "Storage", "price": "0.023", + "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -246,6 +261,7 @@ "monthlyQuantity": null, "name": "PUT, COPY, POST, LIST requests", "price": "0.005", + "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -256,6 +272,7 @@ "monthlyQuantity": null, "name": "GET, SELECT, and all other requests", "price": "0.0004", + "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -266,6 +283,7 @@ "monthlyQuantity": null, "name": "Select data scanned", "price": "0.002", + "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -276,6 +294,7 @@ "monthlyQuantity": null, "name": "Select data returned", "price": "0.0007", + "priceNotFound": false, "unit": "GB", "usageBased": true } @@ -302,6 +321,7 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", + "priceNotFound": false, "unit": "hours" } ], @@ -321,6 +341,7 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", + "priceNotFound": false, "unit": "GB" } ], @@ -339,6 +360,7 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", + "priceNotFound": false, "unit": "GB" }, { @@ -348,6 +370,7 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", + "priceNotFound": false, "unit": "IOPS" } ], @@ -369,6 +392,7 @@ "monthlyQuantity": "730", "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", "price": "0.768", + "priceNotFound": false, "unit": "hours" } ], @@ -388,6 +412,7 @@ "monthlyQuantity": "50", "name": "Storage (general purpose SSD, gp2)", "price": "0.1", + "priceNotFound": false, "unit": "GB" } ], @@ -406,6 +431,7 @@ "monthlyQuantity": "1000", "name": "Storage (provisioned IOPS SSD, io1)", "price": "0.125", + "priceNotFound": false, "unit": "GB" }, { @@ -415,6 +441,7 @@ "monthlyQuantity": "800", "name": "Provisioned IOPS", "price": "0.065", + "priceNotFound": false, "unit": "IOPS" } ], @@ -436,6 +463,7 @@ "monthlyQuantity": "0", "name": "Requests", "price": "0.2", + "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -446,6 +474,7 @@ "monthlyQuantity": "0", "name": "Ephemeral storage", "price": "0.0000000309", + "priceNotFound": false, "unit": "GB-seconds" }, { @@ -455,6 +484,7 @@ "monthlyQuantity": "0", "name": "Duration (first 6B)", "price": "0.0000166667", + "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -476,6 +506,7 @@ "monthlyQuantity": "0", "name": "Requests", "price": "0.2", + "priceNotFound": false, "unit": "1M requests", "usageBased": true }, @@ -486,6 +517,7 @@ "monthlyQuantity": "0", "name": "Ephemeral storage", "price": "0.0000000309", + "priceNotFound": false, "unit": "GB-seconds" }, { @@ -495,6 +527,7 @@ "monthlyQuantity": "0", "name": "Duration (first 6B)", "price": "0.0000166667", + "priceNotFound": false, "unit": "GB-seconds", "usageBased": true } @@ -524,6 +557,7 @@ "monthlyQuantity": "0", "name": "Storage", "price": "0.023", + "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -534,6 +568,7 @@ "monthlyQuantity": "0", "name": "PUT, COPY, POST, LIST requests", "price": "0.005", + "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -544,6 +579,7 @@ "monthlyQuantity": "0", "name": "GET, SELECT, and all other requests", "price": "0.0004", + "priceNotFound": false, "unit": "1k requests", "usageBased": true }, @@ -554,6 +590,7 @@ "monthlyQuantity": "0", "name": "Select data scanned", "price": "0.002", + "priceNotFound": false, "unit": "GB", "usageBased": true }, @@ -564,6 +601,7 @@ "monthlyQuantity": "0", "name": "Select data returned", "price": "0.0007", + "priceNotFound": false, "unit": "GB", "usageBased": true } @@ -582,6 +620,7 @@ "totalMonthlyCost": "1485.28", "totalMonthlyUsageCost": "0" }, + "displayName": "", "metadata": { "path": "./testdata/example_plan.json", "providers": [ diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden index 651261ad7d7..4bfdb6e8994 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_invalid_key/breakdown_terraform_usage_file_invalid_key.golden @@ -50,6 +50,8 @@ Project: infracost/infracost/cmd/infracost/testdata/example_plan.json ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: -Warning: The following usage file parameters are invalid and will be ignored: dup_invalid_key, invalid_key_1, invalid_key_2, invalid_key_3 +Logs: +WARN The following usage file parameters are invalid and will be ignored: dup_invalid_key, invalid_key_1, invalid_key_2, invalid_key_3 + diff --git a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden index 6c0ba5fd64d..c56c6192d2d 100644 --- a/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden +++ b/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module/breakdown_terraform_usage_file_wildcard_module.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_usage_file_wildcard_module +Project: main Name Monthly Qty Unit Monthly Cost @@ -92,11 +92,11 @@ Project: infracost/infracost/cmd/infracost/testdata/breakdown_terraform_usage_fi 19 cloud resources were detected: ∙ 19 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...orm_usage_file_wildcard_module ┃ $0.00 ┃ $22,693 ┃ $22,693 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $22,693 ┃ $22,693 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden index feb186546d4..cc48bc03ba5 100644 --- a/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden +++ b/cmd/infracost/testdata/breakdown_terragrunt/breakdown_terragrunt.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terragrunt/dev +Project: dev Module path: dev Name Monthly Qty Unit Monthly Cost @@ -19,7 +19,7 @@ Module path: dev Project total $51.97 ────────────────────────────────── -Project: infracost/infracost/examples/terragrunt/prod +Project: prod Module path: prod Name Monthly Qty Unit Monthly Cost @@ -50,8 +50,8 @@ Module path: prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terragrunt/dev ┃ $52 ┃ $0.00 ┃ $52 ┃ -┃ infracost/infracost/examples/terragrunt/prod ┃ $748 ┃ $0.00 ┃ $748 ┃ +┃ dev ┃ $52 ┃ $0.00 ┃ $52 ┃ +┃ prod ┃ $748 ┃ $0.00 ┃ $748 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/dev/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/dev/terragrunt.hcl new file mode 100644 index 00000000000..e44257b41bc --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/dev/terragrunt.hcl @@ -0,0 +1,16 @@ +include { + path = find_in_parent_folders() +} + +terraform { + source = "..//modules/example" +} + +inputs = { + instance_type = "t2.micro" + root_block_device_volume_size = 50 + block_device_volume_size = 100 + block_device_iops = 400 + + hello_world_function_memory_size = 512 +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/modules/example/main.tf b/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/modules/example/main.tf new file mode 100644 index 00000000000..1e6da2c35ed --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/modules/example/main.tf @@ -0,0 +1,49 @@ +variable "instance_type" { + description = "The EC2 instance type for the web app" + type = string +} + +variable "root_block_device_volume_size" { + description = "The size of the root block device volume for the web app EC2 instance" + type = number +} + +variable "block_device_volume_size" { + description = "The size of the block device volume for the web app EC2 instance" + type = number +} + +variable "block_device_iops" { + description = "The number of IOPS for the block device for the web app EC2 instance" + type = number +} + +variable "hello_world_function_memory_size" { + description = "The memory to allocate to the hello world Lambda function" + type = number +} + +resource "aws_instance" "web_app" { + ami = "ami-674cbc1e" + instance_type = var.instance_type + + root_block_device { + volume_size = var.root_block_device_volume_size + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" + volume_size = var.block_device_volume_size + iops = var.block_device_iops + } +} + +resource "aws_lambda_function" "hello_world" { + function_name = "hello_world" + role = "arn:aws:lambda:us-east-1:aws:resource-id" + handler = "exports.test" + runtime = "nodejs12.x" + filename = "function.zip" + memory_size = var.hello_world_function_memory_size +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/prod/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/prod/terragrunt.hcl new file mode 100644 index 00000000000..5b45e48c40c --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/prod/terragrunt.hcl @@ -0,0 +1,16 @@ +include { + path = find_in_parent_folders() +} + +terraform { + source = "..//modules/example" +} + +inputs = { + instance_type = "m5.4xlarge" + root_block_device_volume_size = 100 + block_device_volume_size = 1000 + block_device_iops = 800 + + hello_world_function_memory_size = 1024 +} diff --git a/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/terragrunt.hcl b/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/terragrunt.hcl new file mode 100644 index 00000000000..b662c9f9acd --- /dev/null +++ b/cmd/infracost/testdata/breakdown_terragrunt_autodetection_config_file_output/app1/terragrunt.hcl @@ -0,0 +1,18 @@ +locals { + aws_region = "us-east-1" # <<<<< Try changing this to eu-west-1 to compare the costs +} + +# Generate an AWS provider block +generate "provider" { + path = "provider.tf" + if_exists = "overwrite_terragrunt" + contents = <\n⚠️ Guardrails triggered\n\n> - Warning: Stand by your estimate\n\n⚠️ Guardrails triggered\n\n> - Warning: Stand by your estimate\n\n❌ Guardrails triggered (needs action)\nThis change is blocked, either reduce the costs or wait for an admin to review and unblock it.\n\n> - Blocked: Stand by your estimate\n\n❌ Guardrails triggered (needs action)\nThis change is blocked, either reduce the costs or wait for an admin to review and unblock it.\n\n> - Blocked: Stand by your estimate\n\n

✅ Guardrails passed

\n"} +INFO Estimate uploaded to Infracost Cloud +INFO 1 guardrail checked +INFO Creating new comment +WARN >\n

✅ Guardrails passed

\n"} -INF Created new comment: +INFO Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden b/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden index 28dcdf40a98..4edad5b088f 100644 --- a/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_guardrail_success_without_comment/comment_git_hub_guardrail_success_without_comment.golden @@ -1,7 +1,7 @@ Comment posted to GitHub Logs: -INF Estimate uploaded to Infracost Cloud -INF 1 guardrail checked -INF Creating new comment -INF Created new comment: +INFO Estimate uploaded to Infracost Cloud +INFO 1 guardrail checked +INFO Creating new comment +INFO Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden index ff1a9e6742b..d7bd3d41aa0 100644 --- a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_with_initial_comment.golden @@ -1,10 +1,10 @@ Comment posted to GitHub Logs: -INF Finding matching comments for tag infracost-comment -INF Found 1 matching comment -INF Hiding 1 comment -INF Hiding comment -WRN SkipNoDiff option is not supported for new comments -INF Creating new comment -INF Created new comment: +INFO Finding matching comments for tag infracost-comment +INFO Found 1 matching comment +INFO Hiding 1 comment +INFO Hiding comment +WARN SkipNoDiff option is not supported for new comments +INFO Creating new comment +INFO Created new comment: diff --git a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden index 3f4caed8804..73ced48e3d9 100644 --- a/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment/comment_git_hub_new_and_hide_skip_no_diff_without_initial_comment.golden @@ -1,6 +1,6 @@ Comment not posted to GitHub: Not creating initial comment since there is no resource or cost difference Logs: -INF Finding matching comments for tag infracost-comment -INF Found 0 matching comments -INF Not creating initial comment since there is no resource or cost difference +INFO Finding matching comments for tag infracost-comment +INFO Found 0 matching comments +INFO Not creating initial comment since there is no resource or cost difference diff --git a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden index ef3309f6f66..21321bf572c 100644 --- a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_with_initial_comment/comment_git_hub_skip_no_diff_with_initial_comment.golden @@ -1,6 +1,6 @@ Comment posted to GitHub Logs: -INF Finding matching comments for tag infracost-comment -INF Found 1 matching comment -INF Updating comment +INFO Finding matching comments for tag infracost-comment +INFO Found 1 matching comment +INFO Updating comment diff --git a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden index 3f4caed8804..73ced48e3d9 100644 --- a/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden +++ b/cmd/infracost/testdata/comment_git_hub_skip_no_diff_without_initial_comment/comment_git_hub_skip_no_diff_without_initial_comment.golden @@ -1,6 +1,6 @@ Comment not posted to GitHub: Not creating initial comment since there is no resource or cost difference Logs: -INF Finding matching comments for tag infracost-comment -INF Found 0 matching comments -INF Not creating initial comment since there is no resource or cost difference +INFO Finding matching comments for tag infracost-comment +INFO Found 0 matching comments +INFO Not creating initial comment since there is no resource or cost difference diff --git a/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden b/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden index 75d0105961e..0ebe6105063 100644 --- a/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden +++ b/cmd/infracost/testdata/comment_git_hub_with_no_guardrailt/comment_git_hub_with_no_guardrailt.golden @@ -1,6 +1,6 @@ Comment posted to GitHub Logs: -INF Estimate uploaded to Infracost Cloud -INF Creating new comment -INF Created new comment: +INFO Estimate uploaded to Infracost Cloud +INFO Creating new comment +INFO Created new comment: diff --git a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden index 95a7ea072b4..5ca2fe01aac 100644 --- a/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden +++ b/cmd/infracost/testdata/config_file_nil_projects_errors/config_file_nil_projects_errors.golden @@ -6,3 +6,6 @@ Err: + +Logs: +ERROR All provided config file paths are invalid or do not contain any supported projects diff --git a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden index 7ced48c2851..90afbb30319 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project/diff_prior_empty_project.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_prior_empty_project +Project: main + aws_instance.web_app +$743 diff --git a/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden b/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden index c3d1a3d7a60..701d9255676 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_prior_empty_project_json", + "displayName": "main", "metadata": { "path": "testdata/diff_prior_empty_project_json", "type": "terraform_dir", @@ -63,7 +64,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -80,7 +82,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -97,7 +100,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -106,7 +110,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -147,7 +152,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -164,7 +170,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -181,7 +188,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -190,7 +198,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_project_name/diff_project_name.golden b/cmd/infracost/testdata/diff_project_name/diff_project_name.golden index e9c389d576a..a72e2579696 100644 --- a/cmd/infracost/testdata/diff_project_name/diff_project_name.golden +++ b/cmd/infracost/testdata/diff_project_name/diff_project_name.golden @@ -2,7 +2,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── Project: my first project -Module path: terraform +Module path: testdata/diff_project_name/terraform ~ aws_instance.web_app -$420 ($743 → $322) @@ -10,13 +10,13 @@ Module path: terraform ~ Instance usage (Linux/UNIX, on-demand, m5.4xlarge → m5.xlarge) -$420 ($561 → $140) -Monthly cost change for my first project (Module path: terraform) +Monthly cost change for my first project (Module path: testdata/diff_project_name/terraform) Amount: -$420 ($743 → $322) Percent: -57% ────────────────────────────────── Project: my first project again -Module path: terraform +Module path: testdata/diff_project_name/terraform ~ aws_instance.web_app -$420 ($743 → $322) @@ -24,13 +24,13 @@ Module path: terraform ~ Instance usage (Linux/UNIX, on-demand, m5.4xlarge → m5.xlarge) -$420 ($561 → $140) -Monthly cost change for my first project again (Module path: terraform) +Monthly cost change for my first project again (Module path: testdata/diff_project_name/terraform) Amount: -$420 ($743 → $322) Percent: -57% ────────────────────────────────── Project: my terragrunt dev project -Module path: terragrunt/dev +Module path: testdata/diff_project_name/terragrunt/dev ~ aws_instance.web_app -$8 ($60 → $52) @@ -38,13 +38,13 @@ Module path: terragrunt/dev ~ Instance usage (Linux/UNIX, on-demand, t2.small → t2.micro) -$8 ($17 → $8) -Monthly cost change for my terragrunt dev project (Module path: terragrunt/dev) +Monthly cost change for my terragrunt dev project (Module path: testdata/diff_project_name/terragrunt/dev) Amount: -$8 ($60 → $52) Percent: -14% ────────────────────────────────── Project: my terragrunt multi project -Module path: terragrunt-multi/dev +Module path: testdata/diff_project_name/terragrunt-multi/dev + aws_instance.web_app +$52 @@ -80,12 +80,12 @@ Module path: terragrunt-multi/dev Monthly cost depends on usage +$0.0000166667 per GB-seconds -Monthly cost change for my terragrunt multi project (Module path: terragrunt-multi/dev) +Monthly cost change for my terragrunt multi project (Module path: testdata/diff_project_name/terragrunt-multi/dev) Amount: +$52 ($0.00 → $52) ────────────────────────────────── Project: my terragrunt multi project -Module path: terragrunt-multi/prod +Module path: testdata/diff_project_name/terragrunt-multi/prod ~ aws_instance.web_app +$280 ($467 → $748) @@ -93,13 +93,13 @@ Module path: terragrunt-multi/prod ~ Instance usage (Linux/UNIX, on-demand, m5.2xlarge → m5.4xlarge) +$280 ($280 → $561) -Monthly cost change for my terragrunt multi project (Module path: terragrunt-multi/prod) +Monthly cost change for my terragrunt multi project (Module path: testdata/diff_project_name/terragrunt-multi/prod) Amount: +$280 ($467 → $748) Percent: +60% ────────────────────────────────── Project: my terragrunt prod project -Module path: terragrunt/prod +Module path: testdata/diff_project_name/terragrunt/prod ~ aws_instance.web_app -$561 ($1,308 → $748) @@ -107,13 +107,13 @@ Module path: terragrunt/prod ~ Instance usage (Linux/UNIX, on-demand, m5.8xlarge → m5.4xlarge) -$561 ($1,121 → $561) -Monthly cost change for my terragrunt prod project (Module path: terragrunt/prod) +Monthly cost change for my terragrunt prod project (Module path: testdata/diff_project_name/terragrunt/prod) Amount: -$561 ($1,308 → $748) Percent: -43% ────────────────────────────────── Project: my terragrunt workspace -Module path: terragrunt-multi/dev +Module path: testdata/diff_project_name/terragrunt-multi/dev Workspace: ws2 ~ aws_instance.web_app @@ -122,13 +122,13 @@ Workspace: ws2 ~ Instance usage (Linux/UNIX, on-demand, t3.micro → t2.micro) +$0.88 ($8 → $8) -Monthly cost change for my terragrunt workspace (Module path: terragrunt-multi/dev, Workspace: ws2) +Monthly cost change for my terragrunt workspace (Module path: testdata/diff_project_name/terragrunt-multi/dev, Workspace: ws2) Amount: +$0.88 ($51 → $52) Percent: +2% ────────────────────────────────── Project: my terragrunt workspace -Module path: terragrunt-multi/prod +Module path: testdata/diff_project_name/terragrunt-multi/prod Workspace: ws2 + aws_instance.web_app @@ -165,12 +165,12 @@ Workspace: ws2 Monthly cost depends on usage +$0.0000166667 per GB-seconds -Monthly cost change for my terragrunt workspace (Module path: terragrunt-multi/prod, Workspace: ws2) +Monthly cost change for my terragrunt workspace (Module path: testdata/diff_project_name/terragrunt-multi/prod, Workspace: ws2) Amount: +$748 ($0.00 → $748) ────────────────────────────────── Project: my workspace project -Module path: terraform +Module path: testdata/diff_project_name/terraform Workspace: ws1 ~ aws_instance.web_app @@ -179,7 +179,7 @@ Workspace: ws1 ~ Instance usage (Linux/UNIX, on-demand, m5.4xlarge → m5.xlarge) -$420 ($561 → $140) -Monthly cost change for my workspace project (Module path: terraform, Workspace: ws1) +Monthly cost change for my workspace project (Module path: testdata/diff_project_name/terraform, Workspace: ws1) Amount: -$420 ($743 → $322) Percent: -57% diff --git a/cmd/infracost/testdata/diff_project_name/prior.json b/cmd/infracost/testdata/diff_project_name/prior.json index a7eba884bdd..a30d0dc3a84 100644 --- a/cmd/infracost/testdata/diff_project_name/prior.json +++ b/cmd/infracost/testdata/diff_project_name/prior.json @@ -17,7 +17,7 @@ "metadata": { "path": "./testdata/diff_project_name/terraform", "type": "terraform_dir", - "terraformModulePath": "terraform", + "terraformModulePath": "testdata/diff_project_name/terraform", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terraform", "vcsCodeChanged": false, "providers": [ @@ -303,7 +303,7 @@ "metadata": { "path": "./testdata/diff_project_name/terraform", "type": "terraform_dir", - "terraformModulePath": "terraform", + "terraformModulePath": "testdata/diff_project_name/terraform", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terraform", "vcsCodeChanged": false, "providers": [ @@ -589,7 +589,7 @@ "metadata": { "path": "testdata/diff_project_name/terragrunt-multi/dev", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt-multi/dev", + "terraformModulePath": "testdata/diff_project_name/terragrunt-multi/dev", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terragrunt-multi/dev", "warnings": [ { @@ -629,7 +629,7 @@ "metadata": { "path": "testdata/diff_project_name/terragrunt-multi/prod", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt-multi/prod", + "terraformModulePath": "testdata/diff_project_name/terragrunt-multi/prod", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terragrunt-multi/prod" }, "pastBreakdown": { @@ -906,7 +906,7 @@ "metadata": { "path": "testdata/diff_project_name/terragrunt/prod", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt/prod", + "terraformModulePath": "testdata/diff_project_name/terragrunt/prod", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terragrunt/prod" }, "pastBreakdown": { @@ -1183,7 +1183,7 @@ "metadata": { "path": "testdata/diff_project_name/terragrunt/dev", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt/dev", + "terraformModulePath": "testdata/diff_project_name/terragrunt/dev", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terragrunt/dev" }, "pastBreakdown": { @@ -1460,7 +1460,7 @@ "metadata": { "path": "./testdata/diff_project_name/terraform", "type": "terraform_dir", - "terraformModulePath": "terraform", + "terraformModulePath": "testdata/diff_project_name/terraform", "terraformWorkspace": "ws1", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terraform", "vcsCodeChanged": false, @@ -1747,7 +1747,7 @@ "metadata": { "path": "testdata/diff_project_name/terragrunt-multi/dev", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt-multi/dev", + "terraformModulePath": "testdata/diff_project_name/terragrunt-multi/dev", "terraformWorkspace": "ws2", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terragrunt-multi/dev" }, @@ -2043,7 +2043,7 @@ "metadata": { "path": "testdata/diff_project_name/terragrunt-multi/prod", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt-multi/prod", + "terraformModulePath": "testdata/diff_project_name/terragrunt-multi/prod", "terraformWorkspace": "ws2", "vcsSubPath": "cmd/infracost/testdata/diff_project_name/terragrunt-multi/prod", "warnings": [ @@ -2096,4 +2096,4 @@ "unsupportedResourceCounts": {}, "noPriceResourceCounts": {} } -} \ No newline at end of file +} diff --git a/cmd/infracost/testdata/diff_project_name_no_change/prior.json b/cmd/infracost/testdata/diff_project_name_no_change/prior.json index ede66f62430..64096761d22 100644 --- a/cmd/infracost/testdata/diff_project_name_no_change/prior.json +++ b/cmd/infracost/testdata/diff_project_name_no_change/prior.json @@ -17,7 +17,7 @@ "metadata": { "path": "./testdata/diff_project_name_no_change/terraform", "type": "terraform_dir", - "terraformModulePath": "terraform", + "terraformModulePath": "testdata/diff_project_name_no_change/terraform", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terraform", "vcsCodeChanged": false, "providers": [ @@ -303,7 +303,7 @@ "metadata": { "path": "./testdata/diff_project_name_no_change/terraform", "type": "terraform_dir", - "terraformModulePath": "terraform", + "terraformModulePath": "testdata/diff_project_name_no_change/terraform", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terraform", "vcsCodeChanged": false, "providers": [ @@ -589,7 +589,7 @@ "metadata": { "path": "testdata/diff_project_name_no_change/terragrunt-multi/dev", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt-multi/dev", + "terraformModulePath": "testdata/diff_project_name_no_change/terragrunt-multi/dev", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terragrunt-multi/dev" }, "pastBreakdown": { @@ -866,7 +866,7 @@ "metadata": { "path": "testdata/diff_project_name_no_change/terragrunt-multi/prod", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt-multi/prod", + "terraformModulePath": "testdata/diff_project_name_no_change/terragrunt-multi/prod", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terragrunt-multi/prod" }, "pastBreakdown": { @@ -1143,7 +1143,7 @@ "metadata": { "path": "testdata/diff_project_name_no_change/terragrunt/prod", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt/prod", + "terraformModulePath": "testdata/diff_project_name_no_change/terragrunt/prod", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terragrunt/prod" }, "pastBreakdown": { @@ -1420,7 +1420,7 @@ "metadata": { "path": "testdata/diff_project_name_no_change/terragrunt/dev", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt/dev", + "terraformModulePath": "testdata/diff_project_name_no_change/terragrunt/dev", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terragrunt/dev" }, "pastBreakdown": { @@ -1697,7 +1697,7 @@ "metadata": { "path": "./testdata/diff_project_name_no_change/terraform", "type": "terraform_dir", - "terraformModulePath": "terraform", + "terraformModulePath": "testdata/diff_project_name_no_change/terraform", "terraformWorkspace": "ws1", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terraform", "vcsCodeChanged": false, @@ -1984,7 +1984,7 @@ "metadata": { "path": "testdata/diff_project_name_no_change/terragrunt-multi/dev", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt-multi/dev", + "terraformModulePath": "testdata/diff_project_name_no_change/terragrunt-multi/dev", "terraformWorkspace": "ws2", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terragrunt-multi/dev" }, @@ -2262,7 +2262,7 @@ "metadata": { "path": "testdata/diff_project_name_no_change/terragrunt-multi/prod", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt-multi/prod", + "terraformModulePath": "testdata/diff_project_name_no_change/terragrunt-multi/prod", "terraformWorkspace": "ws2", "vcsSubPath": "cmd/infracost/testdata/diff_project_name_no_change/terragrunt-multi/prod" }, @@ -2552,4 +2552,4 @@ "unsupportedResourceCounts": {}, "noPriceResourceCounts": {} } -} \ No newline at end of file +} diff --git a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden index 0bd6f359d4a..2a2812c7d16 100644 --- a/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden +++ b/cmd/infracost/testdata/diff_terraform_directory/diff_terraform_directory.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: infracost/infracost/examples/terraform +Project: main + aws_instance.web_app +$743 diff --git a/cmd/infracost/testdata/diff_terragrunt_syntax_error/baseline.withouterror.json b/cmd/infracost/testdata/diff_terragrunt_syntax_error/baseline.withouterror.json index 994b70a7346..5654b0d4d23 100644 --- a/cmd/infracost/testdata/diff_terragrunt_syntax_error/baseline.withouterror.json +++ b/cmd/infracost/testdata/diff_terragrunt_syntax_error/baseline.withouterror.json @@ -18,7 +18,7 @@ "metadata": { "path": "testdata/diff_terragrunt_syntax_error/terragrunt/dev", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt/dev", + "terraformModulePath": "testdata/diff_terragrunt_syntax_error/terragrunt/dev", "vcsSubPath": "cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/dev" }, "pastBreakdown": { @@ -310,7 +310,7 @@ "metadata": { "path": "testdata/diff_terragrunt_syntax_error/terragrunt/prod", "type": "terragrunt_dir", - "terraformModulePath": "terragrunt/prod", + "terraformModulePath": "testdata/diff_terragrunt_syntax_error/terragrunt/prod", "vcsSubPath": "cmd/infracost/testdata/diff_terragrunt_syntax_error/terragrunt/prod" }, "pastBreakdown": { diff --git a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden index ebfd902c22d..422ceb02ed9 100644 --- a/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_compare_to/diff_with_compare_to.golden @@ -1,7 +1,7 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_with_compare_to +Project: main ~ aws_instance.web_app +$561 ($743 → $1,303) diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden index 2081fa0d7d9..f11acaf8930 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_format_json", + "displayName": "main", "metadata": { "path": "testdata/diff_with_compare_to_format_json", "type": "terraform_cli", @@ -40,7 +41,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -57,7 +59,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -74,7 +77,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -83,7 +87,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -102,7 +107,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -119,7 +125,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -136,7 +143,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -145,7 +153,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -173,7 +182,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -190,7 +200,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -207,7 +218,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -216,7 +228,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -245,7 +258,8 @@ "monthlyQuantity": "0", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ] }, @@ -263,7 +277,8 @@ "monthlyQuantity": "-730", "price": "-1.536", "hourlyCost": "-1.536", - "monthlyCost": "-1121.28" + "monthlyCost": "-1121.28", + "priceNotFound": false } ], "subresources": [ @@ -281,7 +296,8 @@ "monthlyQuantity": "-50", "price": "-0.1", "hourlyCost": "-0.00684931506849315", - "monthlyCost": "-5" + "monthlyCost": "-5", + "priceNotFound": false } ] }, @@ -299,7 +315,8 @@ "monthlyQuantity": "-1000", "price": "-0.125", "hourlyCost": "-0.1712328767123287625", - "monthlyCost": "-125" + "monthlyCost": "-125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -308,7 +325,8 @@ "monthlyQuantity": "-800", "price": "-0.065", "hourlyCost": "-0.0712328767123287665", - "monthlyCost": "-52" + "monthlyCost": "-52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden index 7e2ee9a4c56..d7c2236fd70 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_format_json", + "displayName": "main", "metadata": { "path": "testdata/diff_with_compare_to_format_json", "type": "terraform_dir", @@ -42,7 +43,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -59,7 +61,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -76,7 +79,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -85,7 +89,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -104,7 +109,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -121,7 +127,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -138,7 +145,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -147,7 +155,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -188,7 +197,8 @@ "monthlyQuantity": "730", "price": "1.536", "hourlyCost": "1.536", - "monthlyCost": "1121.28" + "monthlyCost": "1121.28", + "priceNotFound": false } ], "subresources": [ @@ -205,7 +215,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -222,7 +233,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -231,7 +243,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -260,7 +273,8 @@ "monthlyQuantity": "0", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ] }, @@ -278,7 +292,8 @@ "monthlyQuantity": "-730", "price": "-1.536", "hourlyCost": "-1.536", - "monthlyCost": "-1121.28" + "monthlyCost": "-1121.28", + "priceNotFound": false } ], "subresources": [ @@ -296,7 +311,8 @@ "monthlyQuantity": "-50", "price": "-0.1", "hourlyCost": "-0.00684931506849315", - "monthlyCost": "-5" + "monthlyCost": "-5", + "priceNotFound": false } ] }, @@ -314,7 +330,8 @@ "monthlyQuantity": "-1000", "price": "-0.125", "hourlyCost": "-0.1712328767123287625", - "monthlyCost": "-125" + "monthlyCost": "-125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -323,7 +340,8 @@ "monthlyQuantity": "-800", "price": "-0.065", "hourlyCost": "-0.0712328767123287665", - "monthlyCost": "-52" + "monthlyCost": "-52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden index c874ed57e8e..cca84d14dfe 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/dev", + "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_current_and_past_project_error/dev", "type": "terraform_dir", @@ -64,6 +65,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/prod", + "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_current_and_past_project_error/prod", "type": "terraform_dir", @@ -102,7 +104,8 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32" + "monthlyCost": "280.32", + "priceNotFound": false } ], "subresources": [ @@ -119,7 +122,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -136,7 +140,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -145,7 +150,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -186,7 +192,8 @@ "monthlyQuantity": "730", "price": "0.384", "hourlyCost": "0.384", - "monthlyCost": "280.32" + "monthlyCost": "280.32", + "priceNotFound": false } ], "subresources": [ @@ -203,7 +210,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -220,7 +228,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -229,7 +238,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden index ebe3c631322..484e5d31c84 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/dev", + "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_current_project_error/dev", "type": "terraform_dir", @@ -58,6 +59,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/prod", + "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_current_project_error/prod", "type": "terraform_dir", @@ -96,7 +98,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -113,7 +116,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -130,7 +134,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -139,7 +144,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -180,7 +186,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -197,7 +204,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -214,7 +222,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -223,7 +232,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden index 4924779ddc2..afbbe5a03e5 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/dev", + "displayName": "dev", "metadata": { "path": "testdata/diff_with_compare_to_with_past_project_error/dev", "type": "terraform_dir", @@ -56,6 +57,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/prod", + "displayName": "prod", "metadata": { "path": "testdata/diff_with_compare_to_with_past_project_error/prod", "type": "terraform_dir", @@ -94,7 +96,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -111,7 +114,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -128,7 +132,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -137,7 +142,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -178,7 +184,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -195,7 +202,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -212,7 +220,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -221,7 +230,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden index b685256e698..206ebe3f582 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to/diff_with_config_file_compare_to.golden @@ -1,8 +1,8 @@ Key: * usage cost, ~ changed, + added, - removed ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/dev -Module path: dev +Project: testdata-diff_with_config_file_compare_to-dev +Module path: testdata/diff_with_config_file_compare_to/dev ~ aws_instance.web_app -$210 ($462 → $252) @@ -10,13 +10,13 @@ Module path: dev ~ Instance usage (Linux/UNIX, on-demand, m5.2xlarge → m5.large) -$210 ($280 → $70) -Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/dev (Module path: dev) +Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/dev (Module path: testdata/diff_with_config_file_compare_to/dev) Amount: -$210 ($462 → $252) Percent: -45% ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/prod -Module path: prod +Project: testdata-diff_with_config_file_compare_to-prod +Module path: testdata/diff_with_config_file_compare_to/prod ~ aws_instance.web_app +$561 ($743 → $1,303) @@ -24,7 +24,7 @@ Module path: prod ~ Instance usage (Linux/UNIX, on-demand, m5.4xlarge → m5.8xlarge) +$561 ($561 → $1,121) -Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/prod (Module path: prod) +Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to/prod (Module path: testdata/diff_with_config_file_compare_to/prod) Amount: +$561 ($743 → $1,303) Percent: +75% diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to/prior.json b/cmd/infracost/testdata/diff_with_config_file_compare_to/prior.json index 74e4f6095c8..b4ec3a9cc8d 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to/prior.json +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to/prior.json @@ -9,7 +9,7 @@ "type": "terraform_dir", "vcsRepositoryUrl": "git@github.com:infracost/infracost.git", "vcsSubPath": "cmd/infracost/testdata/diff_with_config_file_compare_to/dev", - "terraformModulePath": "dev", + "terraformModulePath": "testdata/diff_with_config_file_compare_to/dev", "terraformWorkspace": "default" }, "pastBreakdown": { @@ -170,7 +170,7 @@ "type": "terraform_dir", "vcsRepositoryUrl": "git@github.com:infracost/infracost.git", "vcsSubPath": "cmd/infracost/testdata/diff_with_config_file_compare_to/prod", - "terraformModulePath": "prod", + "terraformModulePath": "testdata/diff_with_config_file_compare_to/prod", "terraformWorkspace": "default" }, "pastBreakdown": { diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden index b28c34dac86..f9897a5b8eb 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/diff_with_config_file_compare_to_deleted_project.golden @@ -27,8 +27,8 @@ Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_con Amount: -$462 ($462 → $0.00) ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prod -Module path: prod +Project: testdata-diff_with_config_file_compare_to_deleted_project-prod +Module path: testdata/diff_with_config_file_compare_to_deleted_project/prod ~ aws_instance.web_app +$561 ($743 → $1,303) @@ -36,7 +36,7 @@ Module path: prod ~ Instance usage (Linux/UNIX, on-demand, m5.4xlarge → m5.8xlarge) +$561 ($561 → $1,121) -Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prod (Module path: prod) +Monthly cost change for infracost/infracost/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prod (Module path: testdata/diff_with_config_file_compare_to_deleted_project/prod) Amount: +$561 ($743 → $1,303) Percent: +75% diff --git a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prior.json b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prior.json index 6cff06958c4..648eba19708 100644 --- a/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prior.json +++ b/cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prior.json @@ -170,7 +170,7 @@ "type": "terraform_dir", "vcsRepositoryUrl": "git@github.com:infracost/infracost.git", "vcsSubPath": "cmd/infracost/testdata/diff_with_config_file_compare_to_deleted_project/prod", - "terraformModulePath": "prod", + "terraformModulePath": "testdata/diff_with_config_file_compare_to_deleted_project/prod", "terraformWorkspace": "default" }, "pastBreakdown": { diff --git a/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden b/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden index dc738266a97..4e7305b7a09 100644 --- a/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden +++ b/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_free_resources_checksum", + "displayName": "main", "metadata": { "path": "testdata/diff_with_free_resources_checksum", "type": "terraform_dir", @@ -55,7 +56,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -72,7 +74,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -89,7 +92,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -98,7 +102,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -158,7 +163,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -175,7 +181,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -192,7 +199,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -201,7 +209,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden b/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden index d9218689a70..0d5639fb704 100644 --- a/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden +++ b/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata/diff_with_policy_data_upload", + "displayName": "main", "metadata": { "path": "testdata/diff_with_policy_data_upload", "type": "terraform_dir", @@ -68,7 +69,8 @@ "monthlyQuantity": "730", "price": "0.192", "hourlyCost": "0.192", - "monthlyCost": "140.16" + "monthlyCost": "140.16", + "priceNotFound": false } ], "subresources": [ @@ -85,7 +87,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -102,7 +105,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -149,7 +153,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -166,7 +171,8 @@ "monthlyQuantity": "51", "price": "0.1", "hourlyCost": "0.00698630136986301", - "monthlyCost": "5.1" + "monthlyCost": "5.1", + "priceNotFound": false } ] }, @@ -183,7 +189,8 @@ "monthlyQuantity": "1000", "price": "0.1", "hourlyCost": "0.13698630136986301", - "monthlyCost": "100" + "monthlyCost": "100", + "priceNotFound": false } ] } @@ -217,7 +224,8 @@ "monthlyQuantity": "0", "price": "0.576", "hourlyCost": "0.576", - "monthlyCost": "420.48" + "monthlyCost": "420.48", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden index 1662ccf56ee..b67a96fce0b 100644 --- a/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden +++ b/cmd/infracost/testdata/flag_errors_config_file_and_terraform_workspace_env/flag_errors_config_file_and_terraform_workspace_env.golden @@ -1,5 +1,5 @@ -Project: infracost/infracost/examples/terraform -Module path: ../../../examples/terraform +Project: ..-..-examples-terraform-dev +Module path: ../../examples/terraform Workspace: dev Name Monthly Qty Unit Monthly Cost @@ -28,7 +28,7 @@ Workspace: dev ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ ..-..-examples-terraform-dev ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden index ceda1a63654..65c51745cdd 100644 --- a/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden +++ b/cmd/infracost/testdata/flag_errors_terraform_workspace_flag_and_env/flag_errors_terraform_workspace_flag_and_env.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/examples/terraform +Project: main-prod Workspace: prod Name Monthly Qty Unit Monthly Cost @@ -27,7 +27,7 @@ Workspace: prod ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/examples/terraform ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ main-prod ┃ $743 ┃ $0.00 ┃ $743 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/generate/force_project_type/expected.golden b/cmd/infracost/testdata/generate/force_project_type/expected.golden index 05074bde438..b8ed185d599 100644 --- a/cmd/infracost/testdata/generate/force_project_type/expected.golden +++ b/cmd/infracost/testdata/generate/force_project_type/expected.golden @@ -12,4 +12,5 @@ projects: - prod.tfvars skip_autodetect: true - path: nondup + name: nondup diff --git a/cmd/infracost/testdata/generate/terragrunt/expected.golden b/cmd/infracost/testdata/generate/terragrunt/expected.golden index 15b2e33e6a2..16efd191a97 100644 --- a/cmd/infracost/testdata/generate/terragrunt/expected.golden +++ b/cmd/infracost/testdata/generate/terragrunt/expected.golden @@ -2,6 +2,9 @@ version: 0.1 projects: - path: apps/bar + name: apps-bar - path: apps/baz/bip + name: apps-baz-bip - path: apps/foo + name: apps-foo diff --git a/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden b/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden index bb14cc89a73..2601b695e62 100644 --- a/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden +++ b/cmd/infracost/testdata/generate/terragrunt_and_terraform_mixed/expected.golden @@ -2,7 +2,9 @@ version: 0.1 projects: - path: apps/bar + name: apps-bar - path: apps/baz/bip + name: apps-baz-bip - path: apps/fez name: apps-fez-dev terraform_var_files: @@ -14,4 +16,5 @@ projects: - ../envs/prod.tfvars skip_autodetect: true - path: apps/foo + name: apps-foo diff --git a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden index d50e0820e3c..8a9e5991ba2 100644 --- a/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden +++ b/cmd/infracost/testdata/hcllocal_object_mock/hcllocal_object_mock.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock +Project: main Name Monthly Qty Unit Monthly Cost @@ -15,11 +15,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hcllocal_object_mock ┃ $74 ┃ $0.00 ┃ $74 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden index 831d9b408ef..a1a1a73106a 100644 --- a/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden +++ b/cmd/infracost/testdata/hclmodule_count/hclmodule_count.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_count +Project: main Name Monthly Qty Unit Monthly Cost @@ -26,11 +26,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_count 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmodule_count ┃ $933 ┃ $0.00 ┃ $933 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $933 ┃ $0.00 ┃ $933 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden index 0cbba79bde7..a1a1a73106a 100644 --- a/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden +++ b/cmd/infracost/testdata/hclmodule_for_each/hclmodule_for_each.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_for_each +Project: main Name Monthly Qty Unit Monthly Cost @@ -26,11 +26,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_for_each 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmodule_for_each ┃ $933 ┃ $0.00 ┃ $933 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $933 ┃ $0.00 ┃ $933 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden index 90bd0a403d4..3dea76a23c8 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts/hclmodule_output_counts.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts +Project: main Name Monthly Qty Unit Monthly Cost @@ -9,11 +9,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...stdata/hclmodule_output_counts ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden index d2b41ebafc7..3dea76a23c8 100644 --- a/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden +++ b/cmd/infracost/testdata/hclmodule_output_counts_nested/hclmodule_output_counts_nested.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts_nested +Project: main Name Monthly Qty Unit Monthly Cost @@ -9,11 +9,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_output_counts_nest ────────────────────────────────── No cloud resources were detected -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...hclmodule_output_counts_nested ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden index 699d160972c..ae59f26bada 100644 --- a/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden +++ b/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change/hclmodule_reevaluated_on_input_change.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_reevaluated_on_input_change +Project: main Name Monthly Qty Unit Monthly Cost @@ -18,11 +18,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_reevaluated_on_inp 1 cloud resource was detected: ∙ 1 was estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...le_reevaluated_on_input_change ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden index 310ef7e4f54..9e3a70ca97a 100644 --- a/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden +++ b/cmd/infracost/testdata/hclmodule_relative_filesets/hclmodule_relative_filesets.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmodule_relative_filesets +Project: main Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmodule_relative_filesets ∙ 3 were estimated ∙ 3 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ta/hclmodule_relative_filesets ┃ $206 ┃ $0.00 ┃ $206 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $206 ┃ $0.00 ┃ $206 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden index 4d657c46b5f..7a269286f58 100644 --- a/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden +++ b/cmd/infracost/testdata/hclmulti_project_infra/hclmulti_project_infra.hcl.golden @@ -1,5 +1,5 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_project_infra/dev -Module path: dev +Project: testdata-hclmulti_project_infra-dev +Module path: testdata/hclmulti_project_infra/dev Name Monthly Qty Unit Monthly Cost @@ -52,8 +52,8 @@ Module path: dev Project total $112.35 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_project_infra/prod -Module path: prod +Project: testdata-hclmulti_project_infra-prod +Module path: testdata/hclmulti_project_infra/prod Name Monthly Qty Unit Monthly Cost @@ -114,12 +114,12 @@ Module path: prod ∙ 14 were estimated ∙ 38 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infraco...ata/hclmulti_project_infra/dev ┃ $112 ┃ $0.00 ┃ $112 ┃ -┃ infracost/infracost/cmd/infraco...ta/hclmulti_project_infra/prod ┃ $152 ┃ $0.00 ┃ $152 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ testdata-hclmulti_project_infra-dev ┃ $112 ┃ $0.00 ┃ $112 ┃ +┃ testdata-hclmulti_project_infra-prod ┃ $152 ┃ $0.00 ┃ $152 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden index 1e33be8297a..6f94dbd5a6c 100644 --- a/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden +++ b/cmd/infracost/testdata/hclmulti_var_files/hclmulti_var_files.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_var_files +Project: main Name Monthly Qty Unit Monthly Cost @@ -23,11 +23,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclmulti_var_files 2 cloud resources were detected: ∙ 2 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_var_files ┃ $1,836 ┃ $0.00 ┃ $1,836 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $1,836 ┃ $0.00 ┃ $1,836 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden index 37ceb41d1e8..1ecef2cce6a 100644 --- a/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden +++ b/cmd/infracost/testdata/hclmulti_workspace/hclmulti_workspace.golden @@ -1,4 +1,5 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_workspace +Project: testdata-hclmulti_workspace-blue +Module path: testdata/hclmulti_workspace Workspace: blue Name Monthly Qty Unit Monthly Cost @@ -19,7 +20,8 @@ Workspace: blue Project total $742.64 ────────────────────────────────── -Project: infracost/infracost/cmd/infracost/testdata/hclmulti_workspace +Project: testdata-hclmulti_workspace-yellow +Module path: testdata/hclmulti_workspace Workspace: yellow Name Monthly Qty Unit Monthly Cost @@ -47,12 +49,12 @@ Workspace: yellow 4 cloud resources were detected: ∙ 4 were estimated -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ $0.00 ┃ $743 ┃ -┃ infracost/infracost/cmd/infracost/testdata/hclmulti_workspace ┃ $743 ┃ $0.00 ┃ $743 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ testdata-hclmulti_workspace-blue ┃ $743 ┃ $0.00 ┃ $743 ┃ +┃ testdata-hclmulti_workspace-yellow ┃ $743 ┃ $0.00 ┃ $743 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden index 7a7a5c5d5dd..19a5a9a5a7b 100644 --- a/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden +++ b/cmd/infracost/testdata/hclprovider_alias/hclprovider_alias.golden @@ -1,4 +1,4 @@ -Project: infracost/infracost/cmd/infracost/testdata/hclprovider_alias +Project: main Name Monthly Qty Unit Monthly Cost @@ -19,11 +19,11 @@ Project: infracost/infracost/cmd/infracost/testdata/hclprovider_alias ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ infracost/infracost/cmd/infracost/testdata/hclprovider_alias ┃ $101 ┃ $0.00 ┃ $101 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $101 ┃ $0.00 ┃ $101 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Err: diff --git a/cmd/infracost/testdata/output_format_json/output_format_json.golden b/cmd/infracost/testdata/output_format_json/output_format_json.golden index b2f7e5447be..24113241922 100644 --- a/cmd/infracost/testdata/output_format_json/output_format_json.golden +++ b/cmd/infracost/testdata/output_format_json/output_format_json.golden @@ -14,6 +14,7 @@ "projects": [ { "name": "infracost/infracost/cmd/infracost/testdata", + "displayName": "", "metadata": { "path": "./cmd/infracost/testdata/", "type": "terraform_dir", @@ -42,7 +43,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -60,7 +62,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -78,7 +81,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -87,7 +91,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -107,7 +112,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -125,7 +131,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -143,7 +150,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -152,7 +160,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -172,7 +181,8 @@ "monthlyQuantity": "100", "price": "0.2", "hourlyCost": "0.02739726027397260273972", - "monthlyCost": "20" + "monthlyCost": "20", + "priceNotFound": false }, { "name": "Duration", @@ -181,7 +191,8 @@ "monthlyQuantity": "25000000", "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", - "monthlyCost": "416.6675" + "monthlyCost": "416.6675", + "priceNotFound": false } ] }, @@ -199,7 +210,8 @@ "monthlyQuantity": "0", "price": "0.2", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration", @@ -208,7 +220,8 @@ "monthlyQuantity": "0", "price": "0.0000166667", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -233,7 +246,8 @@ "monthlyQuantity": "0", "price": "0.023", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -242,7 +256,8 @@ "monthlyQuantity": "0", "price": "0.005", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -251,7 +266,8 @@ "monthlyQuantity": "0", "price": "0.0004", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Select data scanned", @@ -260,7 +276,8 @@ "monthlyQuantity": "0", "price": "0.002", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Select data returned", @@ -269,7 +286,8 @@ "monthlyQuantity": "0", "price": "0.0007", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] } @@ -296,7 +314,8 @@ "monthlyQuantity": "730", "price": "0.768", "hourlyCost": "0.768", - "monthlyCost": "560.64" + "monthlyCost": "560.64", + "priceNotFound": false } ], "subresources": [ @@ -314,7 +333,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -332,7 +352,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -341,7 +362,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -361,7 +383,8 @@ "monthlyQuantity": "730", "price": "0", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ], "subresources": [ @@ -379,7 +402,8 @@ "monthlyQuantity": "50", "price": "0.1", "hourlyCost": "0.00684931506849315", - "monthlyCost": "5" + "monthlyCost": "5", + "priceNotFound": false } ] }, @@ -397,7 +421,8 @@ "monthlyQuantity": "1000", "price": "0.125", "hourlyCost": "0.1712328767123287625", - "monthlyCost": "125" + "monthlyCost": "125", + "priceNotFound": false }, { "name": "Provisioned IOPS", @@ -406,7 +431,8 @@ "monthlyQuantity": "800", "price": "0.065", "hourlyCost": "0.0712328767123287665", - "monthlyCost": "52" + "monthlyCost": "52", + "priceNotFound": false } ] } @@ -426,7 +452,8 @@ "monthlyQuantity": "100", "price": "0.2", "hourlyCost": "0.02739726027397260273972", - "monthlyCost": "20" + "monthlyCost": "20", + "priceNotFound": false }, { "name": "Duration", @@ -435,7 +462,8 @@ "monthlyQuantity": "25000000", "price": "0.0000166667", "hourlyCost": "0.57077739726027397260344749", - "monthlyCost": "416.6675" + "monthlyCost": "416.6675", + "priceNotFound": false } ] }, @@ -453,7 +481,8 @@ "monthlyQuantity": "0", "price": "0.2", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Duration", @@ -462,7 +491,8 @@ "monthlyQuantity": "0", "price": "0.0000166667", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -487,7 +517,8 @@ "monthlyQuantity": "0", "price": "0.023", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "PUT, COPY, POST, LIST requests", @@ -496,7 +527,8 @@ "monthlyQuantity": "0", "price": "0.005", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "GET, SELECT, and all other requests", @@ -505,7 +537,8 @@ "monthlyQuantity": "0", "price": "0.0004", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Select data scanned", @@ -514,7 +547,8 @@ "monthlyQuantity": "0", "price": "0.002", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false }, { "name": "Select data returned", @@ -523,7 +557,8 @@ "monthlyQuantity": "0", "price": "0.0007", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] } @@ -540,6 +575,7 @@ }, { "name": "infracost/infracost/cmd/infracost/testdata/azure_firewall_plan.json", + "displayName": "", "metadata": { "path": "./cmd/infracost/testdata/azure_firewall_plan.json", "type": "terraform_plan_json", @@ -567,7 +603,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -576,7 +613,8 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -594,7 +632,8 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75" + "monthlyCost": "638.75", + "priceNotFound": false }, { "name": "Data processed", @@ -603,7 +642,8 @@ "monthlyQuantity": null, "price": "0.008", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -621,7 +661,8 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75" + "monthlyCost": "638.75", + "priceNotFound": false }, { "name": "Data processed", @@ -630,7 +671,8 @@ "monthlyQuantity": null, "price": "0.008", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -648,7 +690,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -657,7 +700,8 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -675,7 +719,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -684,7 +729,8 @@ "monthlyQuantity": null, "price": "0.016", "hourlyCost": null, - "monthlyCost": null + "monthlyCost": null, + "priceNotFound": false } ] }, @@ -702,7 +748,8 @@ "monthlyQuantity": "730", "price": "0.005", "hourlyCost": "0.005", - "monthlyCost": "3.65" + "monthlyCost": "3.65", + "priceNotFound": false } ] } @@ -727,7 +774,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -736,7 +784,8 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -754,7 +803,8 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75" + "monthlyCost": "638.75", + "priceNotFound": false }, { "name": "Data processed", @@ -763,7 +813,8 @@ "monthlyQuantity": "0", "price": "0.008", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -781,7 +832,8 @@ "monthlyQuantity": "730", "price": "0.875", "hourlyCost": "0.875", - "monthlyCost": "638.75" + "monthlyCost": "638.75", + "priceNotFound": false }, { "name": "Data processed", @@ -790,7 +842,8 @@ "monthlyQuantity": "0", "price": "0.008", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -808,7 +861,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -817,7 +871,8 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -835,7 +890,8 @@ "monthlyQuantity": "730", "price": "1.25", "hourlyCost": "1.25", - "monthlyCost": "912.5" + "monthlyCost": "912.5", + "priceNotFound": false }, { "name": "Data processed", @@ -844,7 +900,8 @@ "monthlyQuantity": "0", "price": "0.016", "hourlyCost": "0", - "monthlyCost": "0" + "monthlyCost": "0", + "priceNotFound": false } ] }, @@ -862,7 +919,8 @@ "monthlyQuantity": "730", "price": "0.005", "hourlyCost": "0.005", - "monthlyCost": "3.65" + "monthlyCost": "3.65", + "priceNotFound": false } ] } diff --git a/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden b/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden index 5edc430a747..290962073ba 100644 --- a/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden +++ b/cmd/infracost/testdata/output_terraform_out_file_json/infracost_output.golden @@ -1 +1 @@ -{"version":"0.2","metadata":{"infracostCommand":"output","vcsBranch":"test","vcsCommitSha":"1234","vcsCommitAuthorName":"hugo","vcsCommitAuthorEmail":"hugo@test.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"mymessage","vcsRepositoryUrl":"https://github.com/infracost/infracost.git"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata","metadata":{"path":"./cmd/infracost/testdata/","type":"terraform_dir","terraformWorkspace":"default","vcsSubPath":"cmd/infracost/testdata"},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":null},"breakdown":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675"}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0"}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0"},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0"},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0"}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"diff":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0"}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5"}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125"},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52"}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675"}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0"},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0"}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0"},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0"},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0"},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0"}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"summary":{"unsupportedResourceCounts":{}}}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","pastTotalHourlyCost":null,"pastTotalMonthlyCost":null,"diffTotalHourlyCost":null,"diffTotalMonthlyCost":null,"timeGenerated":"REPLACED_TIME","summary":{"unsupportedResourceCounts":{}}} \ No newline at end of file +{"version":"0.2","metadata":{"infracostCommand":"output","vcsBranch":"test","vcsCommitSha":"1234","vcsCommitAuthorName":"hugo","vcsCommitAuthorEmail":"hugo@test.com","vcsCommitTimestamp":"REPLACED_TIME","vcsCommitMessage":"mymessage","vcsRepositoryUrl":"https://github.com/infracost/infracost.git"},"currency":"USD","projects":[{"name":"infracost/infracost/cmd/infracost/testdata","displayName":"","metadata":{"path":"./cmd/infracost/testdata/","type":"terraform_dir","terraformWorkspace":"default","vcsSubPath":"cmd/infracost/testdata"},"pastBreakdown":{"resources":[],"totalHourlyCost":"0","totalMonthlyCost":"0","totalMonthlyUsageCost":null},"breakdown":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675","priceNotFound":false}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"diff":{"resources":[{"name":"aws_instance.web_app","resourceType":"aws_instance","metadata":{},"hourlyCost":"1.017315068493150679","monthlyCost":"742.64","costComponents":[{"name":"Instance usage (Linux/UNIX, on-demand, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0.768","hourlyCost":"0.768","monthlyCost":"560.64","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_instance.zero_cost_instance","resourceType":"aws_instance","metadata":{},"hourlyCost":"0.249315068493150679","monthlyCost":"182","costComponents":[{"name":"Instance usage (Linux/UNIX, reserved, m5.4xlarge)","unit":"hours","hourlyQuantity":"1","monthlyQuantity":"730","price":"0","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}],"subresources":[{"name":"root_block_device","resourceType":"root_block_device","metadata":{},"hourlyCost":"0.00684931506849315","monthlyCost":"5","costComponents":[{"name":"Storage (general purpose SSD, gp2)","unit":"GB","hourlyQuantity":"0.0684931506849315","monthlyQuantity":"50","price":"0.1","hourlyCost":"0.00684931506849315","monthlyCost":"5","priceNotFound":false}]},{"name":"ebs_block_device[0]","resourceType":"ebs_block_device[0]","metadata":{},"hourlyCost":"0.242465753424657529","monthlyCost":"177","costComponents":[{"name":"Storage (provisioned IOPS SSD, io1)","unit":"GB","hourlyQuantity":"1.3698630136986301","monthlyQuantity":"1000","price":"0.125","hourlyCost":"0.1712328767123287625","monthlyCost":"125","priceNotFound":false},{"name":"Provisioned IOPS","unit":"IOPS","hourlyQuantity":"1.0958904109589041","monthlyQuantity":"800","price":"0.065","hourlyCost":"0.0712328767123287665","monthlyCost":"52","priceNotFound":false}]}]},{"name":"aws_lambda_function.hello_world","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0.59817465753424657534316749","monthlyCost":"436.6675","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0.136986301369863","monthlyQuantity":"100","price":"0.2","hourlyCost":"0.02739726027397260273972","monthlyCost":"20","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"34246.5753424657534247","monthlyQuantity":"25000000","price":"0.0000166667","hourlyCost":"0.57077739726027397260344749","monthlyCost":"416.6675","priceNotFound":false}]},{"name":"aws_lambda_function.zero_cost_lambda","resourceType":"aws_lambda_function","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Requests","unit":"1M requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.2","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Duration","unit":"GB-seconds","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0000166667","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]},{"name":"aws_s3_bucket.usage","resourceType":"aws_s3_bucket","metadata":{},"hourlyCost":"0","monthlyCost":"0","subresources":[{"name":"Standard","resourceType":"Standard","metadata":{},"hourlyCost":"0","monthlyCost":"0","costComponents":[{"name":"Storage","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.023","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"PUT, COPY, POST, LIST requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.005","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"GET, SELECT, and all other requests","unit":"1k requests","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0004","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data scanned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.002","hourlyCost":"0","monthlyCost":"0","priceNotFound":false},{"name":"Select data returned","unit":"GB","hourlyQuantity":"0","monthlyQuantity":"0","price":"0.0007","hourlyCost":"0","monthlyCost":"0","priceNotFound":false}]}]}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","totalMonthlyUsageCost":null},"summary":{"unsupportedResourceCounts":{}}}],"totalHourlyCost":"1.86480479452054793334316749","totalMonthlyCost":"1361.3075","pastTotalHourlyCost":null,"pastTotalMonthlyCost":null,"diffTotalHourlyCost":null,"diffTotalMonthlyCost":null,"timeGenerated":"REPLACED_TIME","summary":{"unsupportedResourceCounts":{}}} \ No newline at end of file diff --git a/cmd/infracost/testdata/register_help_flag/register_help_flag.golden b/cmd/infracost/testdata/register_help_flag/register_help_flag.golden index 4ca505168c7..8fbe78a1724 100644 --- a/cmd/infracost/testdata/register_help_flag/register_help_flag.golden +++ b/cmd/infracost/testdata/register_help_flag/register_help_flag.golden @@ -1,4 +1,4 @@ -Err: -Warning: this command has been changed to infracost auth login, which does the same thing - showing information for that command. +Logs: +WARN this command has been changed to infracost auth login, which does the same thing - showing information for that command. diff --git a/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden b/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden index 7997be2cb62..f9d77f00e17 100644 --- a/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_fin_ops_policy_failure/upload_with_blocking_fin_ops_policy_failure.golden @@ -1,5 +1,5 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 finops policies checked -INF finops policy check failed: should show as failing +INFO Estimate uploaded to Infracost Cloud +INFO 2 finops policies checked +INFO finops policy check failed: should show as failing diff --git a/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden b/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden index cd176cb7de0..976530ffdfd 100644 --- a/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_guardrail_failure/upload_with_blocking_guardrail_failure.golden @@ -1,5 +1,5 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 guardrails checked -INF guardrail check failed: medical problems +INFO Estimate uploaded to Infracost Cloud +INFO 2 guardrails checked +INFO guardrail check failed: medical problems diff --git a/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden b/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden index 34049b7e50a..ce859a2c4d2 100644 --- a/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden +++ b/cmd/infracost/testdata/upload_with_blocking_tag_policy_failure/upload_with_blocking_tag_policy_failure.golden @@ -1,5 +1,5 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 tag policies checked -INF tag policy check failed: should show as failing +INFO Estimate uploaded to Infracost Cloud +INFO 2 tag policies checked +INFO tag policy check failed: should show as failing diff --git a/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden b/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden index d21d209ef3a..447987bf957 100644 --- a/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden +++ b/cmd/infracost/testdata/upload_with_cloud_disabled/upload_with_cloud_disabled.golden @@ -1,3 +1,3 @@ Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden b/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden index d21d209ef3a..447987bf957 100644 --- a/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden +++ b/cmd/infracost/testdata/upload_with_fin_ops_policy_warning/upload_with_fin_ops_policy_warning.golden @@ -1,3 +1,3 @@ Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden b/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden index cd176cb7de0..976530ffdfd 100644 --- a/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden +++ b/cmd/infracost/testdata/upload_with_guardrail_failure/upload_with_guardrail_failure.golden @@ -1,5 +1,5 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 guardrails checked -INF guardrail check failed: medical problems +INFO Estimate uploaded to Infracost Cloud +INFO 2 guardrails checked +INFO guardrail check failed: medical problems diff --git a/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden b/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden index b9d5f882416..9875f03c4d0 100644 --- a/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden +++ b/cmd/infracost/testdata/upload_with_guardrail_success/upload_with_guardrail_success.golden @@ -1,4 +1,4 @@ Logs: -INF Estimate uploaded to Infracost Cloud -INF 2 guardrails checked +INFO Estimate uploaded to Infracost Cloud +INFO 2 guardrails checked diff --git a/cmd/infracost/testdata/upload_with_path/upload_with_path.golden b/cmd/infracost/testdata/upload_with_path/upload_with_path.golden index d21d209ef3a..447987bf957 100644 --- a/cmd/infracost/testdata/upload_with_path/upload_with_path.golden +++ b/cmd/infracost/testdata/upload_with_path/upload_with_path.golden @@ -1,3 +1,3 @@ Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden b/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden index 9a891859e5d..118f1ca5ca2 100644 --- a/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden +++ b/cmd/infracost/testdata/upload_with_path_format_json/upload_with_path_format_json.golden @@ -36,10 +36,10 @@ ] } Logs: -INF Estimate uploaded to Infracost Cloud -INF 1 tag policy checked -INF tag policy check failed: Timtags -INF 48 finops policies checked -INF finops policy check failed: Cloudwatch - consider using a retention policy to reduce storage costs -INF finops policy check failed: EBS - consider upgrading gp2 volumes to gp3 -INF finops policy check failed: S3 - consider using a lifecycle policy to reduce storage costs +INFO Estimate uploaded to Infracost Cloud +INFO 1 tag policy checked +INFO tag policy check failed: Timtags +INFO 48 finops policies checked +INFO finops policy check failed: Cloudwatch - consider using a retention policy to reduce storage costs +INFO finops policy check failed: EBS - consider upgrading gp2 volumes to gp3 +INFO finops policy check failed: S3 - consider using a lifecycle policy to reduce storage costs diff --git a/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden b/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden index 48eeacefe65..a55c97b53f5 100644 --- a/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden +++ b/cmd/infracost/testdata/upload_with_share_link/upload_with_share_link.golden @@ -1,4 +1,4 @@ Share this cost estimate: http://localhost:3000/share/1234 Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden b/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden index d21d209ef3a..447987bf957 100644 --- a/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden +++ b/cmd/infracost/testdata/upload_with_tag_policy_warning/upload_with_tag_policy_warning.golden @@ -1,3 +1,3 @@ Logs: -INF Estimate uploaded to organization 'tim' in Infracost Cloud +INFO Estimate uploaded to organization 'tim' in Infracost Cloud diff --git a/cmd/resourcecheck/main.go b/cmd/resourcecheck/main.go index 30ea31775fd..7d8717677a5 100644 --- a/cmd/resourcecheck/main.go +++ b/cmd/resourcecheck/main.go @@ -4,7 +4,6 @@ import ( "context" "go/parser" "go/token" - "log" "os" "strings" @@ -14,6 +13,8 @@ import ( "github.com/dave/dst" "github.com/dave/dst/decorator" "github.com/slack-go/slack" + + "github.com/infracost/infracost/internal/logging" ) var ( @@ -23,7 +24,7 @@ var ( func main() { cfg, err := config.LoadDefaultConfig(context.Background()) if err != nil { - log.Fatalf("error loading aws config %s", err) + logging.Logger.Fatal().Msgf("error loading aws config %s", err) } svc := ec2.NewFromConfig(cfg) @@ -32,12 +33,12 @@ func main() { AllRegions: aws.Bool(true), }) if err != nil { - log.Fatalf("error describing ec2 regions %s", err) + logging.Logger.Fatal().Msgf("error describing ec2 regions %s", err) } f, err := decorator.ParseFile(token.NewFileSet(), "internal/resources/aws/util.go", nil, parser.ParseComments) if err != nil { - log.Fatalf("error loading aws util file %s", err) + logging.Logger.Fatal().Msgf("error loading aws util file %s", err) } currentRegions := make(map[string]struct{}) @@ -57,7 +58,7 @@ func main() { } if len(currentRegions) == 0 { - log.Fatal("error parsing aws RegionMapping from util.go, empty list found") + logging.Logger.Fatal().Msg("error parsing aws RegionMapping from util.go, empty list found") } notFound := strings.Builder{} @@ -86,6 +87,6 @@ func sendSlackMessage(regions string) { slack.MsgOptionAsUser(true), ) if err != nil { - log.Fatalf("error sending slack notifications %s", err) + logging.Logger.Fatal().Msgf("error sending slack notifications %s", err) } } diff --git a/contributing/add_new_resource_guide.md b/contributing/add_new_resource_guide.md index 66d8acd32ed..4f3369d6cee 100644 --- a/contributing/add_new_resource_guide.md +++ b/contributing/add_new_resource_guide.md @@ -1098,7 +1098,7 @@ The following edge cases can be handled in the resource files: ```go if d.Get("placement_tenancy").String() == "host" { - log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", d.Address) return nil } ``` diff --git a/internal/apiclient/auth.go b/internal/apiclient/auth.go index 1907ad87109..1b54a80a8d1 100644 --- a/internal/apiclient/auth.go +++ b/internal/apiclient/auth.go @@ -9,8 +9,8 @@ import ( "github.com/google/uuid" "github.com/pkg/browser" - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" ) @@ -85,21 +85,21 @@ func (a AuthClient) startCallbackServer(listener net.Listener, generatedState st redirectTo := query.Get("redirect_to") if state != generatedState { - log.Debug().Msg("Invalid state received") + logging.Logger.Debug().Msg("Invalid state received") w.WriteHeader(400) return } u, err := url.Parse(redirectTo) if err != nil { - log.Debug().Msg("Unable to parse redirect_to URL") + logging.Logger.Debug().Msg("Unable to parse redirect_to URL") w.WriteHeader(400) return } origin := fmt.Sprintf("%s://%s", u.Scheme, u.Host) if origin != a.Host { - log.Debug().Msg("Invalid redirect_to URL") + logging.Logger.Debug().Msg("Invalid redirect_to URL") w.WriteHeader(400) return } diff --git a/internal/apiclient/client.go b/internal/apiclient/client.go index da8a4ef1722..55cc47ff975 100644 --- a/internal/apiclient/client.go +++ b/internal/apiclient/client.go @@ -11,7 +11,6 @@ import ( "github.com/google/uuid" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" "github.com/infracost/infracost/internal/logging" @@ -59,7 +58,7 @@ type APIErrorResponse struct { func (c *APIClient) DoQueries(queries []GraphQLQuery) ([]gjson.Result, error) { if len(queries) == 0 { - log.Debug().Msg("Skipping GraphQL request as no queries have been specified") + logging.Logger.Debug().Msg("Skipping GraphQL request as no queries have been specified") return []gjson.Result{}, nil } diff --git a/internal/apiclient/dashboard.go b/internal/apiclient/dashboard.go index 13b65907771..cb783629f9b 100644 --- a/internal/apiclient/dashboard.go +++ b/internal/apiclient/dashboard.go @@ -9,7 +9,6 @@ import ( json "github.com/json-iterator/go" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/logging" @@ -185,11 +184,7 @@ func (c *DashboardAPIClient) AddRun(ctx *config.RunContext, out output.Root, com } successMsg := fmt.Sprintf("Estimate uploaded to %sInfracost Cloud", orgMsg) - if ctx.Config.IsLogging() { - log.Info().Msg(successMsg) - } else { - fmt.Fprintf(ctx.ErrWriter, "%s\n", successMsg) - } + logging.Logger.Info().Msg(successMsg) err = json.Unmarshal([]byte(cloudRun.Raw), &response) if err != nil { @@ -224,11 +219,7 @@ func (c *DashboardAPIClient) AddRun(ctx *config.RunContext, out output.Root, com } func outputGovernanceMessages(ctx *config.RunContext, msg string) { - if ctx.Config.IsLogging() { - log.Info().Msg(msg) - } else { - fmt.Fprintf(ctx.ErrWriter, "%s\n", msg) - } + logging.Logger.Info().Msg(msg) } func (c *DashboardAPIClient) QueryCLISettings() (QueryCLISettingsResponse, error) { diff --git a/internal/apiclient/policy.go b/internal/apiclient/policy.go index 3114eded7a0..0d5e4f76efa 100644 --- a/internal/apiclient/policy.go +++ b/internal/apiclient/policy.go @@ -191,7 +191,7 @@ func filterResource(rd *schema.ResourceData, al allowList) policy2Resource { // make sure the keys in the values json are sorted so we get consistent policyShas valuesJSON, err := jsonSorted.Marshal(filterValues(rd.RawValues, al)) if err != nil { - logging.Logger.Warn().Err(err).Str("address", rd.Address).Msg("Failed to marshal filtered values") + logging.Logger.Debug().Err(err).Str("address", rd.Address).Msg("Failed to marshal filtered values") } references := make([]policy2Reference, 0, len(rd.ReferencesMap)) @@ -261,7 +261,7 @@ func filterValues(rd gjson.Result, allowList map[string]gjson.Result) map[string values[k] = filterValues(v, nestedAllow) } } else { - logging.Logger.Warn().Str("Key", k).Str("Type", allow.Type.String()).Msg("Unknown allow type") + logging.Logger.Debug().Str("Key", k).Str("Type", allow.Type.String()).Msg("Unknown allow type") } } } diff --git a/internal/apiclient/pricing.go b/internal/apiclient/pricing.go index 8ef2f330cd4..03b1e7b2638 100644 --- a/internal/apiclient/pricing.go +++ b/internal/apiclient/pricing.go @@ -20,7 +20,6 @@ import ( "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" ) @@ -55,6 +54,7 @@ type PriceQueryKey struct { type PriceQueryResult struct { PriceQueryKey Result gjson.Result + Query GraphQLQuery filled bool } @@ -111,14 +111,14 @@ func NewPricingAPIClient(ctx *config.RunContext) *PricingAPIClient { caCerts, err := os.ReadFile(ctx.Config.TLSCACertFile) if err != nil { - log.Error().Msgf("Error reading CA cert file %s: %v", ctx.Config.TLSCACertFile, err) + logging.Logger.Error().Msgf("Error reading CA cert file %s: %v", ctx.Config.TLSCACertFile, err) } else { ok := rootCAs.AppendCertsFromPEM(caCerts) if !ok { - log.Warn().Msgf("No CA certs appended, only using system certs") + logging.Logger.Warn().Msgf("No CA certs appended, only using system certs") } else { - log.Debug().Msgf("Loaded CA certs from %s", ctx.Config.TLSCACertFile) + logging.Logger.Debug().Msgf("Loaded CA certs from %s", ctx.Config.TLSCACertFile) } } @@ -317,7 +317,7 @@ type pricingQuery struct { // checking a local cache for previous results. If the results of a given query // are cached, they are used directly; otherwise, a request to the API is made. func (c *PricingAPIClient) PerformRequest(req BatchRequest) ([]PriceQueryResult, error) { - log.Debug().Msgf("Getting pricing details for %d cost components from %s", len(req.queries), c.endpoint) + logging.Logger.Debug().Msgf("Getting pricing details for %d cost components from %s", len(req.queries), c.endpoint) res := make([]PriceQueryResult, len(req.keys)) for i, key := range req.keys { res[i].PriceQueryKey = key @@ -352,6 +352,7 @@ func (c *PricingAPIClient) PerformRequest(req BatchRequest) ([]PriceQueryResult, PriceQueryKey: req.keys[i], Result: v.Result, filled: true, + Query: query.query, } } else { serverQueries = append(serverQueries, query) diff --git a/internal/clierror/error.go b/internal/clierror/error.go index 2696a433a6c..a955f48ee31 100644 --- a/internal/clierror/error.go +++ b/internal/clierror/error.go @@ -9,7 +9,8 @@ import ( "strings" "github.com/maruel/panicparse/v2/stack" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) var goroutineSuffixRegex = regexp.MustCompile(`(goroutine)\s*\d+$`) @@ -70,7 +71,7 @@ func (p *PanicError) SanitizedStack() string { sanitizedStack := p.stack sanitizedStack, err := processStack(sanitizedStack) if err != nil { - log.Debug().Msgf("Could not sanitize stack: %s", err) + logging.Logger.Debug().Msgf("Could not sanitize stack: %s", err) } return string(sanitizedStack) diff --git a/internal/config/config.go b/internal/config/config.go index e7f8cb51489..bf2ae883ee6 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,8 +1,8 @@ package config import ( + "fmt" "io" - "log" "os" "path/filepath" "strings" @@ -182,7 +182,7 @@ type Config struct { func init() { err := loadDotEnv() if err != nil { - log.Fatal(err) + logging.Logger.Fatal().Msg(err.Error()) } } @@ -206,10 +206,17 @@ func DefaultConfig() *Config { } } -// RepoPath returns the filepath to either the config-file location or initial path provided by the user. -func (c *Config) RepoPath() string { +// WorkingDirectory returns the filepath to either the directory specified by the --path +// flag or the directory that the binary has been run from. +func (c *Config) WorkingDirectory() string { if c.ConfigFilePath != "" { - return strings.TrimRight(c.ConfigFilePath, filepath.Base(c.ConfigFilePath)) + wd, err := os.Getwd() + if err != nil { + logging.Logger.Debug().Err(err).Msg("error getting working directory for repo path") + return "" + } + + return wd } return c.RootPath @@ -218,7 +225,7 @@ func (c *Config) RepoPath() string { // CachePath finds path which contains the .infracost directory. It traverses parent directories until a .infracost // folder is found. If no .infracost folders exist then CachePath uses the current wd. func (c *Config) CachePath() string { - dir := c.RepoPath() + dir := c.WorkingDirectory() if s := c.cachePath(dir); s != "" { return s @@ -321,9 +328,45 @@ func (c *Config) SetLogWriter(w io.Writer) { // LogWriter returns the writer the Logger should use to write logs to. // In most cases this should be stderr, but it can also be a file. func (c *Config) LogWriter() io.Writer { + isCI := ciPlatform() != "" && !IsTest() return zerolog.NewConsoleWriter(func(w *zerolog.ConsoleWriter) { - w.NoColor = true - w.TimeFormat = time.RFC3339 + w.PartsExclude = []string{"time"} + w.FormatLevel = func(i interface{}) string { + if i == nil { + return "" + } + + if isCI { + return strings.ToUpper(fmt.Sprintf("%s", i)) + } + + if ll, ok := i.(string); ok { + upper := strings.ToUpper(ll) + + switch ll { + case zerolog.LevelTraceValue: + return color.CyanString("%s", upper) + case zerolog.LevelDebugValue: + return color.MagentaString("%s", upper) + case zerolog.LevelWarnValue: + return color.YellowString("%s", upper) + case zerolog.LevelErrorValue, zerolog.LevelFatalValue, zerolog.LevelPanicValue: + return color.RedString("%s", upper) + case zerolog.LevelInfoValue: + return color.GreenString("%s", upper) + default: + } + } + + return strings.ToUpper(fmt.Sprintf("%s", i)) + } + + if isCI { + w.NoColor = true + w.TimeFormat = time.RFC3339 + w.PartsExclude = nil + } + if c.logDisableTimestamps { w.PartsExclude = []string{"time"} } @@ -331,8 +374,6 @@ func (c *Config) LogWriter() io.Writer { w.Out = os.Stderr if c.logWriter != nil { w.Out = c.logWriter - } else if c.LogLevel == "" { - w.Out = io.Discard } }) } @@ -402,10 +443,6 @@ func (c *Config) LoadGlobalFlags(cmd *cobra.Command) error { return nil } -func (c *Config) IsLogging() bool { - return c.LogLevel != "" -} - func (c *Config) IsSelfHosted() bool { return c.PricingAPIEndpoint != "" && c.PricingAPIEndpoint != c.DefaultPricingAPIEndpoint } @@ -440,3 +477,13 @@ func loadDotEnv() error { return nil } + +func CleanProjectName(name string) string { + name = strings.TrimSuffix(name, "/") + name = strings.ReplaceAll(name, "/", "-") + + if name == "." { + return "main" + } + return name +} diff --git a/internal/config/configuration.go b/internal/config/configuration.go index a8fb9af83fa..9df44f08d98 100644 --- a/internal/config/configuration.go +++ b/internal/config/configuration.go @@ -6,8 +6,9 @@ import ( "strings" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" + + "github.com/infracost/infracost/internal/logging" ) var configurationVersion = "0.1" @@ -28,7 +29,7 @@ func loadConfiguration(cfg *Config) error { err = cfg.migrateConfiguration() if err != nil { - log.Debug().Err(err).Msg("error migrating configuration") + logging.Logger.Debug().Err(err).Msg("error migrating configuration") } cfg.Configuration, err = readConfigurationFileIfExists() diff --git a/internal/config/credentials.go b/internal/config/credentials.go index 76e42b0ff24..6a9ac07105d 100644 --- a/internal/config/credentials.go +++ b/internal/config/credentials.go @@ -6,8 +6,9 @@ import ( "strings" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" + + "github.com/infracost/infracost/internal/logging" ) var credentialsVersion = "0.1" @@ -23,7 +24,7 @@ func loadCredentials(cfg *Config) error { err = cfg.migrateCredentials() if err != nil { - log.Debug().Err(err).Msg("Error migrating credentials") + logging.Logger.Debug().Err(err).Msg("Error migrating credentials") } cfg.Credentials, err = readCredentialsFileIfExists() diff --git a/internal/config/migrate.go b/internal/config/migrate.go index 3c380f17eac..b9bb39bd06c 100644 --- a/internal/config/migrate.go +++ b/internal/config/migrate.go @@ -7,8 +7,9 @@ import ( "time" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" + + "github.com/infracost/infracost/internal/logging" ) func (c *Config) migrateConfiguration() error { @@ -48,7 +49,7 @@ func (c *Config) migrateCredentials() error { } func (c *Config) migrateV0_7_17(oldPath string, newPath string) error { - log.Debug().Msgf("Migrating old credentials from %s to %s", oldPath, newPath) + logging.Logger.Debug().Msgf("Migrating old credentials from %s to %s", oldPath, newPath) data, err := os.ReadFile(oldPath) if err != nil { @@ -78,14 +79,14 @@ func (c *Config) migrateV0_7_17(oldPath string, newPath string) error { return err } - log.Debug().Msg("Credentials successfully migrated") + logging.Logger.Debug().Msg("Credentials successfully migrated") } return nil } func (c *Config) migrateV0_9_4(credPath string) error { - log.Debug().Msgf("Migrating old credentials format to v0.1") + logging.Logger.Debug().Msgf("Migrating old credentials format to v0.1") // Use MapSlice to keep the order of the items, so we can always use the first one var oldCreds yaml.MapSlice @@ -134,7 +135,7 @@ func (c *Config) migrateV0_9_4(credPath string) error { return err } - log.Debug().Msg("Credentials successfully migrated") + logging.Logger.Debug().Msg("Credentials successfully migrated") return nil } diff --git a/internal/config/run_context.go b/internal/config/run_context.go index 4b4d741f2b5..788b9189eed 100644 --- a/internal/config/run_context.go +++ b/internal/config/run_context.go @@ -12,7 +12,6 @@ import ( "github.com/infracost/infracost/internal/logging" intSync "github.com/infracost/infracost/internal/sync" - "github.com/infracost/infracost/internal/ui" "github.com/infracost/infracost/internal/vcs" "github.com/infracost/infracost/internal/version" @@ -138,24 +137,11 @@ func EmptyRunContext() *RunContext { } } -var ( - outputIndent = " " -) - // IsAutoDetect returns true if the command is running with auto-detect functionality. func (r *RunContext) IsAutoDetect() bool { return len(r.Config.Projects) <= 1 && r.Config.ConfigFilePath == "" } -// NewSpinner returns an ui.Spinner built from the RunContext. -func (r *RunContext) NewSpinner(msg string) *ui.Spinner { - return ui.NewSpinner(msg, ui.SpinnerOptions{ - EnableLogging: r.Config.IsLogging(), - NoColor: r.Config.NoColor, - Indent: outputIndent, - }) -} - func (r *RunContext) GetParallelism() (int, error) { var parallelism int @@ -200,20 +186,6 @@ func (r *RunContext) VCSRepositoryURL() string { return r.VCSMetadata.Remote.URL } -func (r *RunContext) GetResourceWarnings() map[string]map[string]int { - contextValues := r.ContextValues.Values() - - if warnings := contextValues["resourceWarnings"]; warnings != nil { - return warnings.(map[string]map[string]int) - } - - return nil -} - -func (r *RunContext) SetResourceWarnings(resourceWarnings map[string]map[string]int) { - r.ContextValues.SetValue("resourceWarnings", resourceWarnings) -} - func (r *RunContext) EventEnv() map[string]interface{} { return r.EventEnvWithProjectContexts([]*ProjectContext{}) } diff --git a/internal/credentials/terraform.go b/internal/credentials/terraform.go index 9a1f6921964..1f44f19f113 100644 --- a/internal/credentials/terraform.go +++ b/internal/credentials/terraform.go @@ -11,7 +11,8 @@ import ( "github.com/hashicorp/hcl/v2/gohcl" "github.com/hashicorp/hcl/v2/hclparse" "github.com/mitchellh/go-homedir" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) var ( @@ -22,10 +23,10 @@ var ( // FindTerraformCloudToken returns a TFC Bearer token for the given host. func FindTerraformCloudToken(host string) string { if os.Getenv("TF_CLI_CONFIG_FILE") != "" { - log.Debug().Msgf("TF_CLI_CONFIG_FILE is set, checking %s for Terraform Cloud credentials", os.Getenv("TF_CLI_CONFIG_FILE")) + logging.Logger.Debug().Msgf("TF_CLI_CONFIG_FILE is set, checking %s for Terraform Cloud credentials", os.Getenv("TF_CLI_CONFIG_FILE")) token, err := credFromHCL(os.Getenv("TF_CLI_CONFIG_FILE"), host) if err != nil { - log.Debug().Msgf("Error reading Terraform config file %s: %v", os.Getenv("TF_CLI_CONFIG_FILE"), err) + logging.Logger.Debug().Msgf("Error reading Terraform config file %s: %v", os.Getenv("TF_CLI_CONFIG_FILE"), err) } if token != "" { return token @@ -34,10 +35,10 @@ func FindTerraformCloudToken(host string) string { credFile := defaultCredFile() if _, err := os.Stat(credFile); err == nil { - log.Debug().Msgf("Checking %s for Terraform Cloud credentials", credFile) + logging.Logger.Debug().Msgf("Checking %s for Terraform Cloud credentials", credFile) token, err := credFromJSON(credFile, host) if err != nil { - log.Debug().Msgf("Error reading Terraform credentials file %s: %v", credFile, err) + logging.Logger.Debug().Msgf("Error reading Terraform credentials file %s: %v", credFile, err) } if token != "" { return token @@ -46,10 +47,10 @@ func FindTerraformCloudToken(host string) string { confFile := defaultConfFile() if _, err := os.Stat(confFile); err == nil { - log.Debug().Msgf("Checking %s for Terraform Cloud credentials", confFile) + logging.Logger.Debug().Msgf("Checking %s for Terraform Cloud credentials", confFile) token, err := credFromHCL(confFile, host) if err != nil { - log.Debug().Msgf("Error reading Terraform config file %s: %v", confFile, err) + logging.Logger.Debug().Msgf("Error reading Terraform config file %s: %v", confFile, err) } if token != "" { return token diff --git a/internal/extclient/authed_client.go b/internal/extclient/authed_client.go index 59f9393723c..c0912fca062 100644 --- a/internal/extclient/authed_client.go +++ b/internal/extclient/authed_client.go @@ -11,7 +11,6 @@ import ( "github.com/infracost/infracost/internal/logging" "github.com/pkg/errors" - "github.com/rs/zerolog/log" ) // AuthedAPIClient represents an API client for authorized requests. @@ -41,7 +40,7 @@ func (a *AuthedAPIClient) SetHost(host string) { // Get performs a GET request to provided endpoint. func (a *AuthedAPIClient) Get(path string) ([]byte, error) { url := fmt.Sprintf("https://%s%s", a.host, path) - log.Debug().Msgf("Calling Terraform Cloud API: %s", url) + logging.Logger.Debug().Msgf("Calling Terraform Cloud API: %s", url) req, err := retryablehttp.NewRequest("GET", url, nil) if err != nil { return []byte{}, err diff --git a/internal/hcl/attribute.go b/internal/hcl/attribute.go index c1ded60413e..cc398ce4a4a 100644 --- a/internal/hcl/attribute.go +++ b/internal/hcl/attribute.go @@ -129,7 +129,7 @@ func (attr *Attribute) Value() cty.Value { return cty.DynamicVal } - attr.Logger.Debug().Msg("fetching attribute value") + attr.Logger.Trace().Msg("fetching attribute value") var val cty.Value if attr.isGraph { val = attr.graphValue() @@ -919,7 +919,7 @@ func (attr *Attribute) getIndexValue(part hcl.TraverseIndex) string { case cty.Number: var intVal int if err := gocty.FromCtyValue(part.Key, &intVal); err != nil { - attr.Logger.Warn().Err(err).Msg("could not unpack int from block index attr, returning 0") + attr.Logger.Debug().Err(err).Msg("could not unpack int from block index attr, returning 0") return "0" } @@ -1107,7 +1107,7 @@ func (attr *Attribute) referencesFromExpression(expression hcl.Expression) []*Re refs = append(refs, ref) } case *hclsyntax.LiteralValueExpr: - attr.Logger.Debug().Msgf("cannot create references from %T as it is a literal value and will not contain refs", t) + attr.Logger.Trace().Msgf("cannot create references from %T as it is a literal value and will not contain refs", t) default: name := fmt.Sprintf("%T", t) if strings.HasPrefix(name, "*hclsyntax") { diff --git a/internal/hcl/block.go b/internal/hcl/block.go index 0f698fbdcec..e3cf933210b 100644 --- a/internal/hcl/block.go +++ b/internal/hcl/block.go @@ -5,6 +5,7 @@ import ( "encoding/hex" "fmt" "os" + "path/filepath" "regexp" "sort" "strconv" @@ -310,6 +311,16 @@ func (b BlockBuilder) NewBlock(filename string, rootPath string, hclBlock *hcl.B ctx = NewContext(&hcl.EvalContext{}, nil, b.Logger) } + // if the filepath is absolute let's make it relative to the working directory so + // we trip any user/machine defined paths. + if filepath.IsAbs(filename) { + wd, _ := os.Getwd() + rel, err := filepath.Rel(wd, filename) + if err == nil { + filename = rel + } + } + isLoggingVerbose := strings.TrimSpace(os.Getenv("INFRACOST_HCL_DEBUG_VERBOSE")) == "true" if body, ok := hclBlock.Body.(*hclsyntax.Body); ok { block := &Block{ diff --git a/internal/hcl/evaluator.go b/internal/hcl/evaluator.go index be99a65e5c8..e1964be46b5 100644 --- a/internal/hcl/evaluator.go +++ b/internal/hcl/evaluator.go @@ -25,7 +25,6 @@ import ( "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) var ( @@ -93,7 +92,6 @@ type Evaluator struct { workspace string // blockBuilder handles generating blocks in the evaluation step. blockBuilder BlockBuilder - newSpinner ui.SpinnerFunc logger zerolog.Logger isGraph bool filteredBlocks []*Block @@ -110,7 +108,6 @@ func NewEvaluator( visitedModules map[string]map[string]cty.Value, workspace string, blockBuilder BlockBuilder, - spinFunc ui.SpinnerFunc, logger zerolog.Logger, isGraph bool, ) *Evaluator { @@ -183,7 +180,6 @@ func NewEvaluator( workspace: workspace, workingDir: workingDir, blockBuilder: blockBuilder, - newSpinner: spinFunc, logger: l, isGraph: isGraph, } @@ -236,11 +232,6 @@ func (e *Evaluator) MissingVars() []string { // parse and build up and child modules that are referenced in the Blocks and runs child Evaluator on // this Module. func (e *Evaluator) Run() (*Module, error) { - if e.newSpinner != nil { - spin := e.newSpinner("Evaluating Terraform directory") - defer spin.Success() - } - var lastContext hcl.EvalContext // first we need to evaluate the top level Context - so this can be passed to any child modules that are found. e.logger.Debug().Msg("evaluating top level context") @@ -307,7 +298,7 @@ func (e *Evaluator) evaluate(lastContext hcl.EvalContext) { } if i == maxContextIterations { - e.logger.Warn().Msgf("hit max context iterations evaluating module %s", e.module.Name) + e.logger.Debug().Msgf("hit max context iterations evaluating module %s", e.module.Name) } } @@ -372,7 +363,6 @@ func (e *Evaluator) evaluateModules() { map[string]map[string]cty.Value{}, e.workspace, e.blockBuilder, - nil, e.logger, e.isGraph, ) @@ -416,7 +406,7 @@ func (e *Evaluator) expandBlocks(blocks Blocks, lastContext hcl.EvalContext) Blo } if i == maxContextIterations { - e.logger.Warn().Msgf("hit max context iterations expanding blocks in module %s", e.module.Name) + e.logger.Debug().Msgf("hit max context iterations expanding blocks in module %s", e.module.Name) } return e.expandDynamicBlocks(expanded...) diff --git a/internal/hcl/graph.go b/internal/hcl/graph.go index d92db6a86f1..73a43d834f1 100644 --- a/internal/hcl/graph.go +++ b/internal/hcl/graph.go @@ -458,7 +458,6 @@ func (g *Graph) loadBlocksForModule(evaluator *Evaluator) ([]*Block, error) { map[string]map[string]cty.Value{}, evaluator.workspace, evaluator.blockBuilder, - nil, evaluator.logger, evaluator.isGraph, ) diff --git a/internal/hcl/graph_vertex_module_call.go b/internal/hcl/graph_vertex_module_call.go index ea0a5149dcf..39fd7b085b2 100644 --- a/internal/hcl/graph_vertex_module_call.go +++ b/internal/hcl/graph_vertex_module_call.go @@ -125,7 +125,6 @@ func (v *VertexModuleCall) expand(e *Evaluator, b *Block, mutex *sync.Mutex) ([] map[string]map[string]cty.Value{}, e.workspace, e.blockBuilder, - nil, e.logger, e.isGraph, ) diff --git a/internal/hcl/modules/loader.go b/internal/hcl/modules/loader.go index f0118bfb4ea..602fb4be69b 100644 --- a/internal/hcl/modules/loader.go +++ b/internal/hcl/modules/loader.go @@ -22,7 +22,6 @@ import ( "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/schema" intSync "github.com/infracost/infracost/internal/sync" - "github.com/infracost/infracost/internal/ui" ) var ( @@ -43,8 +42,6 @@ var ( // .infracost/terraform_modules directory. We could implement a global cache in the future, but for now have decided // to go with the same approach as Terraform. type ModuleLoader struct { - NewSpinner ui.SpinnerFunc - // cachePath is the path to the directory that Infracost will download modules to. // This is normally the top level directory of a multi-project environment, where the // Infracost config file resides or project auto-detection starts from. @@ -117,11 +114,6 @@ func (m *ModuleLoader) Load(path string) (man *Manifest, err error) { } }() - if m.NewSpinner != nil { - spin := m.NewSpinner("Downloading Terraform modules") - defer spin.Success() - } - manifest := &Manifest{} manifestFilePath := m.manifestFilePath(path) _, err = os.Stat(manifestFilePath) @@ -467,22 +459,22 @@ func (m *ModuleLoader) cachePathRel(targetPath string) (string, error) { if relerr == nil { return rel, nil } - m.logger.Info().Msgf("Failed to filepath.Rel cache=%s target=%s: %v", m.cachePath, targetPath, relerr) + m.logger.Debug().Msgf("Failed to filepath.Rel cache=%s target=%s: %v", m.cachePath, targetPath, relerr) // try converting to absolute paths absCachePath, abserr := filepath.Abs(m.cachePath) if abserr != nil { - m.logger.Info().Msgf("Failed to filepath.Abs cachePath: %v", abserr) + m.logger.Debug().Msgf("Failed to filepath.Abs cachePath: %v", abserr) return "", relerr } absTargetPath, abserr := filepath.Abs(targetPath) if abserr != nil { - m.logger.Info().Msgf("Failed to filepath.Abs target: %v", abserr) + m.logger.Debug().Msgf("Failed to filepath.Abs target: %v", abserr) return "", relerr } - m.logger.Info().Msgf("Attempting filepath.Rel on abs paths cache=%s, target=%s", absCachePath, absTargetPath) + m.logger.Debug().Msgf("Attempting filepath.Rel on abs paths cache=%s, target=%s", absCachePath, absTargetPath) return filepath.Rel(absCachePath, absTargetPath) } diff --git a/internal/hcl/parser.go b/internal/hcl/parser.go index ea19addf221..9e44021cbdd 100644 --- a/internal/hcl/parser.go +++ b/internal/hcl/parser.go @@ -12,15 +12,14 @@ import ( "github.com/hashicorp/hcl/v2" "github.com/rs/zerolog" - "github.com/rs/zerolog/log" "github.com/zclconf/go-cty/cty" "github.com/zclconf/go-cty/cty/gocty" "github.com/infracost/infracost/internal/clierror" + "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/extclient" "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" - "github.com/infracost/infracost/internal/ui" ) var ( @@ -30,11 +29,11 @@ var ( type Option func(p *Parser) // OptionWithTFVarsPaths takes a slice of paths adds them to the parser tfvar -// files relative to the Parser initialPath. It sorts tfvar paths for precedence +// files relative to the Parser detectedProjectPath. It sorts tfvar paths for precedence // before adding them to the parser. Paths that don't exist will be ignored. func OptionWithTFVarsPaths(paths []string, autoDetected bool) Option { return func(p *Parser) { - filenames := makePathsRelativeToInitial(paths, p.initialPath) + filenames := makePathsRelativeToInitial(paths, p.detectedProjectPath) tfVarsPaths := p.tfvarsPaths tfVarsPaths = append(tfVarsPaths, filenames...) p.sortVarFilesByPrecedence(tfVarsPaths, autoDetected) @@ -211,10 +210,6 @@ func OptionWithRemoteVarLoader(host, token, localWorkspace string, loaderOpts .. return } - if p.newSpinner != nil { - loaderOpts = append(loaderOpts, RemoteVariablesLoaderWithSpinner(p.newSpinner)) - } - client := extclient.NewAuthedAPIClient(host, token) p.remoteVariablesLoader = NewRemoteVariablesLoader(client, localWorkspace, p.logger, loaderOpts...) } @@ -242,19 +237,6 @@ func OptionWithTerraformWorkspace(name string) Option { } } -// OptionWithSpinner sets a SpinnerFunc onto the Parser. With this option enabled -// the Parser will send progress to the Spinner. This is disabled by default as -// we run the Parser concurrently underneath DirProvider and don't want to mess with its output. -func OptionWithSpinner(f ui.SpinnerFunc) Option { - return func(p *Parser) { - p.newSpinner = f - - if p.moduleLoader != nil { - p.moduleLoader.NewSpinner = f - } - } -} - // OptionGraphEvaluator sets the Parser to use the experimental graph evaluator. func OptionGraphEvaluator() Option { return func(p *Parser) { @@ -267,14 +249,14 @@ type DetectedProject interface { ProjectName() string EnvName() string RelativePath() string - TerraformVarFiles() []string + VarFiles() []string YAML() string } // Parser is a tool for parsing terraform templates at a given file system location. type Parser struct { - repoPath string - initialPath string + startingPath string + detectedProjectPath string tfEnvVars map[string]cty.Value tfvarsPaths []string inputVars map[string]cty.Value @@ -282,7 +264,6 @@ type Parser struct { moduleLoader *modules.ModuleLoader hclParser *modules.SharedHCLParser blockBuilder BlockBuilder - newSpinner ui.SpinnerFunc remoteVariablesLoader *RemoteVariablesLoader logger zerolog.Logger isGraph bool @@ -294,21 +275,21 @@ type Parser struct { // NewParser creates a new parser for the given RootPath. func NewParser(projectRoot RootPath, envMatcher *EnvFileMatcher, moduleLoader *modules.ModuleLoader, logger zerolog.Logger, options ...Option) *Parser { parserLogger := logger.With().Str( - "parser_path", projectRoot.Path, + "parser_path", projectRoot.DetectedPath, ).Logger() hclParser := modules.NewSharedHCLParser() p := &Parser{ - repoPath: projectRoot.RepoPath, - initialPath: projectRoot.Path, - hasChanges: projectRoot.HasChanges, - workspaceName: defaultTerraformWorkspaceName, - hclParser: hclParser, - blockBuilder: BlockBuilder{SetAttributes: []SetAttributesFunc{SetUUIDAttributes}, Logger: logger, HCLParser: hclParser}, - logger: parserLogger, - moduleLoader: moduleLoader, - envMatcher: envMatcher, + startingPath: projectRoot.StartingPath, + detectedProjectPath: projectRoot.DetectedPath, + hasChanges: projectRoot.HasChanges, + workspaceName: defaultTerraformWorkspaceName, + hclParser: hclParser, + blockBuilder: BlockBuilder{SetAttributes: []SetAttributesFunc{SetUUIDAttributes}, Logger: logger, HCLParser: hclParser}, + logger: parserLogger, + moduleLoader: moduleLoader, + envMatcher: envMatcher, } for _, option := range options { @@ -323,10 +304,10 @@ func (p *Parser) YAML() string { str := strings.Builder{} str.WriteString(fmt.Sprintf(" - path: %s\n name: %s\n", p.RelativePath(), p.ProjectName())) - if len(p.TerraformVarFiles()) > 0 { + if len(p.VarFiles()) > 0 { str.WriteString(" terraform_var_files:\n") - for _, varFile := range p.TerraformVarFiles() { + for _, varFile := range p.VarFiles() { str.WriteString(fmt.Sprintf(" - %s\n", varFile)) } } @@ -357,15 +338,15 @@ func (p *Parser) YAML() string { return str.String() } -// ParseDirectory parses all the terraform files in the initialPath into Blocks and then passes them to an Evaluator +// ParseDirectory parses all the terraform files in the detectedProjectPath into Blocks and then passes them to an Evaluator // to fill these Blocks with additional Context information. Parser does not parse any blocks outside the root Module. // It instead leaves ModuleLoader to fetch these Modules on demand. See ModuleLoader.Load for more information. // // ParseDirectory returns the root Module that represents the top of the Terraform Config tree. func (p *Parser) ParseDirectory() (m *Module, err error) { m = &Module{ - RootPath: p.initialPath, - ModulePath: p.initialPath, + RootPath: p.detectedProjectPath, + ModulePath: p.detectedProjectPath, } defer func() { @@ -375,11 +356,11 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { } }() - p.logger.Debug().Msgf("Beginning parse for directory '%s'...", p.initialPath) + p.logger.Debug().Msgf("Beginning parse for directory '%s'...", p.detectedProjectPath) // load the initial root directory into a list of hcl files // at this point these files have no schema associated with them. - files, err := loadDirectory(p.hclParser, p.logger, p.initialPath, false) + files, err := loadDirectory(p.hclParser, p.logger, p.detectedProjectPath, false) if err != nil { return m, err } @@ -401,7 +382,7 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { } // load the modules. This downloads any remote modules to the local file system - modulesManifest, err := p.moduleLoader.Load(p.initialPath) + modulesManifest, err := p.moduleLoader.Load(p.detectedProjectPath) if err != nil { return m, fmt.Errorf("Error loading Terraform modules: %w", err) } @@ -419,8 +400,8 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { Source: "", Blocks: blocks, RawBlocks: blocks, - RootPath: p.initialPath, - ModulePath: p.initialPath, + RootPath: p.detectedProjectPath, + ModulePath: p.detectedProjectPath, }, workingDir, inputVars, @@ -428,7 +409,6 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { nil, p.workspaceName, p.blockBuilder, - p.newSpinner, p.logger, p.isGraph, ) @@ -437,8 +417,7 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { // Graph evaluation if evaluator.isGraph { - // we use the base zerolog log here so that it's consistent with the spinner logs - log.Info().Msgf("Building project with experimental graph runner") + logging.Logger.Debug().Msg("Building project with experimental graph runner") g, err := NewGraphWithRoot(p.logger, nil) if err != nil { @@ -465,24 +444,19 @@ func (p *Parser) ParseDirectory() (m *Module, err error) { // Path returns the full path that the parser runs within. func (p *Parser) Path() string { - return p.initialPath + return p.detectedProjectPath } // RelativePath returns the path of the parser relative to the repo path func (p *Parser) RelativePath() string { - r, _ := filepath.Rel(p.repoPath, p.initialPath) + r, _ := filepath.Rel(p.startingPath, p.detectedProjectPath) return r } // ProjectName generates a name for the project that can be used // in the Infracost config file. func (p *Parser) ProjectName() string { - r := p.RelativePath() - name := strings.TrimSuffix(r, "/") - name = strings.ReplaceAll(name, "/", "-") - if name == "." { - name = "main" - } + name := config.CleanProjectName(p.RelativePath()) if p.moduleSuffix != "" { name = fmt.Sprintf("%s-%s", name, p.moduleSuffix) @@ -502,12 +476,12 @@ func (p *Parser) EnvName() string { // TerraformVarFiles returns the list of terraform var files that the parser // will use to load variables from. -func (p *Parser) TerraformVarFiles() []string { +func (p *Parser) VarFiles() []string { varFilesMap := make(map[string]struct{}, len(p.tfvarsPaths)) varFiles := make([]string, 0, len(p.tfvarsPaths)) for _, varFile := range p.tfvarsPaths { - p, err := filepath.Rel(p.initialPath, varFile) + p, err := filepath.Rel(p.detectedProjectPath, varFile) if err != nil { continue } @@ -538,7 +512,7 @@ func (p *Parser) parseDirectoryFiles(files []file) (Blocks, error) { for _, fileBlock := range fileBlocks { blocks = append( blocks, - p.blockBuilder.NewBlock(file.path, p.initialPath, fileBlock, nil, nil, nil), + p.blockBuilder.NewBlock(file.path, p.detectedProjectPath, fileBlock, nil, nil, nil), ) } } @@ -556,7 +530,7 @@ func (p *Parser) loadVars(blocks Blocks, filenames []string) (map[string]cty.Val remoteVars, err := p.remoteVariablesLoader.Load(blocks) if err != nil { - p.logger.Warn().Msgf("could not load vars from Terraform Cloud: %s", err) + p.logger.Debug().Msgf("could not load vars from Terraform Cloud: %s", err) return combinedVars, err } diff --git a/internal/hcl/parser_test.go b/internal/hcl/parser_test.go index a99fcc3d80f..fac411c145e 100644 --- a/internal/hcl/parser_test.go +++ b/internal/hcl/parser_test.go @@ -55,7 +55,7 @@ data "cats_cat" "the-cats-mother" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -151,7 +151,7 @@ output "loadbalancer" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -224,7 +224,7 @@ output "exp2" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -271,7 +271,7 @@ output "instances" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -310,7 +310,7 @@ resource "other_resource" "test" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -355,7 +355,7 @@ output "attr_not_exists" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -395,7 +395,7 @@ resource "other_resource" "test" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -447,7 +447,7 @@ output "serviceendpoint_principals" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -485,7 +485,7 @@ output "val" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -503,7 +503,7 @@ func Test_SetsHasChangesOnMod(t *testing.T) { path := createTestFile("test.tf", `variable "foo" {}`) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path), HasChanges: true}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path), HasChanges: true}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -525,7 +525,7 @@ output "val" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -567,7 +567,7 @@ output "mod_result" { dir := filepath.Dir(path) loader := modules.NewModuleLoader(dir, modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: path}, + RootPath{DetectedPath: path}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -632,7 +632,7 @@ output "mod_result" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: path}, + RootPath{DetectedPath: path}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -688,7 +688,7 @@ resource "aws_instance" "my_instance" { `) logger := newDiscardLogger() - parser := NewParser(RootPath{Path: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) + parser := NewParser(RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}), logger) module, err := parser.ParseDirectory() require.NoError(t, err) @@ -831,7 +831,7 @@ resource "test_resource_two" "test" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -891,7 +891,7 @@ resource "test_resource_two" "test" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -957,7 +957,7 @@ output "mod_result" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: path}, + RootPath{DetectedPath: path}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1109,7 +1109,7 @@ output "mod_result" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: path}, + RootPath{DetectedPath: path}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1195,7 +1195,7 @@ resource "dynamic" "resource" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: path}, + RootPath{DetectedPath: path}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1261,7 +1261,7 @@ resource "azurerm_linux_function_app" "function" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1315,7 +1315,7 @@ resource "test_resource" "second" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1371,7 +1371,7 @@ data "google_compute_zones" "us" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1426,7 +1426,7 @@ data "aws_availability_zones" "ne" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1477,7 +1477,7 @@ resource "random_shuffle" "bad" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1548,7 +1548,7 @@ locals { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1603,7 +1603,7 @@ resource "baz" "bat" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1667,7 +1667,7 @@ resource "aws_instance" "example" { loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: path}, + RootPath{DetectedPath: path}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1721,7 +1721,7 @@ resource "aws_instance" "example" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: path}, + RootPath{DetectedPath: path}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1759,7 +1759,7 @@ resource "aws_instance" "example" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1807,7 +1807,7 @@ resource "aws_instance" "example" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1836,7 +1836,7 @@ resource "bar" "a" { logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1864,7 +1864,7 @@ resource "time_static" "default" {} logger := newDiscardLogger() loader := modules.NewModuleLoader(filepath.Dir(path), modules.NewSharedHCLParser(), nil, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: filepath.Dir(path)}, + RootPath{DetectedPath: filepath.Dir(path)}, CreateEnvFileMatcher([]string{}, nil), loader, logger, @@ -1916,7 +1916,7 @@ func BenchmarkParserEvaluate(b *testing.B) { source, _ := modules.NewTerraformCredentialsSource(modules.BaseCredentialSet{}) loader := modules.NewModuleLoader(dir, modules.NewSharedHCLParser(), source, config.TerraformSourceMap{}, logger, &sync.KeyMutex{}) parser := NewParser( - RootPath{Path: dir}, + RootPath{DetectedPath: dir}, CreateEnvFileMatcher([]string{}, nil), loader, logger, diff --git a/internal/hcl/project_locator.go b/internal/hcl/project_locator.go index 2fcd7647d26..ce82a74d1d0 100644 --- a/internal/hcl/project_locator.go +++ b/internal/hcl/project_locator.go @@ -264,6 +264,7 @@ type ProjectLocator struct { terraformVarFileExtensions []string hclParser *hclparse.Parser hasCustomEnvExt bool + workingDirectory string } // ProjectLocatorConfig provides configuration options on how the locator functions. @@ -279,6 +280,7 @@ type ProjectLocatorConfig struct { MaxSearchDepth int ForceProjectType string TerraformVarFileExtensions []string + WorkingDirectory string } type PathOverrideConfig struct { @@ -358,6 +360,7 @@ func NewProjectLocator(logger zerolog.Logger, config *ProjectLocatorConfig) *Pro terraformVarFileExtensions: extensions, hclParser: hclparse.NewParser(), hasCustomEnvExt: len(config.TerraformVarFileExtensions) > 0, + workingDirectory: config.WorkingDirectory, } } @@ -435,7 +438,7 @@ func CreateTreeNode(basePath string, paths []RootPath, varFiles map[string][]Roo } sort.Slice(paths, func(i, j int) bool { - return strings.Count(paths[i].Path, string(filepath.Separator)) < strings.Count(paths[j].Path, string(filepath.Separator)) + return strings.Count(paths[i].DetectedPath, string(filepath.Separator)) < strings.Count(paths[j].DetectedPath, string(filepath.Separator)) }) for _, path := range paths { @@ -510,7 +513,7 @@ func buildVarFileEnvNames(root *TreeNode, e *EnvFileMatcher) { // AddPath adds a path to the tree, this will create any missing nodes in the tree. func (t *TreeNode) AddPath(path RootPath) { - dir, _ := filepath.Rel(path.RepoPath, path.Path) + dir, _ := filepath.Rel(path.StartingPath, path.DetectedPath) pieces := strings.Split(dir, string(filepath.Separator)) current := t @@ -786,7 +789,7 @@ func (t *TreeNode) AssociateChildVarFiles() { continue } - depth, err := getChildDepth(t.RootPath.Path, child.TerraformVarFiles.Path) + depth, err := getChildDepth(t.RootPath.DetectedPath, child.TerraformVarFiles.Path) if depth > 2 || err != nil { continue } @@ -909,7 +912,7 @@ func (t *TreeNode) CollectRootPaths(e *EnvFileMatcher) []RootPath { found := make(map[string]bool) for _, root := range projects { for _, varFile := range root.TerraformVarFiles { - base := filepath.Base(root.Path) + base := filepath.Base(root.DetectedPath) name := e.clean(varFile.Name) if base == name { found[varFile.FullPath] = true @@ -925,7 +928,7 @@ func (t *TreeNode) CollectRootPaths(e *EnvFileMatcher) []RootPath { var filtered RootPathVarFiles for _, varFile := range root.TerraformVarFiles { name := e.clean(varFile.Name) - base := filepath.Base(root.Path) + base := filepath.Base(root.DetectedPath) if found[varFile.FullPath] && base != name { continue } @@ -943,8 +946,10 @@ func (t *TreeNode) CollectRootPaths(e *EnvFileMatcher) []RootPath { type RootPath struct { Matcher *EnvFileMatcher - RepoPath string - Path string + // StartingPath is the path to the directory where the search started. + StartingPath string + // DetectedPath is the path to the root of the project. + DetectedPath string // HasChanges contains information about whether the project has git changes associated with it. // This will show as true if one or more files/directories have changed in the Path, and also if // and local modules that are used by this project have changes. @@ -957,7 +962,7 @@ type RootPath struct { } func (r *RootPath) RelPath() string { - rel, _ := filepath.Rel(r.RepoPath, r.Path) + rel, _ := filepath.Rel(r.StartingPath, r.DetectedPath) return rel } @@ -1084,7 +1089,7 @@ func (r RootPathVarFiles) ToPaths() []string { } func (r *RootPath) AddVarFiles(v *VarFiles) { - rel, _ := filepath.Rel(r.Path, v.Path) + rel, _ := filepath.Rel(r.DetectedPath, v.Path) for _, f := range v.Files { r.TerraformVarFiles = append(r.TerraformVarFiles, RootPathVarFile{ @@ -1097,35 +1102,44 @@ func (r *RootPath) AddVarFiles(v *VarFiles) { } } -// FindRootModules returns a list of all directories that contain a full Terraform project under the given fullPath. -// This list excludes any Terraform modules that have been found (if they have been called by a Module source). -func (p *ProjectLocator) FindRootModules(fullPath string) []RootPath { - p.basePath, _ = filepath.Abs(fullPath) +// FindRootModules returns a list of all directories that contain a full +// Terraform project under the given fullPath. This list excludes any Terraform +// modules that have been found (if they have been called by a Module source). +func (p *ProjectLocator) FindRootModules(startingPath string) []RootPath { + p.basePath, _ = filepath.Abs(startingPath) p.modules = make(map[string]struct{}) p.projectDuplicates = make(map[string]bool) p.moduleCalls = make(map[string][]string) p.wdContainsTerragrunt = false p.discoveredProjects = []discoveredProject{} p.discoveredVarFiles = make(map[string][]RootPathVarFile) - p.shouldSkipDir = buildDirMatcher(p.excludedDirs, fullPath) - p.shouldIncludeDir = buildDirMatcher(p.includedDirs, fullPath) + p.shouldSkipDir = buildDirMatcher(p.excludedDirs, startingPath) + p.shouldIncludeDir = buildDirMatcher(p.includedDirs, startingPath) if p.skip { // if we are skipping auto-detection we just return the root path, but we still // want to walk the paths to find any auto.tfvars or terraform.tfvars files. So // let's just walk the top level directory. - p.walkPaths(fullPath, 0, 1) + p.walkPaths(startingPath, 0, 1) + p.findTerragruntDirs(startingPath) + + detectedPath := startingPath + if p.workingDirectory != "" { + startingPath = p.workingDirectory + } return []RootPath{ { - Path: fullPath, - TerraformVarFiles: p.discoveredVarFiles[fullPath], + StartingPath: startingPath, + DetectedPath: detectedPath, + IsTerragrunt: p.wdContainsTerragrunt, + TerraformVarFiles: p.discoveredVarFiles[startingPath], }, } } - p.findTerragruntDirs(fullPath) - p.walkPaths(fullPath, 0, p.maxSearchDepth()) + p.findTerragruntDirs(startingPath) + p.walkPaths(startingPath, 0, p.maxSearchDepth()) for _, project := range p.discoveredProjects { if _, ok := p.projectDuplicates[project.path]; ok { p.projectDuplicates[project.path] = true @@ -1134,15 +1148,15 @@ func (p *ProjectLocator) FindRootModules(fullPath string) []RootPath { } } - p.logger.Debug().Msgf("walking directory at %s returned a list of possible Terraform projects with length %d", fullPath, len(p.discoveredProjects)) + p.logger.Debug().Msgf("walking directory at %s returned a list of possible Terraform projects with length %d", startingPath, len(p.discoveredProjects)) var projects []RootPath projectMap := map[string]bool{} for _, dir := range p.discoveredProjectsWithModulesFiltered() { if p.shouldUseProject(dir, false) { projects = append(projects, RootPath{ - RepoPath: fullPath, - Path: dir.path, + StartingPath: startingPath, + DetectedPath: dir.path, HasChanges: p.hasChanges(dir.path), TerraformVarFiles: p.discoveredVarFiles[dir.path], Matcher: p.envMatcher, @@ -1156,8 +1170,8 @@ func (p *ProjectLocator) FindRootModules(fullPath string) []RootPath { for _, dir := range p.discoveredProjectsWithModulesFiltered() { if p.shouldUseProject(dir, true) { projects = append(projects, RootPath{ - RepoPath: fullPath, - Path: dir.path, + StartingPath: startingPath, + DetectedPath: dir.path, HasChanges: p.hasChanges(dir.path), TerraformVarFiles: p.discoveredVarFiles[dir.path], Matcher: p.envMatcher, @@ -1169,20 +1183,30 @@ func (p *ProjectLocator) FindRootModules(fullPath string) []RootPath { } for _, dir := range projects { - delete(p.discoveredVarFiles, dir.Path) + delete(p.discoveredVarFiles, dir.DetectedPath) } - node := CreateTreeNode(fullPath, projects, p.discoveredVarFiles, p.envMatcher) + node := CreateTreeNode(startingPath, projects, p.discoveredVarFiles, p.envMatcher) node.AssociateChildVarFiles() node.AssociateSiblingVarFiles() node.AssociateParentVarFiles() node.AssociateAuntVarFiles() paths := node.CollectRootPaths(p.envMatcher) + for i := range paths { + // if the locator has been configured with a working directory we need to change + // the starting path of the root paths to the working directory. This means that + // paths that have been defined in a config file are relative to the working + // directory rather than the defined paths found in the config file. + if p.workingDirectory != "" { + paths[i].StartingPath = p.workingDirectory + } + } + p.excludeEnvFromPaths(paths) sort.Slice(paths, func(i, j int) bool { - return paths[i].Path < paths[j].Path + return paths[i].DetectedPath < paths[j].DetectedPath }) return paths @@ -1365,7 +1389,7 @@ func (p *ProjectLocator) walkPaths(fullPath string, level int, maxSearchDepth in fileInfos, err := os.ReadDir(fullPath) if err != nil { - p.logger.Warn().Err(err).Msgf("could not get file information for path %s skipping evaluation", fullPath) + p.logger.Debug().Err(err).Msgf("could not get file information for path %s skipping evaluation", fullPath) return } @@ -1563,7 +1587,7 @@ func (p *ProjectLocator) shallowDecodeTerraformBlocks(fullPath string, files map body, content, diags := file.Body.PartialContent(terraformAndProviderBlocks) if diags != nil && diags.HasErrors() { - p.logger.Warn().Err(diags).Msgf("skipping building module information for file %s as failed to get partial body contents", file) + p.logger.Debug().Err(diags).Msgf("skipping building module information for file %s as failed to get partial body contents", file) continue } diff --git a/internal/hcl/remote_variables_loader.go b/internal/hcl/remote_variables_loader.go index d5736955725..8787c0c2998 100644 --- a/internal/hcl/remote_variables_loader.go +++ b/internal/hcl/remote_variables_loader.go @@ -11,7 +11,6 @@ import ( "github.com/zclconf/go-cty/cty" "github.com/infracost/infracost/internal/extclient" - "github.com/infracost/infracost/internal/ui" ) // RemoteVariablesLoader handles loading remote variables from Terraform Cloud. @@ -19,7 +18,6 @@ type RemoteVariablesLoader struct { client *extclient.AuthedAPIClient localWorkspace string remoteConfig *TFCRemoteConfig - newSpinner ui.SpinnerFunc logger zerolog.Logger } @@ -76,14 +74,6 @@ type tfcVarResponse struct { } `json:"data"` } -// RemoteVariablesLoaderWithSpinner enables the RemoteVariablesLoader to use an ui.Spinner to -// show the progress of loading the remote variables. -func RemoteVariablesLoaderWithSpinner(f ui.SpinnerFunc) RemoteVariablesLoaderOption { - return func(r *RemoteVariablesLoader) { - r.newSpinner = f - } -} - // RemoteVariablesLoaderWithRemoteConfig sets a user defined configuration for // the RemoteVariablesLoader. This is normally done to override the configuration // detected from the HCL blocks. @@ -115,7 +105,7 @@ func NewRemoteVariablesLoader(client *extclient.AuthedAPIClient, localWorkspace // Load fetches remote variables if terraform block contains organization and // workspace name. func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error) { - spinnerMsg := "Downloading Terraform remote variables" + r.logger.Debug().Msg("Downloading Terraform remote variables") vars := map[string]cty.Value{} var config TFCRemoteConfig @@ -127,14 +117,6 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error if !config.valid() { config, err = r.getBackendOrganizationWorkspace(blocks) if err != nil { - var spinner *ui.Spinner - if r.newSpinner != nil { - // In case name prefix is set, but workspace flag is missing show the - // failed spinner message. Otherwise the remote variables loading is - // skipped entirely. - spinner = r.newSpinner(spinnerMsg) - spinner.Fail() - } return vars, err } @@ -151,13 +133,13 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint := fmt.Sprintf("/api/v2/organizations/%s/workspaces/%s", config.Organization, config.Workspace) body, err := r.client.Get(endpoint) if err != nil { - r.logger.Warn().Err(err).Msgf("could not request Terraform workspace: %s for organization: %s", config.Workspace, config.Organization) + r.logger.Debug().Err(err).Msgf("could not request Terraform workspace: %s for organization: %s", config.Workspace, config.Organization) return vars, nil } var workspaceResponse tfcWorkspaceResponse if json.Unmarshal(body, &workspaceResponse) != nil { - r.logger.Warn().Err(err).Msgf("malformed Terraform API response using workspace: %s organization: %s", config.Workspace, config.Organization) + r.logger.Debug().Err(err).Msgf("malformed Terraform API response using workspace: %s organization: %s", config.Workspace, config.Organization) return vars, nil } @@ -166,12 +148,6 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error return vars, nil } - var spinner *ui.Spinner - if r.newSpinner != nil { - spinner = r.newSpinner(spinnerMsg) - defer spinner.Success() - } - workspaceID := workspaceResponse.Data.ID pageNumber := 1 @@ -183,17 +159,11 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint = fmt.Sprintf("/api/v2/workspaces/%s/varsets?include=vars&page[number]=%d&page[size]=50", workspaceID, pageNumber) body, err = r.client.Get(endpoint) if err != nil { - if spinner != nil { - spinner.Fail() - } return vars, err } var varsetsResponse tfcVarsetResponse if json.Unmarshal(body, &varsetsResponse) != nil { - if spinner != nil { - spinner.Fail() - } return vars, errors.New("unable to parse Workspace Variable Sets response") } @@ -241,17 +211,11 @@ func (r *RemoteVariablesLoader) Load(blocks Blocks) (map[string]cty.Value, error endpoint = fmt.Sprintf("/api/v2/workspaces/%s/vars", workspaceID) body, err = r.client.Get(endpoint) if err != nil { - if spinner != nil { - spinner.Fail() - } return vars, err } var varsResponse tfcVarResponse if json.Unmarshal(body, &varsResponse) != nil { - if spinner != nil { - spinner.Fail() - } return vars, errors.New("unable to parse Workspace Variables response") } diff --git a/internal/output/combined.go b/internal/output/combined.go index d2788c955e0..2d75637c774 100644 --- a/internal/output/combined.go +++ b/internal/output/combined.go @@ -16,10 +16,9 @@ import ( "github.com/shopspring/decimal" "golang.org/x/mod/semver" - "github.com/rs/zerolog/log" - "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -457,7 +456,7 @@ func addCurrencyFormat(currencyFormat string) { m := rgx.FindStringSubmatch(currencyFormat) if len(m) == 0 { - log.Warn().Msgf("Invalid currency format: %s", currencyFormat) + logging.Logger.Warn().Msgf("Invalid currency format: %s", currencyFormat) return } diff --git a/internal/output/html.go b/internal/output/html.go index 051aa139051..ef833c4bd9b 100644 --- a/internal/output/html.go +++ b/internal/output/html.go @@ -9,11 +9,10 @@ import ( "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" "github.com/Masterminds/sprig" - - "github.com/rs/zerolog/log" ) func ToHTML(out Root, opts Options) ([]byte, error) { @@ -38,7 +37,7 @@ func ToHTML(out Root, opts Options) ([]byte, error) { return true } - log.Debug().Msgf("Hiding resource with no usage: %s", resourceName) + logging.Logger.Debug().Msgf("Hiding resource with no usage: %s", resourceName) return false }, "filterZeroValComponents": filterZeroValComponents, diff --git a/internal/output/output.go b/internal/output/output.go index f0e7ce67760..51222ae3134 100644 --- a/internal/output/output.go +++ b/internal/output/output.go @@ -61,6 +61,7 @@ func (r *Root) HasUnsupportedResources() bool { type Project struct { Name string `json:"name"` + DisplayName string `json:"displayName"` Metadata *schema.ProjectMetadata `json:"metadata"` PastBreakdown *Breakdown `json:"pastBreakdown"` Breakdown *Breakdown `json:"breakdown"` @@ -72,7 +73,7 @@ type Project struct { // ToSchemaProject generates a schema.Project from a Project. The created schema.Project is not suitable to be // used outside simple schema.Project to schema.Project comparisons. It contains missing information // that cannot be inferred from a Project. -func (p Project) ToSchemaProject() *schema.Project { +func (p *Project) ToSchemaProject() *schema.Project { var pastResources []*schema.Resource if p.PastBreakdown != nil { pastResources = append(convertOutputResources(p.PastBreakdown.Resources, false), convertOutputResources(p.PastBreakdown.FreeResources, true)...) @@ -93,6 +94,7 @@ func (p Project) ToSchemaProject() *schema.Project { return &schema.Project{ Name: p.Name, + DisplayName: p.DisplayName, Metadata: clonedMetadata, PastResources: pastResources, Resources: resources, @@ -134,6 +136,7 @@ func convertCostComponents(outComponents []CostComponent) []*schema.CostComponen HourlyQuantity: c.HourlyQuantity, MonthlyQuantity: c.MonthlyQuantity, UsageBased: c.UsageBased, + PriceNotFound: c.PriceNotFound, } sc.SetPrice(c.Price) @@ -216,6 +219,10 @@ func (r *Root) HasDiff() bool { // Label returns the display name of the project func (p *Project) Label() string { + if p.DisplayName != "" { + return p.DisplayName + } + return p.Name } @@ -272,6 +279,7 @@ type CostComponent struct { HourlyCost *decimal.Decimal `json:"hourlyCost"` MonthlyCost *decimal.Decimal `json:"monthlyCost"` UsageBased bool `json:"usageBased,omitempty"` + PriceNotFound bool `json:"priceNotFound"` } type ActualCosts struct { @@ -535,6 +543,7 @@ func outputCostComponents(costComponents []*schema.CostComponent) []CostComponen HourlyCost: c.HourlyCost, MonthlyCost: c.MonthlyCost, UsageBased: c.UsageBased, + PriceNotFound: c.PriceNotFound, }) } return comps @@ -665,6 +674,7 @@ func ToOutputFormat(c *config.Config, projects []*schema.Project) (Root, error) outProjects = append(outProjects, Project{ Name: project.Name, + DisplayName: project.DisplayName, Metadata: project.Metadata, PastBreakdown: pastBreakdown, Breakdown: breakdown, diff --git a/internal/output/table.go b/internal/output/table.go index 89ca92ffc53..1ab992441ac 100644 --- a/internal/output/table.go +++ b/internal/output/table.go @@ -7,9 +7,8 @@ import ( "github.com/jedib0t/go-pretty/v6/table" "github.com/jedib0t/go-pretty/v6/text" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/ui" - - "github.com/rs/zerolog/log" ) func ToTable(out Root, opts Options) ([]byte, error) { @@ -216,7 +215,7 @@ func tableForBreakdown(currency string, breakdown Breakdown, fields []string, in filteredComponents := filterZeroValComponents(r.CostComponents, r.Name) filteredSubResources := filterZeroValResources(r.SubResources, r.Name) if len(filteredComponents) == 0 && len(filteredSubResources) == 0 { - log.Debug().Msgf("Hiding resource with no usage: %s", r.Name) + logging.Logger.Debug().Msgf("Hiding resource with no usage: %s", r.Name) continue } @@ -296,7 +295,11 @@ func buildCostComponentRows(t table.Writer, currency string, costComponents []Co tableRow = append(tableRow, label) if contains(fields, "price") { - tableRow = append(tableRow, formatPrice(currency, c.Price)) + if c.PriceNotFound { + tableRow = append(tableRow, "not found") + } else { + tableRow = append(tableRow, formatPrice(currency, c.Price)) + } } if contains(fields, "monthlyQuantity") { tableRow = append(tableRow, formatQuantity(c.MonthlyQuantity)) @@ -305,10 +308,18 @@ func buildCostComponentRows(t table.Writer, currency string, costComponents []Co tableRow = append(tableRow, c.Unit) } if contains(fields, "hourlyCost") { - tableRow = append(tableRow, FormatCost2DP(currency, c.HourlyCost)) + if c.PriceNotFound { + tableRow = append(tableRow, "not found") + } else { + tableRow = append(tableRow, FormatCost2DP(currency, c.HourlyCost)) + } } if contains(fields, "monthlyCost") { - tableRow = append(tableRow, FormatCost2DP(currency, c.MonthlyCost)) + if c.PriceNotFound { + tableRow = append(tableRow, "not found") + } else { + tableRow = append(tableRow, FormatCost2DP(currency, c.MonthlyCost)) + } } if contains(fields, "usageFootnote") { @@ -359,7 +370,7 @@ func filterZeroValComponents(costComponents []CostComponent, resourceName string var filteredComponents []CostComponent for _, c := range costComponents { if c.MonthlyQuantity != nil && c.MonthlyQuantity.IsZero() { - log.Debug().Msgf("Hiding cost with no usage: %s '%s'", resourceName, c.Name) + logging.Logger.Debug().Msgf("Hiding cost with no usage: %s '%s'", resourceName, c.Name) continue } @@ -374,7 +385,7 @@ func filterZeroValResources(resources []Resource, resourceName string) []Resourc filteredComponents := filterZeroValComponents(r.CostComponents, fmt.Sprintf("%s.%s", resourceName, r.Name)) filteredSubResources := filterZeroValResources(r.SubResources, fmt.Sprintf("%s.%s", resourceName, r.Name)) if len(filteredComponents) == 0 && len(filteredSubResources) == 0 { - log.Debug().Msgf("Hiding resource with no usage: %s.%s", resourceName, r.Name) + logging.Logger.Debug().Msgf("Hiding resource with no usage: %s.%s", resourceName, r.Name) continue } @@ -409,7 +420,7 @@ func breakdownSummaryTable(out Root, opts Options) string { t.AppendRow( table.Row{ - truncateMiddle(project.Name, 64, "..."), + truncateMiddle(project.Label(), 64, "..."), formatCost(out.Currency, baseline), formatCost(out.Currency, project.Breakdown.TotalMonthlyUsageCost), formatCost(out.Currency, project.Breakdown.TotalMonthlyCost), diff --git a/internal/prices/prices.go b/internal/prices/prices.go index bbbb9b779b2..6ed81972803 100644 --- a/internal/prices/prices.go +++ b/internal/prices/prices.go @@ -1,39 +1,207 @@ package prices import ( + "encoding/json" + "fmt" "runtime" + "sort" + "strings" "sync" + "github.com/rs/zerolog" + "github.com/infracost/infracost/internal/apiclient" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" + "github.com/infracost/infracost/internal/ui" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" ) var ( batchSize = 5 - warningMu = &sync.Mutex{} ) -func PopulatePrices(ctx *config.RunContext, project *schema.Project) error { - resources := project.AllResources() +// notFoundData represents a single price not found entry +type notFoundData struct { + ResourceType string + ResourceNames []string + Count int +} + +// PriceFetcher provides a thread-safe way to aggregate 'price not found' +// data. This is used to provide a summary of missing prices at the end of a run. +// It should be used as a singleton which is shared across the application. +type PriceFetcher struct { + resources map[string]*notFoundData + components map[string]int + mux *sync.RWMutex + client *apiclient.PricingAPIClient + runCtx *config.RunContext +} + +func NewPriceFetcher(ctx *config.RunContext) *PriceFetcher { + return &PriceFetcher{ + resources: make(map[string]*notFoundData), + components: make(map[string]int), + mux: &sync.RWMutex{}, + runCtx: ctx, + client: apiclient.NewPricingAPIClient(ctx), + } +} + +// addNotFoundResult adds an instance of a missing price to the aggregator. +func (p *PriceFetcher) addNotFoundResult(result apiclient.PriceQueryResult) { + p.mux.Lock() + defer p.mux.Unlock() + + variables := result.Query.Variables + b, _ := json.MarshalIndent(variables, " ", " ") + + logging.Logger.Debug().Msgf("No products found for %s %s\n %s", result.Resource.Name, result.CostComponent.Name, string(b)) + + resource := result.Resource + + key := resource.BaseResourceType() + name := resource.BaseResourceName() + + if entry, exists := p.resources[key]; exists { + entry.Count++ + + var found bool + for _, resourceName := range entry.ResourceNames { + if resourceName == name { + found = true + break + } + } + + if !found { + entry.ResourceNames = append(entry.ResourceNames, name) + } + } else { + p.resources[key] = ¬FoundData{ + ResourceType: key, + ResourceNames: []string{name}, + Count: 1, + } + } + + // build a key for the component, this is used to aggregate the number of + // missing prices by cost component and resource type. The key is in the + // format: resource_type.cost_component_name. + componentName := strings.ToLower(result.CostComponent.Name) + pieces := strings.Split(componentName, "(") + if len(pieces) > 1 { + componentName = strings.TrimSpace(pieces[0]) + } + componentKey := fmt.Sprintf("%s.%s", key, strings.ReplaceAll(componentName, " ", "_")) + + if entry, exists := p.components[componentKey]; exists { + entry++ + p.components[componentKey] = entry + } else { + p.components[componentKey] = 1 + + } + + result.CostComponent.SetPriceNotFound() +} + +// MissingPricesComponents returns a map of missing prices by component name, component +// names are in the format: resource_type.cost_component_name. +func (p *PriceFetcher) MissingPricesComponents() []string { + p.mux.RLock() + defer p.mux.RUnlock() + + var result []string + for key, count := range p.components { + for i := 0; i < count; i++ { + result = append(result, key) + } + } + + return result +} + +// MissingPricesLen returns the number of missing prices. +func (p *PriceFetcher) MissingPricesLen() int { + p.mux.RLock() + defer p.mux.RUnlock() + + return len(p.resources) +} + +// LogWarnings writes the PriceFetcher prices to the application log. If the log level is +// above the debug level we also include resource names the log output. +func (p *PriceFetcher) LogWarnings() { + p.mux.RLock() + defer p.mux.RUnlock() + if len(p.resources) == 0 { + return + } + + var data []*notFoundData + for _, v := range p.resources { + data = append(data, v) + } + sort.Slice(data, func(i, j int) bool { + return data[i].Count > data[j].Count + }) + + level, _ := zerolog.ParseLevel(p.runCtx.Config.LogLevel) + includeResourceNames := level <= zerolog.DebugLevel + + s := strings.Builder{} + warningPad := strings.Repeat(" ", 5) + resourcePad := strings.Repeat(" ", 3) + for i, v := range data { + priceDesc := "price" + if v.Count > 1 { + priceDesc = "prices" + } - c := apiclient.GetPricingAPIClient(ctx) + resourceDesc := "resource" + if len(v.ResourceNames) > 1 { + resourceDesc = "resources" + } + + formattedResourceMsg := ui.FormatIfNotCI(p.runCtx, ui.WarningString, v.ResourceType) + msg := fmt.Sprintf("%d %s %s missing across %d %s\n", v.Count, formattedResourceMsg, priceDesc, len(v.ResourceNames), resourceDesc) + + // pad the next warning line so that it appears inline with the last warning. + if i > 0 { + msg = fmt.Sprintf("%s%s", warningPad, msg) + } + s.WriteString(msg) - err := GetPricesConcurrent(ctx, c, resources) + if includeResourceNames { + for _, resourceName := range v.ResourceNames { + name := ui.FormatIfNotCI(p.runCtx, ui.UnderlineString, resourceName) + s.WriteString(fmt.Sprintf("%s%s- %s \n", warningPad, resourcePad, name)) + } + } + } + + logging.Logger.Warn().Msg(s.String()) +} + +func (p *PriceFetcher) PopulatePrices(project *schema.Project) error { + resources := project.AllResources() + + err := p.getPricesConcurrent(resources) if err != nil { return err } return nil } -// GetPricesConcurrent gets the prices of all resources concurrently. +// getPricesConcurrent gets the prices of all resources concurrently. // Concurrency level is calculated using the following formula: // max(min(4, numCPU * 4), 16) -func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, resources []*schema.Resource) error { +func (p *PriceFetcher) getPricesConcurrent(resources []*schema.Resource) error { // Set the number of workers numWorkers := 4 numCPU := runtime.NumCPU() @@ -44,7 +212,7 @@ func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, numWorkers = 16 } - reqs := c.BatchRequests(resources, batchSize) + reqs := p.client.BatchRequests(resources, batchSize) numJobs := len(reqs) jobs := make(chan apiclient.BatchRequest, numJobs) @@ -54,7 +222,7 @@ func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, for i := 0; i < numWorkers; i++ { go func(jobs <-chan apiclient.BatchRequest, resultErrors chan<- error) { for req := range jobs { - err := GetPrices(ctx, c, req) + err := p.getPrices(req) resultErrors <- err } }(jobs, resultErrors) @@ -75,44 +243,43 @@ func GetPricesConcurrent(ctx *config.RunContext, c *apiclient.PricingAPIClient, return nil } -func GetPrices(ctx *config.RunContext, c *apiclient.PricingAPIClient, req apiclient.BatchRequest) error { - results, err := c.PerformRequest(req) +func (p *PriceFetcher) getPrices(req apiclient.BatchRequest) error { + results, err := p.client.PerformRequest(req) if err != nil { return err } for _, r := range results { - setCostComponentPrice(ctx, c.Currency, r.Resource, r.CostComponent, r.Result) + p.setCostComponentPrice(r) } return nil } -func setCostComponentPrice(ctx *config.RunContext, currency string, r *schema.Resource, c *schema.CostComponent, res gjson.Result) { - var p decimal.Decimal +func (p *PriceFetcher) setCostComponentPrice(result apiclient.PriceQueryResult) { + currency := p.client.Currency - if c.CustomPrice() != nil { - log.Debug().Msgf("Using user-defined custom price %v for %s %s.", *c.CustomPrice(), r.Name, c.Name) - c.SetPrice(*c.CustomPrice()) + var pp decimal.Decimal + if result.CostComponent.CustomPrice() != nil { + logging.Logger.Debug().Msgf("Using user-defined custom price %v for %s %s.", *result.CostComponent.CustomPrice(), result.Resource.Name, result.CostComponent.Name) + result.CostComponent.SetPrice(*result.CostComponent.CustomPrice()) return } - products := res.Get("data.products").Array() + products := result.Result.Get("data.products").Array() if len(products) == 0 { - if c.IgnoreIfMissingPrice { - log.Debug().Msgf("No products found for %s %s, ignoring since IgnoreIfMissingPrice is set.", r.Name, c.Name) - r.RemoveCostComponent(c) + if result.CostComponent.IgnoreIfMissingPrice { + logging.Logger.Debug().Msgf("No products found for %s %s, ignoring since IgnoreIfMissingPrice is set.", result.Resource.Name, result.CostComponent.Name) + result.Resource.RemoveCostComponent(result.CostComponent) return } - log.Warn().Msgf("No products found for %s %s, using 0.00", r.Name, c.Name) - setResourceWarningEvent(ctx, r, "No products found") - c.SetPrice(decimal.Zero) + p.addNotFoundResult(result) return } if len(products) > 1 { - log.Debug().Msgf("Multiple products found for %s %s, filtering those with prices", r.Name, c.Name) + logging.Logger.Debug().Msgf("Multiple products found for %s %s, filtering those with prices", result.Resource.Name, result.CostComponent.Name) } // Some resources may have identical records in CPAPI for the same product @@ -120,7 +287,7 @@ func setCostComponentPrice(ctx *config.RunContext, currency string, r *schema.Re // distinguished by their prices. However if we pick the first product it may not // have the price due to price filter and the lookup fails. Filtering the // products with prices helps to solve that. - productsWithPrices := []gjson.Result{} + var productsWithPrices []gjson.Result for _, product := range products { if len(product.Get("prices").Array()) > 0 { productsWithPrices = append(productsWithPrices, product) @@ -128,57 +295,33 @@ func setCostComponentPrice(ctx *config.RunContext, currency string, r *schema.Re } if len(productsWithPrices) == 0 { - if c.IgnoreIfMissingPrice { - log.Debug().Msgf("No prices found for %s %s, ignoring since IgnoreIfMissingPrice is set.", r.Name, c.Name) - r.RemoveCostComponent(c) + if result.CostComponent.IgnoreIfMissingPrice { + logging.Logger.Debug().Msgf("No prices found for %s %s, ignoring since IgnoreIfMissingPrice is set.", result.Resource.Name, result.CostComponent.Name) + result.Resource.RemoveCostComponent(result.CostComponent) return } - log.Warn().Msgf("No prices found for %s %s, using 0.00", r.Name, c.Name) - setResourceWarningEvent(ctx, r, "No prices found") - c.SetPrice(decimal.Zero) + p.addNotFoundResult(result) return } if len(productsWithPrices) > 1 { - log.Warn().Msgf("Multiple products with prices found for %s %s, using the first product", r.Name, c.Name) - setResourceWarningEvent(ctx, r, "Multiple products found") + logging.Logger.Debug().Msgf("Multiple products with prices found for %s %s, using the first product", result.Resource.Name, result.CostComponent.Name) } prices := productsWithPrices[0].Get("prices").Array() if len(prices) > 1 { - log.Warn().Msgf("Multiple prices found for %s %s, using the first price", r.Name, c.Name) - setResourceWarningEvent(ctx, r, "Multiple prices found") + logging.Logger.Debug().Msgf("Multiple prices found for %s %s, using the first price", result.Resource.Name, result.CostComponent.Name) } var err error - p, err = decimal.NewFromString(prices[0].Get(currency).String()) + pp, err = decimal.NewFromString(prices[0].Get(currency).String()) if err != nil { - log.Warn().Msgf("Error converting price to '%v' (using 0.00) '%v': %s", currency, prices[0].Get(currency).String(), err.Error()) - setResourceWarningEvent(ctx, r, "Error converting price") - c.SetPrice(decimal.Zero) + logging.Logger.Warn().Msgf("Error converting price to '%v' (using 0.00) '%v': %s", currency, prices[0].Get(currency).String(), err.Error()) + result.CostComponent.SetPrice(decimal.Zero) return } - c.SetPrice(p) - c.SetPriceHash(prices[0].Get("priceHash").String()) -} - -func setResourceWarningEvent(ctx *config.RunContext, r *schema.Resource, msg string) { - warningMu.Lock() - defer warningMu.Unlock() - - warnings := ctx.GetResourceWarnings() - if warnings == nil { - warnings = make(map[string]map[string]int) - ctx.SetResourceWarnings(warnings) - } - - resourceWarnings := warnings[r.ResourceType] - if resourceWarnings == nil { - resourceWarnings = make(map[string]int) - warnings[r.ResourceType] = resourceWarnings - } - - resourceWarnings[msg] += 1 + result.CostComponent.SetPrice(pp) + result.CostComponent.SetPriceHash(prices[0].Get("priceHash").String()) } diff --git a/internal/prices/prices_test.go b/internal/prices/prices_test.go new file mode 100644 index 00000000000..881b08175dd --- /dev/null +++ b/internal/prices/prices_test.go @@ -0,0 +1,63 @@ +package prices + +import ( + "sync" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/infracost/infracost/internal/apiclient" + "github.com/infracost/infracost/internal/schema" +) + +func Test_notFound_Add(t *testing.T) { + type args struct { + results []apiclient.PriceQueryResult + } + tests := []struct { + name string + args args + want []string + }{ + { + name: "test aggregates resource/cost component with correct keys", + args: args{results: []apiclient.PriceQueryResult{ + { + PriceQueryKey: apiclient.PriceQueryKey{ + Resource: &schema.Resource{ResourceType: "aws_instance"}, + CostComponent: &schema.CostComponent{Name: "Compute (on-demand, foo)"}, + }, + }, + { + PriceQueryKey: apiclient.PriceQueryKey{ + Resource: &schema.Resource{ResourceType: "aws_instance"}, + CostComponent: &schema.CostComponent{Name: "Data Storage"}, + }, + }, + { + PriceQueryKey: apiclient.PriceQueryKey{ + Resource: &schema.Resource{ResourceType: "aws_instance"}, + CostComponent: &schema.CostComponent{Name: "Compute (on-demand, bar)"}, + }, + }, + }}, + want: []string{"aws_instance.compute", "aws_instance.compute", "aws_instance.data_storage"}, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + p := &PriceFetcher{ + resources: make(map[string]*notFoundData), + components: make(map[string]int), + mux: &sync.RWMutex{}, + } + for _, res := range tt.args.results { + p.addNotFoundResult(res) + + } + + actual := p.MissingPricesComponents() + assert.Equal(t, tt.want, actual) + }) + } +} diff --git a/internal/providers/cloudformation/aws/dynamodb_table.go b/internal/providers/cloudformation/aws/dynamodb_table.go index de240fd1cbc..167757b3018 100644 --- a/internal/providers/cloudformation/aws/dynamodb_table.go +++ b/internal/providers/cloudformation/aws/dynamodb_table.go @@ -2,8 +2,8 @@ package aws import ( "github.com/awslabs/goformation/v7/cloudformation/dynamodb" - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" ) @@ -21,7 +21,7 @@ func GetDynamoDBTableRegistryItem() *schema.RegistryItem { func NewDynamoDBTable(d *schema.ResourceData, u *schema.UsageData) *schema.Resource { cfr, ok := d.CFResource.(*dynamodb.Table) if !ok { - log.Warn().Msgf("Skipping resource %s as it did not have the expected type (got %T)", d.Address, d.CFResource) + logging.Logger.Debug().Msgf("Skipping resource %s as it did not have the expected type (got %T)", d.Address, d.CFResource) return nil } diff --git a/internal/providers/cloudformation/template_provider.go b/internal/providers/cloudformation/template_provider.go index 7481e152bab..ab88e7b7e86 100644 --- a/internal/providers/cloudformation/template_provider.go +++ b/internal/providers/cloudformation/template_provider.go @@ -5,8 +5,8 @@ import ( "github.com/pkg/errors" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) type TemplateProvider struct { @@ -23,6 +23,14 @@ func NewTemplateProvider(ctx *config.ProjectContext, includePastResources bool) } } +func (p *TemplateProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *TemplateProvider) VarFiles() []string { + return nil +} + func (p *TemplateProvider) Context() *config.ProjectContext { return p.ctx } func (p *TemplateProvider) Type() string { @@ -37,18 +45,17 @@ func (p *TemplateProvider) AddMetadata(metadata *schema.ProjectMetadata) { metadata.ConfigSha = p.ctx.ProjectConfig.ConfigSha } +func (p *TemplateProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *TemplateProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { template, err := goformation.Open(p.Path) if err != nil { return []*schema.Project{}, errors.Wrap(err, "Error reading CloudFormation template file") } - spinner := ui.NewSpinner("Extracting only cost-related params from cloudformation", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from cloudformation") metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() @@ -69,6 +76,5 @@ func (p *TemplateProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proje project.PartialResources = append(project.PartialResources, item.PartialResource) } - spinner.Success() return []*schema.Project{project}, nil } diff --git a/internal/providers/detect.go b/internal/providers/detect.go index c34f111f81d..413c93f07bc 100644 --- a/internal/providers/detect.go +++ b/internal/providers/detect.go @@ -18,18 +18,21 @@ import ( "github.com/infracost/infracost/internal/schema" ) +type DetectionOutput struct { + Providers []schema.Provider + RootModules int +} + // Detect returns a list of providers for the given path. Multiple returned // providers are because of auto-detected root modules residing under the // original path. -func Detect(ctx *config.RunContext, project *config.Project, includePastResources bool) ([]schema.Provider, error) { - path := project.Path - - if _, err := os.Stat(path); os.IsNotExist(err) { - return nil, fmt.Errorf("No such file or directory %s", path) +func Detect(ctx *config.RunContext, project *config.Project, includePastResources bool) (*DetectionOutput, error) { + if _, err := os.Stat(project.Path); os.IsNotExist(err) { + return &DetectionOutput{}, fmt.Errorf("No such file or directory %s", project.Path) } forceCLI := project.TerraformForceCLI - projectType := DetectProjectType(path, forceCLI) + projectType := DetectProjectType(project.Path, forceCLI) projectContext := config.NewProjectContext(ctx, project, nil) if projectType != ProjectTypeAutodetect { projectContext.ContextValues.SetValue("project_type", projectType) @@ -37,17 +40,17 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource switch projectType { case ProjectTypeTerraformPlanJSON: - return []schema.Provider{terraform.NewPlanJSONProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewPlanJSONProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeTerraformPlanBinary: - return []schema.Provider{terraform.NewPlanProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewPlanProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeTerraformCLI: - return []schema.Provider{terraform.NewDirProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewDirProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeTerragruntCLI: - return []schema.Provider{terraform.NewTerragruntProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewTerragruntProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeTerraformStateJSON: - return []schema.Provider{terraform.NewStateJSONProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{terraform.NewStateJSONProvider(projectContext, includePastResources)}, RootModules: 1}, nil case ProjectTypeCloudFormation: - return []schema.Provider{cloudformation.NewTemplateProvider(projectContext, includePastResources)}, nil + return &DetectionOutput{Providers: []schema.Provider{cloudformation.NewTemplateProvider(projectContext, includePastResources)}, RootModules: 1}, nil } pathOverrides := make([]hcl.PathOverrideConfig, len(ctx.Config.Autodetect.PathOverrides)) @@ -75,31 +78,39 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource ForceProjectType: ctx.Config.Autodetect.ForceProjectType, TerraformVarFileExtensions: ctx.Config.Autodetect.TerraformVarFileExtensions, } + + // if the config file path is set, we should set the project locator to use the + // working directory this is so that the paths of the detected RootPaths are + // relative to the working directory and not the paths specified in the config + // file. + if ctx.Config.ConfigFilePath != "" { + locatorConfig.WorkingDirectory = ctx.Config.WorkingDirectory() + } + pl := hcl.NewProjectLocator(logging.Logger, locatorConfig) rootPaths := pl.FindRootModules(project.Path) if len(rootPaths) == 0 { - return nil, fmt.Errorf("could not detect path type for '%s'", path) + return &DetectionOutput{}, fmt.Errorf("could not detect path type for '%s'", project.Path) } var autoProviders []schema.Provider for _, rootPath := range rootPaths { - projectContext := config.NewProjectContext(ctx, project, nil) + detectedProjectContext := config.NewProjectContext(ctx, project, nil) if rootPath.IsTerragrunt { - projectContext.ContextValues.SetValue("project_type", "terragrunt_dir") - autoProviders = append(autoProviders, terraform.NewTerragruntHCLProvider(rootPath, projectContext)) + detectedProjectContext.ContextValues.SetValue("project_type", "terragrunt_dir") + autoProviders = append(autoProviders, terraform.NewTerragruntHCLProvider(rootPath, detectedProjectContext)) } else { - options := []hcl.Option{hcl.OptionWithSpinner(ctx.NewSpinner)} - projectContext.ContextValues.SetValue("project_type", "terraform_dir") + detectedProjectContext.ContextValues.SetValue("project_type", "terraform_dir") if ctx.Config.ConfigFilePath == "" && len(project.TerraformVarFiles) == 0 { - autoProviders = append(autoProviders, autodetectedRootToProviders(pl, projectContext, rootPath, options...)...) + autoProviders = append(autoProviders, autodetectedRootToProviders(pl, detectedProjectContext, rootPath)...) } else { - autoProviders = append(autoProviders, configFileRootToProvider(rootPath, options, projectContext, pl)) + autoProviders = append(autoProviders, configFileRootToProvider(rootPath, nil, detectedProjectContext, pl)) } } } - return autoProviders, nil + return &DetectionOutput{Providers: autoProviders, RootModules: len(rootPaths)}, nil } // configFileRootToProvider returns a provider for the given root path which is @@ -109,7 +120,7 @@ func Detect(ctx *config.RunContext, project *config.Project, includePastResource func configFileRootToProvider(rootPath hcl.RootPath, options []hcl.Option, projectContext *config.ProjectContext, pl *hcl.ProjectLocator) *terraform.HCLProvider { var autoVarFiles []string for _, varFile := range rootPath.TerraformVarFiles { - if hcl.IsAutoVarFile(varFile.RelPath) && (filepath.Dir(varFile.RelPath) == rootPath.Path || filepath.Dir(varFile.RelPath) == ".") { + if hcl.IsAutoVarFile(varFile.RelPath) && (filepath.Dir(varFile.RelPath) == rootPath.DetectedPath || filepath.Dir(varFile.RelPath) == ".") { autoVarFiles = append(autoVarFiles, varFile.RelPath) } } @@ -125,7 +136,7 @@ func configFileRootToProvider(rootPath hcl.RootPath, options []hcl.Option, proje options..., ) if providerErr != nil { - logging.Logger.Warn().Err(providerErr).Msgf("could not initialize provider for path %q", rootPath.Path) + logging.Logger.Warn().Err(providerErr).Msgf("could not initialize provider for path %q", rootPath.DetectedPath) } return h } @@ -151,7 +162,7 @@ func autodetectedRootToProviders(pl *hcl.ProjectLocator, projectContext *config. hcl.OptionWithModuleSuffix(env.Name), )...) if err != nil { - logging.Logger.Warn().Err(err).Msgf("could not initialize provider for path %q", rootPath.Path) + logging.Logger.Warn().Err(err).Msgf("could not initialize provider for path %q", rootPath.DetectedPath) continue } @@ -174,7 +185,7 @@ func autodetectedRootToProviders(pl *hcl.ProjectLocator, projectContext *config. providerOptions..., ) if err != nil { - logging.Logger.Warn().Err(err).Msgf("could not initialize provider for path %q", rootPath.Path) + logging.Logger.Warn().Err(err).Msgf("could not initialize provider for path %q", rootPath.DetectedPath) return nil } diff --git a/internal/providers/terraform/aws/autoscaling_group.go b/internal/providers/terraform/aws/autoscaling_group.go index 8c265084de9..e020773c1e0 100644 --- a/internal/providers/terraform/aws/autoscaling_group.go +++ b/internal/providers/terraform/aws/autoscaling_group.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" @@ -41,7 +41,7 @@ func NewAutoscalingGroup(d *schema.ResourceData) schema.CoreResource { } else { instanceCount = d.Get("min_size").Int() if instanceCount == 0 { - log.Debug().Msgf("Using instance count 1 for %s since no desired_capacity or non-zero min_size is set. To override this set the instance_count attribute for this resource in the Infracost usage file.", a.Address) + logging.Logger.Debug().Msgf("Using instance count 1 for %s since no desired_capacity or non-zero min_size is set. To override this set the instance_count attribute for this resource in the Infracost usage file.", a.Address) instanceCount = 1 } } diff --git a/internal/providers/terraform/aws/aws.go b/internal/providers/terraform/aws/aws.go index 2546ef0fd1f..0d47758ffbc 100644 --- a/internal/providers/terraform/aws/aws.go +++ b/internal/providers/terraform/aws/aws.go @@ -3,9 +3,9 @@ package aws import ( "strings" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -89,7 +89,7 @@ func GetResourceRegion(resourceType string, v gjson.Result) string { arn := v.Get(arnAttr).String() p := strings.Split(arn, ":") if len(p) < 4 { - log.Debug().Msgf("Unexpected ARN format for %s", arn) + logging.Logger.Debug().Msgf("Unexpected ARN format for %s", arn) return "" } diff --git a/internal/providers/terraform/aws/directory_service_directory.go b/internal/providers/terraform/aws/directory_service_directory.go index 213df710ce0..7c105b5ad36 100644 --- a/internal/providers/terraform/aws/directory_service_directory.go +++ b/internal/providers/terraform/aws/directory_service_directory.go @@ -4,8 +4,7 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/aws" "github.com/infracost/infracost/internal/schema" ) @@ -23,7 +22,7 @@ func newDirectoryServiceDirectory(d *schema.ResourceData) schema.CoreResource { region := d.Get("region").String() regionName, ok := aws.RegionMapping[region] if !ok { - log.Warn().Msgf("Could not find mapping for resource %s region %s", d.Address, region) + logging.Logger.Warn().Msgf("Could not find mapping for resource %s region %s", d.Address, region) } a := &aws.DirectoryServiceDirectory{ diff --git a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden index dde2b4618dd..64b25bf3110 100644 --- a/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden +++ b/internal/providers/terraform/aws/testdata/acm_certificate_test/acm_certificate_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestACMCertificateGoldenFile ┃ $0.00 ┃ $0.75 ┃ $0.75 ┃ +┃ main ┃ $0.00 ┃ $0.75 ┃ $0.75 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden index 7a6eefa8274..29c6b767a0d 100644 --- a/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden +++ b/internal/providers/terraform/aws/testdata/acmpca_certificate_authority_test/acmpca_certificate_authority_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestACMPCACertificateAuthorityFunction ┃ $1,700 ┃ $9,720 ┃ $11,420 ┃ +┃ main ┃ $1,700 ┃ $9,720 ┃ $11,420 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden index d76da01d8dd..1cf5d1e0ba9 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_rest_api_test/api_gateway_rest_api_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestApiGatewayRestApiGoldenFile ┃ $0.00 ┃ $49,763 ┃ $49,763 ┃ +┃ main ┃ $0.00 ┃ $49,763 ┃ $49,763 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden index cefc8eeab40..1f249deb4c1 100644 --- a/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden +++ b/internal/providers/terraform/aws/testdata/api_gateway_stage_test/api_gateway_stage_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestApiGatewayStageGoldenFile ┃ $2,789 ┃ $0.00 ┃ $2,789 ┃ +┃ main ┃ $2,789 ┃ $0.00 ┃ $2,789 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden index c536fa7f45d..9beb101e893 100644 --- a/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden +++ b/internal/providers/terraform/aws/testdata/apigatewayv2_api_test/apigatewayv2_api_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestApiGatewayv2ApiGoldenFile ┃ $0.00 ┃ $2,333 ┃ $2,333 ┃ +┃ main ┃ $0.00 ┃ $2,333 ┃ $2,333 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden index 7152d374558..aebf0e18177 100644 --- a/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden +++ b/internal/providers/terraform/aws/testdata/autoscaling_group_test/autoscaling_group_test.golden @@ -198,9 +198,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAutoscalingGroup ┃ $3,585 ┃ $0.00 ┃ $3,585 ┃ +┃ main ┃ $3,585 ┃ $0.00 ┃ $3,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource aws_launch_configuration.lc_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Configurations -WRN Skipping resource aws_launch_template.lt_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Templates \ No newline at end of file +WARN Skipping resource aws_launch_configuration.lc_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Configurations +WARN Skipping resource aws_launch_template.lt_tenancy_host. Infracost currently does not support host tenancy for AWS Launch Templates \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden index 8380da537d7..d2594cfada3 100644 --- a/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden +++ b/internal/providers/terraform/aws/testdata/backup_vault_test/backup_vault_test.golden @@ -40,5 +40,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestBackupVault ┃ $0.00 ┃ $12,960 ┃ $12,960 ┃ +┃ main ┃ $0.00 ┃ $12,960 ┃ $12,960 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden index df938f7afd6..3d515e8d242 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_set_test/cloudformation_stack_set_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudFirmationStackSet ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden index 2acc1d3f31c..42b4b3b5dad 100644 --- a/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudformation_stack_test/cloudformation_stack_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudFirmationStack ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden index 52f5acb9af7..c2887c9c01a 100644 --- a/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudfront_distribution_test/cloudfront_distribution_test.golden @@ -186,5 +186,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫ -┃ TestCloudfrontDistributionGoldenFile ┃ $0.00 ┃ $21,684,502 ┃ $21,684,502 ┃ +┃ main ┃ $0.00 ┃ $21,684,502 ┃ $21,684,502 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden index d904c457916..06fe6ba2b21 100644 --- a/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudhsm_v2_hsm_test/cloudhsm_v2_hsm_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudHSMv2HSM ┃ $0.00 ┃ $1,328 ┃ $1,328 ┃ +┃ main ┃ $0.00 ┃ $1,328 ┃ $1,328 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden index 7b994b44172..5f9071cc2b4 100644 --- a/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudtrail_test/cloudtrail_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudtrailGoldenFile ┃ $0.00 ┃ $3 ┃ $3 ┃ +┃ main ┃ $0.00 ┃ $3 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden index c6c355975c9..5c2da6d6d1a 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_dashboard_test/cloudwatch_dashboard_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudwatchDashboard ┃ $3 ┃ $0.00 ┃ $3 ┃ +┃ main ┃ $3 ┃ $0.00 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden index e0d22f7b981..8f62e193768 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_event_bus_test/cloudwatch_event_bus_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudwatchEventBus ┃ $0.00 ┃ $18 ┃ $18 ┃ +┃ main ┃ $0.00 ┃ $18 ┃ $18 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden index 8ee7b2100b2..4d081439b3c 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_log_group_test/cloudwatch_log_group_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudwatchLogGroup ┃ $0.00 ┃ $2,065 ┃ $2,065 ┃ +┃ main ┃ $0.00 ┃ $2,065 ┃ $2,065 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden index d86d0bde587..ef9e40606be 100644 --- a/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden +++ b/internal/providers/terraform/aws/testdata/cloudwatch_metric_alarm_test/cloudwatch_metric_alarm_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudwatchMetricAlarm ┃ $2 ┃ $0.00 ┃ $2 ┃ +┃ main ┃ $2 ┃ $0.00 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden index 7fd414f035b..73880b1b540 100644 --- a/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden +++ b/internal/providers/terraform/aws/testdata/codebuild_project_test/codebuild_project_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudbuildProject ┃ $0.00 ┃ $5,705 ┃ $5,705 ┃ +┃ main ┃ $0.00 ┃ $5,705 ┃ $5,705 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden index fe01adbdb37..ded194708a0 100644 --- a/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_config_rule_test/config_config_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestConfigConfigRule ┃ $0.00 ┃ $670 ┃ $670 ┃ +┃ main ┃ $0.00 ┃ $670 ┃ $670 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden index 4f9621aeb4d..dff5672a452 100644 --- a/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden +++ b/internal/providers/terraform/aws/testdata/config_configuration_recorder_test/config_configuration_recorder_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestConfigurationGoldenFile ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden index 75f50aa05a5..f1d19dc6c17 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_custom_rule_test/config_organization_custom_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestOrganizationCustomRuleGoldenFile ┃ $0.00 ┃ $470 ┃ $470 ┃ +┃ main ┃ $0.00 ┃ $470 ┃ $470 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden index c10cf030aa6..40ee59b31ce 100644 --- a/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden +++ b/internal/providers/terraform/aws/testdata/config_organization_managed_rule_test/config_organization_managed_rule_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestOrganizationManagedRuleGoldenFile ┃ $0.00 ┃ $470 ┃ $470 ┃ +┃ main ┃ $0.00 ┃ $470 ┃ $470 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden index 2f3b9a04bac..c111bdbe978 100644 --- a/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden +++ b/internal/providers/terraform/aws/testdata/data_transfer_test/data_transfer_test.golden @@ -229,5 +229,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataTransferGoldenFile ┃ $0.00 ┃ $363,015 ┃ $363,015 ┃ +┃ main ┃ $0.00 ┃ $363,015 ┃ $363,015 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden index 73284e323bd..d64ae41b0b6 100644 --- a/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/db_instance_test/db_instance_test.golden @@ -317,5 +317,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDBInstanceGoldenFile ┃ $10,719 ┃ $1,161 ┃ $11,880 ┃ +┃ main ┃ $10,719 ┃ $1,161 ┃ $11,880 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden index 079eb1f55fd..b78c392f25e 100644 --- a/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden +++ b/internal/providers/terraform/aws/testdata/directory_service_directory_test/directory_service_directory_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDirectoryServiceDirectoryGoldenFile ┃ $905 ┃ $390 ┃ $1,295 ┃ +┃ main ┃ $905 ┃ $390 ┃ $1,295 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden index 22f84f910db..77a6ac2a5f6 100644 --- a/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden +++ b/internal/providers/terraform/aws/testdata/dms_test/dms_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewNewDMSReplicationInstanceGoldenFile ┃ $44 ┃ $0.00 ┃ $44 ┃ +┃ main ┃ $44 ┃ $0.00 ┃ $44 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden index 6521eb9e105..ad9bb24811d 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_instance_test/docdb_cluster_instance_test.golden @@ -46,5 +46,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDocDBClusterInstanceGoldenFile ┃ $3,463 ┃ $410 ┃ $3,873 ┃ +┃ main ┃ $3,463 ┃ $410 ┃ $3,873 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden index 3a0f21c74b5..f03f5124065 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_snapshot_test/docdb_cluster_snapshot_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDocDBClusterSnapshotGoldenFile ┃ $0.00 ┃ $42 ┃ $42 ┃ +┃ main ┃ $0.00 ┃ $42 ┃ $42 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden index 4fd50e0837c..8238c01576f 100644 --- a/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/docdb_cluster_test/docdb_cluster_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewDocDBClusterGoldenFile ┃ $0.00 ┃ $420 ┃ $420 ┃ +┃ main ┃ $0.00 ┃ $420 ┃ $420 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden index 5b6338c5728..d504987ceaf 100644 --- a/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_connection_test/dx_connection_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDXConnectionGoldenFile ┃ $657 ┃ $302 ┃ $959 ┃ +┃ main ┃ $657 ┃ $302 ┃ $959 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden index c390c552ffb..e45afb2ed5c 100644 --- a/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden +++ b/internal/providers/terraform/aws/testdata/dx_gateway_association_test/dx_gateway_association_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDXGatewayAssociationGoldenFile ┃ $73 ┃ $2 ┃ $75 ┃ +┃ main ┃ $73 ┃ $2 ┃ $75 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden index da1e9da54bb..eb7b606cec0 100644 --- a/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden +++ b/internal/providers/terraform/aws/testdata/dynamodb_table_test/dynamodb_table_test.golden @@ -78,5 +78,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDynamoDBTableGoldenFile ┃ $106 ┃ $657 ┃ $763 ┃ +┃ main ┃ $106 ┃ $657 ┃ $763 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden index 3ce08e910af..fd60cc88dd2 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_copy_test/ebs_snapshot_copy_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEBSSnapshotCopyGoldenFile ┃ $1 ┃ $1 ┃ $2 ┃ +┃ main ┃ $1 ┃ $1 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden index f53c5e24f7d..c608c3b58c9 100644 --- a/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_snapshot_test/ebs_snapshot_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEBSSnapshotGoldenFile ┃ $1 ┃ $77 ┃ $78 ┃ +┃ main ┃ $1 ┃ $77 ┃ $78 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden index df0806d1f82..2bd494326dd 100644 --- a/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden +++ b/internal/providers/terraform/aws/testdata/ebs_volume_test/ebs_volume_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEBSVolumeGoldenFile ┃ $60 ┃ $0.05 ┃ $61 ┃ +┃ main ┃ $60 ┃ $0.05 ┃ $61 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden index 66d7baca8df..3a5cfb655c7 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_endpoint_test/ec2_client_vpn_endpoint_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2ClientVpnEndpointGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden index b1d491b4cf2..10188c99db0 100644 --- a/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_client_vpn_network_association_test/ec2_client_vpn_network_association_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2ClientVpnNetworkAssociationGoldenFile ┃ $73 ┃ $0.00 ┃ $73 ┃ +┃ main ┃ $73 ┃ $0.00 ┃ $73 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden index 29f51b827b6..41eac9ebe46 100644 --- a/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_host_test/ec2_host_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2Host ┃ $8,391 ┃ $0.00 ┃ $8,391 ┃ +┃ main ┃ $8,391 ┃ $0.00 ┃ $8,391 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden index f84b00361a0..425ad24d8f5 100644 --- a/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_traffic_mirror_session_test/ec2_traffic_mirror_session_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2TrafficMirrorSessionGoldenFile ┃ $11 ┃ $0.00 ┃ $11 ┃ +┃ main ┃ $11 ┃ $0.00 ┃ $11 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden index a8c4f407cc2..ce40099f969 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_peering_attachment_test/ec2_transit_gateway_peering_attachment_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2TransitGatewayPeeringAttachmentGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden index 217f39aae7c..024409e5927 100644 --- a/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden +++ b/internal/providers/terraform/aws/testdata/ec2_transit_gateway_vpc_attachment_test/ec2_transit_gateway_vpc_attachment_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEC2TransitGatewayVpcAttachmentGoldenFile ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden index a3f430ae61f..cc20bdfb737 100644 --- a/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden +++ b/internal/providers/terraform/aws/testdata/ecr_repository_test/ecr_repository_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEcrRepositoryGoldenFile ┃ $0.00 ┃ $0.10 ┃ $0.10 ┃ +┃ main ┃ $0.00 ┃ $0.10 ┃ $0.10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden index 9fba3604009..e10905fd2dd 100644 --- a/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden +++ b/internal/providers/terraform/aws/testdata/ecs_service_test/ecs_service_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestECSServiceGoldenFile ┃ $2,349 ┃ $0.00 ┃ $2,349 ┃ +┃ main ┃ $2,349 ┃ $0.00 ┃ $2,349 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden index 79749719c7f..667dd3c4bec 100644 --- a/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/efs_file_system_test/efs_file_system_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewEFSFileSystemStandardStorage ┃ $0.00 ┃ $713 ┃ $713 ┃ +┃ main ┃ $0.00 ┃ $713 ┃ $713 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden index 136adff589f..7d9c2003a82 100644 --- a/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden +++ b/internal/providers/terraform/aws/testdata/eip_test/eip_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEIP ┃ $84 ┃ $0.00 ┃ $84 ┃ +┃ main ┃ $84 ┃ $0.00 ┃ $84 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden index eba351089ff..0c6895e183a 100644 --- a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEKSClusterGoldenFile ┃ $1,314 ┃ $0.00 ┃ $1,314 ┃ +┃ main ┃ $1,314 ┃ $0.00 ┃ $1,314 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden index b8b462fc93e..9bf7c3f5e89 100644 --- a/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_fargate_profile_test/eks_fargate_profile_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEKSFargateProfileGoldenFile ┃ $106 ┃ $0.00 ┃ $106 ┃ +┃ main ┃ $106 ┃ $0.00 ┃ $106 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden index 6af584480ae..95ca74d7307 100644 --- a/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_node_group_test/eks_node_group_test.golden @@ -76,5 +76,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEKSNodeGroupGoldenFile ┃ $2,762 ┃ $0.00 ┃ $2,762 ┃ +┃ main ┃ $2,762 ┃ $0.00 ┃ $2,762 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden index 358091cb6ac..4dfb67952b5 100644 --- a/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/elastic_beanstalk_environment_test/elastic_beanstalk_environment_test.golden @@ -83,5 +83,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestElasticBeanstalkEnvironmentGoldenFile ┃ $1,959 ┃ $926 ┃ $2,885 ┃ +┃ main ┃ $1,959 ┃ $926 ┃ $2,885 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden index 6ea6627241e..9e1f3d43206 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_cluster_test/elasticache_cluster_test.golden @@ -35,5 +35,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestElastiCacheCluster ┃ $10,634 ┃ $850 ┃ $11,484 ┃ +┃ main ┃ $10,634 ┃ $850 ┃ $11,484 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden index 1dd6104353b..cfaceac3127 100644 --- a/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticache_replication_group_test/elasticache_replication_group_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestElastiCacheReplicationGroup ┃ $13,387 ┃ $10,021 ┃ $23,409 ┃ +┃ main ┃ $13,387 ┃ $10,021 ┃ $23,409 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden index 0da92abb209..f152b333e91 100644 --- a/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/elasticsearch_domain_test/elasticsearch_domain_test.golden @@ -69,5 +69,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestElasticsearchDomain ┃ $15,972 ┃ $0.00 ┃ $15,972 ┃ +┃ main ┃ $15,972 ┃ $0.00 ┃ $15,972 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden index 922d8069a00..eb2b95fd44b 100644 --- a/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden +++ b/internal/providers/terraform/aws/testdata/elb_test/elb_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestELB ┃ $37 ┃ $80 ┃ $117 ┃ +┃ main ┃ $37 ┃ $80 ┃ $117 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden index ac38921b7b3..301a853c1b4 100644 --- a/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_openzfs_file_system_test/fsx_openzfs_file_system_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFSXOpenZFSFS ┃ $1,149 ┃ $0.00 ┃ $1,149 ┃ +┃ main ┃ $1,149 ┃ $0.00 ┃ $1,149 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden index df80d893e74..aaf2d987b0d 100644 --- a/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden +++ b/internal/providers/terraform/aws/testdata/fsx_windows_file_system_test/fsx_windows_file_system_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFSXWindowsFS ┃ $18,585 ┃ $1,000 ┃ $19,585 ┃ +┃ main ┃ $18,585 ┃ $1,000 ┃ $19,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden index b46eb0629b8..a8d7e9d306d 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_endpoint_group_test/global_accelerator_endpoint_group_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫ -┃ TestGlobalAcceleratorEndpointGroup ┃ $0.00 ┃ $19,161,650 ┃ $19,161,650 ┃ +┃ main ┃ $0.00 ┃ $19,161,650 ┃ $19,161,650 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden index 1d2c6baacd7..f8b6710d02f 100644 --- a/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden +++ b/internal/providers/terraform/aws/testdata/global_accelerator_test/global_accelerator_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGlobalAccelerator ┃ $18 ┃ $0.00 ┃ $18 ┃ +┃ main ┃ $18 ┃ $0.00 ┃ $18 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden index 8bf586d2c2b..50bff755b69 100644 --- a/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_catalog_database_test/glue_catalog_database_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGlueCatalogDatabaseGoldenFile ┃ $0.00 ┃ $302 ┃ $302 ┃ +┃ main ┃ $0.00 ┃ $302 ┃ $302 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden index 2a54d1bae0e..d76f73ee1ba 100644 --- a/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_crawler_test/glue_crawler_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGlueCrawlerGoldenFile ┃ $0.00 ┃ $26 ┃ $26 ┃ +┃ main ┃ $0.00 ┃ $26 ┃ $26 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden index 8841b0b66c4..5612192bb29 100644 --- a/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden +++ b/internal/providers/terraform/aws/testdata/glue_job_test/glue_job_test.golden @@ -30,5 +30,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGlueJobGoldenFile ┃ $0.00 ┃ $1,320 ┃ $1,320 ┃ +┃ main ┃ $0.00 ┃ $1,320 ┃ $1,320 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden index ded2db4b339..ed435ccc9ea 100644 --- a/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden +++ b/internal/providers/terraform/aws/testdata/instance_test/instance_test.golden @@ -195,8 +195,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestInstanceGoldenFile ┃ $2,090 ┃ $0.00 ┃ $2,090 ┃ +┃ main ┃ $2,090 ┃ $0.00 ┃ $2,090 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource aws_instance.instance1_hostTenancy. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up \ No newline at end of file +WARN Skipping resource aws_instance.instance1_hostTenancy. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden index c4b5a6d0988..a91f4553001 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_firehose_delivery_stream_test/kinesis_firehose_delivery_stream_test.golden @@ -60,5 +60,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisFirehoseDeliveryStream ┃ $247,199 ┃ $419,104 ┃ $666,303 ┃ +┃ main ┃ $247,199 ┃ $419,104 ┃ $666,303 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden index 944a5348c59..19c392c3426 100644 --- a/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesis_stream_test/kinesis_stream_test.golden @@ -80,5 +80,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisStream ┃ $226 ┃ $19 ┃ $245 ┃ +┃ main ┃ $226 ┃ $19 ┃ $245 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden index 4ed2810a714..920eb64c186 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalytics_application_test/kinesisanalytics_application_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsApplicationGoldenFile ┃ $0.00 ┃ $927 ┃ $927 ┃ +┃ main ┃ $0.00 ┃ $927 ┃ $927 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden index 58369ab7907..fc5f2abcb7b 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_snapshot_test/kinesisanalyticsv2_application_snapshot_test.golden @@ -28,8 +28,8 @@ ∙ 4 were estimated ∙ 1 was free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsV2ApplicationSnapshotGoldenFile ┃ $185 ┃ $2 ┃ $188 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $185 ┃ $2 ┃ $188 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden index c5bac70514e..496ea8b5d88 100644 --- a/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden +++ b/internal/providers/terraform/aws/testdata/kinesisanalyticsv2_application_test/kinesisanalyticsv2_application_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKinesisAnalyticsV2ApplicationGoldenFile ┃ $185 ┃ $1,915 ┃ $2,100 ┃ +┃ main ┃ $185 ┃ $1,915 ┃ $2,100 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden index a0c7cd046c3..c33dfa30438 100644 --- a/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_external_key_test/kms_external_key_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKMSExternalKeyGoldenFile ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden index 70225fe9c7b..e9aaed2427a 100644 --- a/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden +++ b/internal/providers/terraform/aws/testdata/kms_key_test/kms_key_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKMSKey ┃ $3 ┃ $0.00 ┃ $3 ┃ +┃ main ┃ $3 ┃ $0.00 ┃ $3 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden index 5934f53d289..5db18798155 100644 --- a/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_function_test/lambda_function_test.golden @@ -68,5 +68,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLambdaFunctionGoldenFile ┃ $0.00 ┃ $1,282,286 ┃ $1,282,286 ┃ +┃ main ┃ $0.00 ┃ $1,282,286 ┃ $1,282,286 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden index 5628581ad25..6d3d3d83236 100644 --- a/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden +++ b/internal/providers/terraform/aws/testdata/lambda_provisioned_concurrency_config_test/lambda_provisioned_concurrency_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLambdaProvisionedConcurrencyConfig ┃ $0.00 ┃ $46 ┃ $46 ┃ +┃ main ┃ $0.00 ┃ $46 ┃ $46 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden index 12c5ee6bf42..a20c9717aed 100644 --- a/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/aws/testdata/lb_test/lb_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLBGoldenFile ┃ $82 ┃ $14 ┃ $96 ┃ +┃ main ┃ $82 ┃ $14 ┃ $96 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden index e859265c5dc..364412fb3ac 100644 --- a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLightsailInstanceGoldenFile ┃ $98 ┃ $0.00 ┃ $98 ┃ +┃ main ┃ $98 ┃ $0.00 ┃ $98 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden index e53e58c56df..f22e0b07e93 100644 --- a/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden +++ b/internal/providers/terraform/aws/testdata/mq_broker_test/mq_broker_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMQBrokerGoldenFile ┃ $2,146 ┃ $3 ┃ $2,149 ┃ +┃ main ┃ $2,146 ┃ $3 ┃ $2,149 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden index 9080c0c0836..3576541dd92 100644 --- a/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/msk_cluster_test/msk_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSKClusterGoldenFile ┃ $29,633 ┃ $771 ┃ $30,405 ┃ +┃ main ┃ $29,633 ┃ $771 ┃ $30,405 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden index 842859dc689..c2178b08cc5 100644 --- a/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden +++ b/internal/providers/terraform/aws/testdata/mwaa_environment_test/mwaa_environment_test.golden @@ -30,5 +30,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMWAAEnvironmentGoldenFile ┃ $2,504 ┃ $100 ┃ $2,604 ┃ +┃ main ┃ $2,504 ┃ $100 ┃ $2,604 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden index 603775af00d..14bc51fa175 100644 --- a/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/aws/testdata/nat_gateway_test/nat_gateway_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNATGatewayGoldenFile ┃ $66 ┃ $5 ┃ $70 ┃ +┃ main ┃ $66 ┃ $5 ┃ $70 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden index 9b7c3c4c929..4025dc5ca17 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_instance_test/neptune_cluster_instance_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNeptuneClusterInstanceGoldenFile ┃ $869 ┃ $1,095 ┃ $1,964 ┃ +┃ main ┃ $869 ┃ $1,095 ┃ $1,964 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden index 0766a3b59a3..cb84b0a7292 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_snapshot_test/neptune_cluster_snapshot_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNeptuneClusterSnapshotGoldenFile ┃ $0.00 ┃ $22 ┃ $22 ┃ +┃ main ┃ $0.00 ┃ $22 ┃ $22 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden index 52dea73d398..142aa68d78b 100644 --- a/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/neptune_cluster_test/neptune_cluster_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNeptuneClusterGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden index 53662bfdbaf..138a5e043b4 100644 --- a/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden +++ b/internal/providers/terraform/aws/testdata/networkfirewall_firewall_test/networkfirewall_firewall_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkfirewallFirewallGoldenFile ┃ $577 ┃ $7 ┃ $583 ┃ +┃ main ┃ $577 ┃ $7 ┃ $583 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden index 2092e7f133c..0933ed12979 100644 --- a/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden +++ b/internal/providers/terraform/aws/testdata/opensearch_domain_test/opensearch_domain_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestOpensearchDomain ┃ $6,150 ┃ $0.00 ┃ $6,150 ┃ +┃ main ┃ $6,150 ┃ $0.00 ┃ $6,150 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden index 592bc741e07..c064a881490 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_instance_test/rds_cluster_instance_test.golden @@ -92,5 +92,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRDSClusterInstanceGoldenFile ┃ $5,807 ┃ $10 ┃ $5,817 ┃ +┃ main ┃ $5,807 ┃ $10 ┃ $5,817 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden index e0555a1edcc..63fcd000e4a 100644 --- a/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/rds_cluster_test/rds_cluster_test.golden @@ -58,5 +58,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRDSClusterGoldenFile ┃ $0.00 ┃ $176,131 ┃ $176,131 ┃ +┃ main ┃ $0.00 ┃ $176,131 ┃ $176,131 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden index 6a33d152c50..8291fcc51d4 100644 --- a/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/redshift_cluster_test/redshift_cluster_test.golden @@ -40,5 +40,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRedshiftClusterGoldenFile ┃ $29,492 ┃ $13,485 ┃ $42,977 ┃ +┃ main ┃ $29,492 ┃ $13,485 ┃ $42,977 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden index 89a55033c92..2f92b749ad8 100644 --- a/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_health_check_test/route53_health_check_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestGetRoute53HealthCheckGoldenFile ┃ $36 ┃ $0.00 ┃ $36 ┃ +┃ main ┃ $36 ┃ $0.00 ┃ $36 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden index ec2fe0e26a8..5344ea7f630 100644 --- a/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_record_test/route53_record_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRoute53RecordGoldenFile ┃ $1 ┃ $1,955 ┃ $1,956 ┃ +┃ main ┃ $1 ┃ $1,955 ┃ $1,956 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden index f097453e703..94a68bfe117 100644 --- a/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_resolver_endpoint_test/route53_resolver_endpoint_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRoute53ResolverEndpointGoldenFile ┃ $548 ┃ $640 ┃ $1,188 ┃ +┃ main ┃ $548 ┃ $640 ┃ $1,188 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden index 9db5aa49db4..d43edfe3d4b 100644 --- a/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden +++ b/internal/providers/terraform/aws/testdata/route53_zone_test/route53_zone_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRoute53ZoneGoldenFile ┃ $0.50 ┃ $0.00 ┃ $0.50 ┃ +┃ main ┃ $0.50 ┃ $0.00 ┃ $0.50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden index c16bde92ed3..a1d54863997 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_analytics_configuration_test/s3_bucket_analytics_configuration_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3AnalyticsConfigurationGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden index c239c80379a..e75ab1ec3c4 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_inventory_test/s3_bucket_inventory_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3BucketInventoryGoldenFile ┃ $0.00 ┃ $0.03 ┃ $0.03 ┃ +┃ main ┃ $0.00 ┃ $0.03 ┃ $0.03 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden index 63c3b5f74e3..def2b20c00d 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_lifecycle_configuration_test/s3_bucket_lifecycle_configuration_test.golden @@ -217,5 +217,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3BucketLifecycleConfigurationGoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden index e1f0d854f0d..7624d413ab3 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_test/s3_bucket_test.golden @@ -82,5 +82,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3BucketGoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden index b20b8a94602..ba0b1caf340 100644 --- a/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden +++ b/internal/providers/terraform/aws/testdata/s3_bucket_v3_test/s3_bucket_v3_test.golden @@ -138,5 +138,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestS3BucketV3GoldenFile ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ +┃ main ┃ $0.00 ┃ $11,812 ┃ $11,812 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden index 18c28b0ee81..5af34d1c99b 100644 --- a/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden +++ b/internal/providers/terraform/aws/testdata/secretsmanager_secret_test/secretsmanager_secret_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAwsSecretsManagerSecretGoldenFile ┃ $0.80 ┃ $0.50 ┃ $1 ┃ +┃ main ┃ $0.80 ┃ $0.50 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden index 2cfce88b78f..110e4d578f3 100644 --- a/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden +++ b/internal/providers/terraform/aws/testdata/sfn_state_machine_test/sfn_state_machine_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSFnStateMachineGoldenFile ┃ $0.00 ┃ $759 ┃ $759 ┃ +┃ main ┃ $0.00 ┃ $759 ┃ $759 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden index 77ade511e75..131d50b8b22 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_subscription_test/sns_topic_subscription_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSNSTopicSubscriptionGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden index b5c4d8101ff..b8600752d23 100644 --- a/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden +++ b/internal/providers/terraform/aws/testdata/sns_topic_test/sns_topic_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSNSTopicGoldenFile ┃ $0.00 ┃ $34 ┃ $34 ┃ +┃ main ┃ $0.00 ┃ $34 ┃ $34 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden index 29eec1e9b1b..99114c03c15 100644 --- a/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden +++ b/internal/providers/terraform/aws/testdata/sqs_queue_test/sqs_queue_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSQSQueueGoldenFile ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden index d76533171ce..9ef657d317c 100644 --- a/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_activation_test/ssm_activation_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAwsSSMActivationfuncGoldenFile ┃ $0.00 ┃ $507 ┃ $507 ┃ +┃ main ┃ $0.00 ┃ $507 ┃ $507 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden index b948bfde9d5..b8115056db6 100644 --- a/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden +++ b/internal/providers/terraform/aws/testdata/ssm_parameter_test/ssm_parameter_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAwsSSMParameterGoldenFile ┃ $0.00 ┃ $0.59 ┃ $0.59 ┃ +┃ main ┃ $0.00 ┃ $0.59 ┃ $0.59 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden index 32f5f84f9e1..d6530673440 100644 --- a/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden +++ b/internal/providers/terraform/aws/testdata/transfer_server_test/transfer_server_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTransferServerGoldenFile ┃ $876 ┃ $2 ┃ $878 ┃ +┃ main ┃ $876 ┃ $2 ┃ $878 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden index 80078dbe2bb..84590fda354 100644 --- a/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden +++ b/internal/providers/terraform/aws/testdata/vpc_endpoint_test/vpc_endpoint_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVpcEndpointGoldenFile ┃ $58 ┃ $52 ┃ $110 ┃ +┃ main ┃ $58 ┃ $52 ┃ $110 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden index 9b4fad4f573..6dfe5bd016c 100644 --- a/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden +++ b/internal/providers/terraform/aws/testdata/vpn_connection_test/vpn_connection_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVPNConnectionGoldenFile ┃ $219 ┃ $2 ┃ $221 ┃ +┃ main ┃ $219 ┃ $2 ┃ $221 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden index 4745322f192..f8055618330 100644 --- a/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/waf_web_acl_test/waf_web_acl_test.golden @@ -31,9 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestWAFWebACLGoldenFile ┃ $31 ┃ $7 ┃ $38 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN Multiple prices found for aws_waf_web_acl.my_waf Requests, using the first price -WRN Multiple prices found for aws_waf_web_acl.withoutUsage Requests, using the first price \ No newline at end of file +┃ main ┃ $31 ┃ $7 ┃ $38 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden index 7749d5e83c5..dbb879d17c2 100644 --- a/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden +++ b/internal/providers/terraform/aws/testdata/wafv2_web_acl_test/wafv2_web_acl_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestWAFv2WebACLGoldenFile ┃ $27 ┃ $5 ┃ $32 ┃ +┃ main ┃ $27 ┃ $5 ┃ $32 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/cdn_endpoint.go b/internal/providers/terraform/azure/cdn_endpoint.go index f531167deba..082d35bed41 100644 --- a/internal/providers/terraform/azure/cdn_endpoint.go +++ b/internal/providers/terraform/azure/cdn_endpoint.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" ) @@ -35,7 +35,7 @@ func NewAzureRMCDNEndpoint(d *schema.ResourceData, u *schema.UsageData) *schema. } if len(strings.Split(sku, "_")) != 2 || strings.ToLower(sku) == "standard_chinacdn" { - log.Warn().Msgf("Unrecognized/unsupported CDN sku format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognized/unsupported CDN sku format for resource %s: %s", d.Address, sku) return nil } diff --git a/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go b/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go index cb7fcbef135..1c8018f0073 100644 --- a/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go +++ b/internal/providers/terraform/azure/cosmosdb_cassandra_keyspace.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -38,7 +38,7 @@ func NewAzureRMCosmosdb(d *schema.ResourceData, u *schema.UsageData) *schema.Res CostComponents: cosmosDBCostComponents(d, u, account), } } - log.Warn().Msgf("Skipping resource %s as its 'account_name' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'account_name' property could not be found.", d.Address) return nil } @@ -51,7 +51,7 @@ func cosmosDBCostComponents(d *schema.ResourceData, u *schema.UsageData, account // expressions evaluating as nil, e.g. using a data block. If the geoLocations variable is empty // we set it as a sane default which is using the location from the parent region. if len(geoLocations) == 0 { - log.Debug().Str( + logging.Logger.Debug().Str( "resource", d.Address, ).Msgf("empty set of geo_location attributes provided using fallback region %s", region) diff --git a/internal/providers/terraform/azure/cosmosdb_cassandra_table.go b/internal/providers/terraform/azure/cosmosdb_cassandra_table.go index 17dc2528e52..c00ac9267f2 100644 --- a/internal/providers/terraform/azure/cosmosdb_cassandra_table.go +++ b/internal/providers/terraform/azure/cosmosdb_cassandra_table.go @@ -1,8 +1,7 @@ package azure import ( - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -27,9 +26,9 @@ func NewAzureRMCosmosdbCassandraTable(d *schema.ResourceData, u *schema.UsageDat CostComponents: cosmosDBCostComponents(d, u, account), } } - log.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id.account_name' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id.account_name' property could not be found.", d.Address) return nil } - log.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'cassandra_keyspace_id' property could not be found.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/cosmosdb_mongo_collection.go b/internal/providers/terraform/azure/cosmosdb_mongo_collection.go index 2317ce70703..028b4f6a50a 100644 --- a/internal/providers/terraform/azure/cosmosdb_mongo_collection.go +++ b/internal/providers/terraform/azure/cosmosdb_mongo_collection.go @@ -1,8 +1,7 @@ package azure import ( - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -28,9 +27,9 @@ func NewAzureRMCosmosdbMongoCollection(d *schema.ResourceData, u *schema.UsageDa CostComponents: cosmosDBCostComponents(d, u, account), } } - log.Warn().Msgf("Skipping resource %s as its 'database_name.account_name' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'database_name.account_name' property could not be found.", d.Address) return nil } - log.Warn().Msgf("Skipping resource %s as its 'database_name' property could not be found.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s as its 'database_name' property could not be found.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/key_vault_certificate.go b/internal/providers/terraform/azure/key_vault_certificate.go index 77e913c5c75..b40364e5050 100644 --- a/internal/providers/terraform/azure/key_vault_certificate.go +++ b/internal/providers/terraform/azure/key_vault_certificate.go @@ -1,11 +1,11 @@ package azure import ( - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "golang.org/x/text/cases" "golang.org/x/text/language" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -29,7 +29,7 @@ func NewAzureRMKeyVaultCertificate(d *schema.ResourceData, u *schema.UsageData) if len(keyVault) > 0 { skuName = cases.Title(language.English).String(keyVault[0].Get("sku_name").String()) } else { - log.Warn().Msgf("Skipping resource %s. Could not find its 'key_vault_id.sku_name' property.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Could not find its 'key_vault_id.sku_name' property.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/key_vault_key.go b/internal/providers/terraform/azure/key_vault_key.go index 286751c1f8f..8a39862bc77 100644 --- a/internal/providers/terraform/azure/key_vault_key.go +++ b/internal/providers/terraform/azure/key_vault_key.go @@ -3,12 +3,12 @@ package azure import ( "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" "golang.org/x/text/cases" "golang.org/x/text/language" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" ) @@ -31,7 +31,7 @@ func NewAzureRMKeyVaultKey(d *schema.ResourceData, u *schema.UsageData) *schema. if len(keyVault) > 0 { skuName = cases.Title(language.English).String(keyVault[0].Get("sku_name").String()) } else { - log.Warn().Msgf("Skipping resource %s. Could not find its 'sku_name' property on key_vault_id.", d.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Could not find its 'sku_name' property on key_vault_id.", d.Address) return nil } diff --git a/internal/providers/terraform/azure/mariadb_server.go b/internal/providers/terraform/azure/mariadb_server.go index 2e151149bb1..dbace893d41 100644 --- a/internal/providers/terraform/azure/mariadb_server.go +++ b/internal/providers/terraform/azure/mariadb_server.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -30,7 +30,7 @@ func NewAzureRMMariaDBServer(d *schema.ResourceData, u *schema.UsageData) *schem family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - log.Warn().Msgf("Unrecognised MariaDB SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MariaDB SKU format for resource %s: %s", d.Address, sku) return nil } @@ -41,7 +41,7 @@ func NewAzureRMMariaDBServer(d *schema.ResourceData, u *schema.UsageData) *schem }[tier] if tierName == "" { - log.Warn().Msgf("Unrecognised MariaDB tier prefix for resource %s: %s", d.Address, tierName) + logging.Logger.Warn().Msgf("Unrecognised MariaDB tier prefix for resource %s: %s", d.Address, tierName) return nil } diff --git a/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go b/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go index 8367615d91e..c6ef4cb4cd5 100644 --- a/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go +++ b/internal/providers/terraform/azure/monitor_scheduled_query_rules_alert_v2.go @@ -2,8 +2,8 @@ package azure import ( duration "github.com/channelmeter/iso8601duration" - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -24,7 +24,7 @@ func newMonitorScheduledQueryRulesAlertV2(d *schema.ResourceData) schema.CoreRes freq := int64(1) ef, err := duration.FromString(d.Get("evaluation_frequency").String()) if err != nil { - log.Warn().Str( + logging.Logger.Warn().Str( "resource", d.Address, ).Msgf("failed to parse ISO8061 duration string '%s' using 1 minute frequency", d.Get("evaluation_frequency").String()) } else { diff --git a/internal/providers/terraform/azure/mssql_database.go b/internal/providers/terraform/azure/mssql_database.go index a9a53b068f3..849b953f645 100644 --- a/internal/providers/terraform/azure/mssql_database.go +++ b/internal/providers/terraform/azure/mssql_database.go @@ -5,8 +5,7 @@ import ( "strconv" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -96,7 +95,7 @@ func newAzureRMMSSQLDatabase(d *schema.ResourceData) schema.CoreResource { } else if !dtuMap.usesDTUUnits(sku) { c, err := parseMSSQLSku(d.Address, sku) if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) return nil } diff --git a/internal/providers/terraform/azure/mysql_flexible_server.go b/internal/providers/terraform/azure/mysql_flexible_server.go index a7c37478d8e..e0effcc6b77 100644 --- a/internal/providers/terraform/azure/mysql_flexible_server.go +++ b/internal/providers/terraform/azure/mysql_flexible_server.go @@ -4,8 +4,7 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -27,7 +26,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { s := strings.Split(sku, "_") if len(s) < 3 || len(s) > 4 { - log.Warn().Msgf("Unrecognised MySQL Flexible Server SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server SKU format for resource %s: %s", d.Address, sku) return nil } @@ -42,7 +41,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { supportedTiers := []string{"b", "gp", "mo"} if !contains(supportedTiers, tier) { - log.Warn().Msgf("Unrecognised MySQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) return nil } @@ -50,7 +49,7 @@ func newMySQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { coreRegex := regexp.MustCompile(`(\d+)`) match := coreRegex.FindStringSubmatch(size) if len(match) < 1 { - log.Warn().Msgf("Unrecognised MySQL Flexible Server size for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MySQL Flexible Server size for resource %s: %s", d.Address, sku) return nil } } diff --git a/internal/providers/terraform/azure/mysql_server.go b/internal/providers/terraform/azure/mysql_server.go index fb327a0a52b..24df5dff8e9 100644 --- a/internal/providers/terraform/azure/mysql_server.go +++ b/internal/providers/terraform/azure/mysql_server.go @@ -4,8 +4,7 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/shopspring/decimal" @@ -31,7 +30,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - log.Warn().Msgf("Unrecognised MySQL SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised MySQL SKU format for resource %s: %s", d.Address, sku) return nil } @@ -42,7 +41,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. }[tier] if tierName == "" { - log.Warn().Msgf("Unrecognised MySQL tier prefix for resource %s: %s", d.Address, tierName) + logging.Logger.Warn().Msgf("Unrecognised MySQL tier prefix for resource %s: %s", d.Address, tierName) return nil } @@ -50,7 +49,7 @@ func NewAzureRMMySQLServer(d *schema.ResourceData, u *schema.UsageData) *schema. skuName := fmt.Sprintf("%s vCore", cores) name := fmt.Sprintf("Compute (%s)", sku) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) + logging.Logger.Debug().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) costComponents = append(costComponents, databaseComputeInstance(region, name, serviceName, productNameRegex, skuName)) diff --git a/internal/providers/terraform/azure/postgresql_flexible_server.go b/internal/providers/terraform/azure/postgresql_flexible_server.go index 65a13378ea8..d64609ddd54 100644 --- a/internal/providers/terraform/azure/postgresql_flexible_server.go +++ b/internal/providers/terraform/azure/postgresql_flexible_server.go @@ -4,8 +4,7 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -26,7 +25,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { s := strings.Split(sku, "_") if len(s) < 3 || len(s) > 4 { - log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server SKU format for resource %s: %s", d.Address, sku) return nil } @@ -41,7 +40,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { supportedTiers := []string{"b", "gp", "mo"} if !contains(supportedTiers, tier) { - log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server tier prefix for resource %s: %s", d.Address, sku) return nil } @@ -49,7 +48,7 @@ func newPostgreSQLFlexibleServer(d *schema.ResourceData) schema.CoreResource { coreRegex := regexp.MustCompile(`(\d+)`) match := coreRegex.FindStringSubmatch(size) if len(match) < 1 { - log.Warn().Msgf("Unrecognised PostgreSQL Flexible Server size for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL Flexible Server size for resource %s: %s", d.Address, sku) return nil } } diff --git a/internal/providers/terraform/azure/postgresql_server.go b/internal/providers/terraform/azure/postgresql_server.go index b3667bc6d72..f3cd8b03327 100644 --- a/internal/providers/terraform/azure/postgresql_server.go +++ b/internal/providers/terraform/azure/postgresql_server.go @@ -4,8 +4,7 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/shopspring/decimal" @@ -31,7 +30,7 @@ func NewAzureRMPostrgreSQLServer(d *schema.ResourceData, u *schema.UsageData) *s family = strings.Split(sku, "_")[1] cores = strings.Split(sku, "_")[2] } else { - log.Warn().Msgf("Unrecognised PostgreSQL SKU format for resource %s: %s", d.Address, sku) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL SKU format for resource %s: %s", d.Address, sku) return nil } @@ -42,7 +41,7 @@ func NewAzureRMPostrgreSQLServer(d *schema.ResourceData, u *schema.UsageData) *s }[tier] if tierName == "" { - log.Warn().Msgf("Unrecognised PostgreSQL tier prefix for resource %s: %s", d.Address, tierName) + logging.Logger.Warn().Msgf("Unrecognised PostgreSQL tier prefix for resource %s: %s", d.Address, tierName) return nil } diff --git a/internal/providers/terraform/azure/sql_database.go b/internal/providers/terraform/azure/sql_database.go index 764c48e6562..2a45b3bc749 100644 --- a/internal/providers/terraform/azure/sql_database.go +++ b/internal/providers/terraform/azure/sql_database.go @@ -1,8 +1,7 @@ package azure import ( - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -79,7 +78,7 @@ func newSQLDatabase(d *schema.ResourceData) schema.CoreResource { var err error config, err = parseSKU(d.Address, sku) if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) return nil } } diff --git a/internal/providers/terraform/azure/storage_queue.go b/internal/providers/terraform/azure/storage_queue.go index a6126c5bb8f..b35a01f0711 100644 --- a/internal/providers/terraform/azure/storage_queue.go +++ b/internal/providers/terraform/azure/storage_queue.go @@ -3,8 +3,7 @@ package azure import ( "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/azure" "github.com/infracost/infracost/internal/schema" ) @@ -30,7 +29,7 @@ func newStorageQueue(d *schema.ResourceData) schema.CoreResource { accountTier := storageAccount.Get("account_tier").String() if strings.EqualFold(accountTier, "premium") { - log.Warn().Msgf("Skipping resource %s. Storage Queues don't support %s tier", d.Address, accountTier) + logging.Logger.Warn().Msgf("Skipping resource %s. Storage Queues don't support %s tier", d.Address, accountTier) return nil } diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden index e5e975c489c..d7c3c4ae1e3 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_replica_set_test/active_directory_domain_service_replica_set_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMActiveDirectoryDomainReplicaSetService ┃ $584 ┃ $0.00 ┃ $584 ┃ +┃ main ┃ $584 ┃ $0.00 ┃ $584 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden index c28b7cdce86..fe223826bc8 100644 --- a/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden +++ b/internal/providers/terraform/azure/testdata/active_directory_domain_service_test/active_directory_domain_service_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMActiveDirectoryDomainService ┃ $1,570 ┃ $0.00 ┃ $1,570 ┃ +┃ main ┃ $1,570 ┃ $0.00 ┃ $1,570 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden index eb748c9f987..af091f7a6bf 100644 --- a/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden +++ b/internal/providers/terraform/azure/testdata/api_management_test/api_management_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMApiManagement ┃ $24,764 ┃ $1,285 ┃ $26,049 ┃ +┃ main ┃ $24,764 ┃ $1,285 ┃ $26,049 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden index b5583c53261..4c5a2e6ce6d 100644 --- a/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/app_configuration_test/app_configuration_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAppConfiguration ┃ $504 ┃ $0.54 ┃ $505 ┃ +┃ main ┃ $504 ┃ $0.54 ┃ $505 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden index 6b8c1f455b1..ba046ba3f0a 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_binding_test/app_service_certificate_binding_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCertificateBinding ┃ $39 ┃ $0.00 ┃ $39 ┃ +┃ main ┃ $39 ┃ $0.00 ┃ $39 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden index 7570550dce7..03db3a98273 100644 --- a/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_certificate_order_test/app_service_certificate_order_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCertificateOrder ┃ $31 ┃ $0.00 ┃ $31 ┃ +┃ main ┃ $31 ┃ $0.00 ┃ $31 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden index 9489ca81b2d..7e44988762e 100644 --- a/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_custom_hostname_binding_test/app_service_custom_hostname_binding_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppServiceCustomHostnameBinding ┃ $112 ┃ $0.00 ┃ $112 ┃ +┃ main ┃ $112 ┃ $0.00 ┃ $112 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden index aba2d19f2e7..379cfda9e54 100644 --- a/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_environment_test/app_service_environment_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppIsolatedServicePlan ┃ $7,820 ┃ $0.00 ┃ $7,820 ┃ +┃ main ┃ $7,820 ┃ $0.00 ┃ $7,820 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden index e098d1bc608..0c1989fd03d 100644 --- a/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/app_service_plan_test/app_service_plan_test.golden @@ -43,5 +43,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppServicePlan ┃ $5,621 ┃ $0.00 ┃ $5,621 ┃ +┃ main ┃ $5,621 ┃ $0.00 ┃ $5,621 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden index bf10f489fa2..f82135cfbcf 100644 --- a/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/application_gateway_test/application_gateway_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationGateway ┃ $3,574 ┃ $2,340 ┃ $5,915 ┃ +┃ main ┃ $3,574 ┃ $2,340 ┃ $5,915 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden index 702e843df46..9bd9473e5d7 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_standard_web_t_test/application_insights_standard_web_t_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestApplicationInsightsStandardWebTest ┃ $16 ┃ $0.00 ┃ $16 ┃ +┃ main ┃ $16 ┃ $0.00 ┃ $16 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden index 67b21d654c5..3fce1bdff57 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_test/application_insights_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationInsights ┃ $100 ┃ $4,600 ┃ $4,700 ┃ +┃ main ┃ $100 ┃ $4,600 ┃ $4,700 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden index 0a30636a723..ba52cad67bf 100644 --- a/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden +++ b/internal/providers/terraform/azure/testdata/application_insights_web_t_test/application_insights_web_t_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMApplicationInsightsWeb ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden index bff48adb7aa..da8b5e88c47 100644 --- a/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_account_test/automation_account_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationAccount ┃ $0.00 ┃ $12 ┃ $12 ┃ +┃ main ┃ $0.00 ┃ $12 ┃ $12 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden index 0472e97f8d9..48eb1984584 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_configuration_test/automation_dsc_configuration_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationDscConfiguration ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden index c18877dd21e..5014408289e 100644 --- a/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_dsc_nodeconfiguration_test/automation_dsc_nodeconfiguration_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationDscNodeconfiguration ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden index 8a6b3debf18..f483b6fc57e 100644 --- a/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden +++ b/internal/providers/terraform/azure/testdata/automation_job_schedule_test/automation_job_schedule_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAutomationJobSchedule ┃ $0.00 ┃ $0.01 ┃ $0.01 ┃ +┃ main ┃ $0.00 ┃ $0.01 ┃ $0.01 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden index 5690f02c96e..046f1870e1f 100644 --- a/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden +++ b/internal/providers/terraform/azure/testdata/bastion_host_test/bastion_host_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMBastionHost ┃ $142 ┃ $8,730 ┃ $8,872 ┃ +┃ main ┃ $142 ┃ $8,730 ┃ $8,872 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden index 689cb819be9..a1a6b3e3fed 100644 --- a/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/cdn_endpoint_test/cdn_endpoint_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCDNEndpoint ┃ $609,769 ┃ $0.00 ┃ $609,769 ┃ +┃ main ┃ $609,769 ┃ $0.00 ┃ $609,769 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden index 429dd4ee91c..5c5dde1db45 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden @@ -295,15 +295,15 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCognitiveAccount ┃ $314,897 ┃ $0.00 ┃ $314,897 ┃ +┃ main ┃ $314,897 ┃ $0.00 ┃ $314,897 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Invalid commitment tier 1000000 for azurerm_cognitive_account.textanalytics_with_commitment["small"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.luis_with_commitment["invalid"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WRN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] -WRN Invalid commitment tier amount 100 for azurerm_cognitive_account.speech_with_commitment["invalid"] -WRN Skipping resource azurerm_cognitive_account.unsupported. Kind "Academic" is not supported \ No newline at end of file +WARN Invalid commitment tier 1000000 for azurerm_cognitive_account.textanalytics_with_commitment["small"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.luis_with_commitment["invalid"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WARN Invalid commitment tier 200 for azurerm_cognitive_account.textanalytics_with_commitment["invalid"] +WARN Invalid commitment tier amount 100 for azurerm_cognitive_account.speech_with_commitment["invalid"] +WARN Skipping resource azurerm_cognitive_account.unsupported. Kind "Academic" is not supported \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden index 56f103b9f74..804c0bbe4af 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_deployment_test/cognitive_deployment_test.golden @@ -385,8 +385,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCognitiveDeployment ┃ $20,499 ┃ $0.00 ┃ $20,499 ┃ +┃ main ┃ $20,499 ┃ $0.00 ┃ $20,499 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_cognitive_deployment.unsupported. Model 'ada' is not supported \ No newline at end of file +WARN Skipping resource azurerm_cognitive_deployment.unsupported. Model 'ada' is not supported \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden index b9d8e906f81..e30e08091b9 100644 --- a/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/azure/testdata/container_registry_test/container_registry_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMContainerRegistry ┃ $315 ┃ $338 ┃ $653 ┃ +┃ main ┃ $315 ┃ $338 ┃ $653 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden index d377ee9868c..a0db4d61ae9 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test/cosmosdb_cassandra_keyspace_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBCassandraKeyspace ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden index 741a0d9498b..55efa9e1cfa 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_keyspace_test_with_blank_geo_location/cosmosdb_cassandra_keyspace_test_with_blank_geo_location.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestHCLAzureRMCosmosDBCassandraKeyspace ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden index e123387c7f7..12ea2433111 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_cassandra_table_test/cosmosdb_cassandra_table_test.golden @@ -104,10 +104,10 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBCassandraTableGoldenFile ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ +┃ main ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_cosmosdb_cassandra_keyspace.no_account as its 'account_name' property could not be found. -WRN Skipping resource azurerm_cosmosdb_cassandra_table.noAccount as its 'cassandra_keyspace_id.account_name' property could not be found. -WRN Skipping resource azurerm_cosmosdb_cassandra_table.noKeyspace as its 'cassandra_keyspace_id' property could not be found. \ No newline at end of file +WARN Skipping resource azurerm_cosmosdb_cassandra_keyspace.no_account as its 'account_name' property could not be found. +WARN Skipping resource azurerm_cosmosdb_cassandra_table.noAccount as its 'cassandra_keyspace_id.account_name' property could not be found. +WARN Skipping resource azurerm_cosmosdb_cassandra_table.noKeyspace as its 'cassandra_keyspace_id' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden index d00a36159cc..da54853f504 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_database_test/cosmosdb_gremlin_database_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBGremlinDatabaseGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden index ae0e851fd1c..9df5f6350f8 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_gremlin_graph_test/cosmosdb_gremlin_graph_test.golden @@ -65,5 +65,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBGremlinGraphGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden index 2f26ce6f221..25f4a52b1b7 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_collection_test/cosmosdb_mongo_collection_test.golden @@ -101,5 +101,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBMongoCollectionGoldenFile ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ +┃ main ┃ $5,455 ┃ $0.00 ┃ $5,455 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden index d266c598586..608096147b0 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_mongo_database_test/cosmosdb_mongo_database_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBMongoDatabaseGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden index ffe85492693..7d8998f51bc 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_container_test/cosmosdb_sql_container_test.golden @@ -67,5 +67,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBSQLContainerGoldenFile ┃ $5,061 ┃ $0.00 ┃ $5,061 ┃ +┃ main ┃ $5,061 ┃ $0.00 ┃ $5,061 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden index b556b7989a2..a3f2282fc31 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_sql_database_test/cosmosdb_sql_database_test.golden @@ -65,5 +65,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBSQLDatabaseGoldenFile ┃ $5,185 ┃ $0.00 ┃ $5,185 ┃ +┃ main ┃ $5,185 ┃ $0.00 ┃ $5,185 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden index cb1bfb903b1..23afc7c62b5 100644 --- a/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden +++ b/internal/providers/terraform/azure/testdata/cosmosdb_table_test/cosmosdb_table_test.golden @@ -58,8 +58,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMCosmosDBTableGoldenFile ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ +┃ main ┃ $5,156 ┃ $0.00 ┃ $5,156 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_cosmosdb_table.account-in-another-module as its 'account_name' property could not be found. \ No newline at end of file +WARN Skipping resource azurerm_cosmosdb_table.account-in-another-module as its 'account_name' property could not be found. \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden index f7820f8ab95..4b8f2151b37 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_ssis_test/data_factory_integration_runtime_azure_ssis_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeAzureSSIS ┃ $27,825 ┃ $0.00 ┃ $27,825 ┃ +┃ main ┃ $27,825 ┃ $0.00 ┃ $27,825 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden index ab0ed3414fb..974f0a6a0dc 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_azure_test/data_factory_integration_runtime_azure_test.golden @@ -45,15 +45,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeAzure ┃ $74,648 ┃ $10 ┃ $74,658 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (Compute Optimized, 16 vCores)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (General Purpose, 8 vCores)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (General Purpose, 8 vCores)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (Memory Optimized, 272 vCores)' due to limitations in the Azure API. -WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.co Compute (Compute Optimized, 16 vCores), using the first product -WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.default_with_usage Compute (General Purpose, 8 vCores), using the first product -WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.gp Compute (General Purpose, 8 vCores), using the first product -WRN Multiple products with prices found for azurerm_data_factory_integration_runtime_azure.mo Compute (Memory Optimized, 272 vCores), using the first product \ No newline at end of file +┃ main ┃ $74,648 ┃ $10 ┃ $74,658 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden index 82131d45c39..4c3c74a2ec4 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_managed_test/data_factory_integration_runtime_managed_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeManaged ┃ $32,752 ┃ $10 ┃ $32,762 ┃ +┃ main ┃ $32,752 ┃ $10 ┃ $32,762 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden index 18dd2a24fd8..e5f2e72f6e5 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_integration_runtime_self_hosted_test/data_factory_integration_runtime_self_hosted_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactoryIntegrationRuntimeSelfHosted ┃ $149 ┃ $15 ┃ $164 ┃ +┃ main ┃ $149 ┃ $15 ┃ $164 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden index f67db654561..c17d979090c 100644 --- a/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden +++ b/internal/providers/terraform/azure/testdata/data_factory_test/data_factory_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDataFactory ┃ $0.00 ┃ $1 ┃ $1 ┃ +┃ main ┃ $0.00 ┃ $1 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden index 971e59d71d7..4f141df2ebb 100644 --- a/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/databricks_workspace_test/databricks_workspace_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDatabricksWorkspaceGoldenFile ┃ $0.00 ┃ $1,995 ┃ $1,995 ┃ +┃ main ┃ $0.00 ┃ $1,995 ┃ $1,995 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden index cc2ff5098b2..3a94d2206b2 100644 --- a/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_a_record_test/dns_a_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden index bbfafb0f7c6..ce6b63b7854 100644 --- a/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_aaaa_record_test/dns_aaaa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSaaaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden index b78637a750a..ad6768f61c9 100644 --- a/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_caa_record_test/dns_caa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNScaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden index 007fd400886..0af54e8059f 100644 --- a/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_cname_record_test/dns_cname_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNScnameRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden index 72bd714a29e..6fd013d4397 100644 --- a/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_mx_record_test/dns_mx_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSmxRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden index 62c27d8ae94..1657d06f842 100644 --- a/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ns_record_test/dns_ns_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSnsRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden index 25297ed5913..04d1c8d418c 100644 --- a/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_ptr_record_test/dns_ptr_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSptrRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden index 1025ab4fbdb..ca0a3af0f63 100644 --- a/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_srv_record_test/dns_srv_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSsrvRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden index f6eb225c7a8..82f3b628c33 100644 --- a/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_txt_record_test/dns_txt_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNStxtRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden index 1ba304b2369..e0249c22f62 100644 --- a/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/dns_zone_test/dns_zone_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMDNSZone ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden index 29d1d50512e..14ad33474e0 100644 --- a/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/event_hubs_namespace_test/event_hubs_namespace_test.golden @@ -46,5 +46,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMEventHubs ┃ $24,912 ┃ $0.00 ┃ $24,912 ┃ +┃ main ┃ $24,912 ┃ $0.00 ┃ $24,912 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden index dc55bf3d51b..c501a0a41e4 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_system_topic_test/eventgrid_system_topic_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEventgridSystemTopic ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ +┃ main ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden index 69b90e4e66b..e355560ed24 100644 --- a/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden +++ b/internal/providers/terraform/azure/testdata/eventgrid_topic_test/eventgrid_topic_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestEventgridTopic ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ +┃ main ┃ $0.00 ┃ $0.48 ┃ $0.48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden index 20f4cb6b6fa..3d978ec8940 100644 --- a/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_connection_test/express_route_connection_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestExpressRouteConnectionGoldenFile ┃ $343 ┃ $0.00 ┃ $343 ┃ +┃ main ┃ $343 ┃ $0.00 ┃ $343 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden index dfbff129942..ff67e21c0d4 100644 --- a/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/express_route_gateway_test/express_route_gateway_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestExpressRouteGatewayGoldenFile ┃ $1,226 ┃ $0.00 ┃ $1,226 ┃ +┃ main ┃ $1,226 ┃ $0.00 ┃ $1,226 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden index 903d8885555..57dcecacbf7 100644 --- a/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden +++ b/internal/providers/terraform/azure/testdata/federated_identity_credential_test/federated_identity_credential_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFederatedIdentityCredential ┃ $0.00 ┃ $2 ┃ $2 ┃ +┃ main ┃ $0.00 ┃ $2 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden index d404ef7cea8..e899f5add0b 100644 --- a/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden +++ b/internal/providers/terraform/azure/testdata/firewall_test/firewall_test.golden @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMFirewall ┃ $6,256 ┃ $0.00 ┃ $6,256 ┃ +┃ main ┃ $6,256 ┃ $0.00 ┃ $6,256 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden index 393e5d4836c..f6301cf6874 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_firewall_policy_test/frontdoor_firewall_policy_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFrontdoorFirewallPolicyGoldenFile ┃ $94 ┃ $1 ┃ $95 ┃ +┃ main ┃ $94 ┃ $1 ┃ $95 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden index 7bc1dfc3e03..e89edc84c85 100644 --- a/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden +++ b/internal/providers/terraform/azure/testdata/frontdoor_test/frontdoor_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestFrontdoorGoldenFile ┃ $190 ┃ $27,210 ┃ $27,400 ┃ +┃ main ┃ $190 ┃ $27,210 ┃ $27,400 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden index 8d88298fb18..4cfc9ea9a84 100644 --- a/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_app_test/function_app_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAppFunctionGoldenFile ┃ $1,104 ┃ $31 ┃ $1,135 ┃ +┃ main ┃ $1,104 ┃ $31 ┃ $1,135 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden index fa63e919ef1..4d3cf9f3293 100644 --- a/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_linux_app_test/function_linux_app_test.golden @@ -183,5 +183,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxAppFunctionGoldenFile ┃ $13,248 ┃ $118 ┃ $13,366 ┃ +┃ main ┃ $13,248 ┃ $118 ┃ $13,366 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden index fbbb606c0d4..c14e2294d51 100644 --- a/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden +++ b/internal/providers/terraform/azure/testdata/function_windows_app_test/function_windows_app_test.golden @@ -183,5 +183,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsAppFunctionGoldenFile ┃ $13,248 ┃ $118 ┃ $13,366 ┃ +┃ main ┃ $13,248 ┃ $118 ┃ $13,366 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden index 9e8bbec5bbf..07b612eeb13 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hadoop_cluster_test/hdinsight_hadoop_cluster_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightHadoopClusterGoldenFile ┃ $3,968 ┃ $0.00 ┃ $3,968 ┃ +┃ main ┃ $3,968 ┃ $0.00 ┃ $3,968 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden index 036fa2aeb37..aa72801a47b 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_hbase_cluster_test/hdinsight_hbase_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightHBaseClusterGoldenFile ┃ $3,907 ┃ $0.00 ┃ $3,907 ┃ +┃ main ┃ $3,907 ┃ $0.00 ┃ $3,907 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden index e53fdb14667..653a82bf258 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_interactive_query_cluster_test/hdinsight_interactive_query_cluster_test.golden @@ -25,8 +25,8 @@ ∙ 2 were estimated ∙ 2 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightInteractiveQueryClusterGoldenFile ┃ $15,853 ┃ $0.00 ┃ $15,853 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $15,853 ┃ $0.00 ┃ $15,853 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden index 05fa19c2a97..5e1d45beb3b 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_kafka_cluster_test/hdinsight_kafka_cluster_test.golden @@ -44,5 +44,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightKafkaClusterGoldenFile ┃ $27,535 ┃ $0.00 ┃ $27,535 ┃ +┃ main ┃ $27,535 ┃ $0.00 ┃ $27,535 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden index 4848a6330ba..992fce8d8fc 100644 --- a/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/hdinsight_spark_cluster_test/hdinsight_spark_cluster_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMHDInsightSparkClusterGoldenFile ┃ $8,620 ┃ $0.00 ┃ $8,620 ┃ +┃ main ┃ $8,620 ┃ $0.00 ┃ $8,620 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/image_test/image_test.golden b/internal/providers/terraform/azure/testdata/image_test/image_test.golden index 5e61c5afe6f..c9d29b6d9ec 100644 --- a/internal/providers/terraform/azure/testdata/image_test/image_test.golden +++ b/internal/providers/terraform/azure/testdata/image_test/image_test.golden @@ -79,5 +79,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestImage ┃ $334 ┃ $0.00 ┃ $334 ┃ +┃ main ┃ $334 ┃ $0.00 ┃ $334 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden index 68246d4b389..2585a336818 100644 --- a/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden +++ b/internal/providers/terraform/azure/testdata/integration_service_environment_test/integration_service_environment_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMAIntegrationServiceEnvironment ┃ $17,715 ┃ $0.00 ┃ $17,715 ┃ +┃ main ┃ $17,715 ┃ $0.00 ┃ $17,715 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden index 007c1337e95..d54c0b03196 100644 --- a/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden +++ b/internal/providers/terraform/azure/testdata/iothub_test/iothub_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestIoTHub ┃ $125 ┃ $1 ┃ $126 ┃ +┃ main ┃ $125 ┃ $1 ┃ $126 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden index e878c46d81e..5ff950bcd37 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_certificate_test/key_vault_certificate_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultCertificate ┃ $601 ┃ $0.00 ┃ $601 ┃ +┃ main ┃ $601 ┃ $0.00 ┃ $601 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden index 4157d0bffbe..af3a611ddc6 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_key_test/key_vault_key_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultKey ┃ $12,814 ┃ $0.00 ┃ $12,814 ┃ +┃ main ┃ $12,814 ┃ $0.00 ┃ $12,814 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden index 9d44f817b15..22b0b1d0ad5 100644 --- a/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden +++ b/internal/providers/terraform/azure/testdata/key_vault_managed_hardware_security_module_test/key_vault_managed_hardware_security_module_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureKeyVaultManagedHSMPools ┃ $3,541 ┃ $0.00 ┃ $3,541 ┃ +┃ main ┃ $3,541 ┃ $0.00 ┃ $3,541 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden index aa0b62096c9..c56962e6982 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_node_pool_test/kubernetes_cluster_node_pool_test.golden @@ -60,5 +60,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMKubernetesClusterNodePoolGoldenFile ┃ $1,320 ┃ $0.00 ┃ $1,320 ┃ +┃ main ┃ $1,320 ┃ $0.00 ┃ $1,320 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden index 4be2b235ab0..2caf61bbaec 100644 --- a/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/kubernetes_cluster_test/kubernetes_cluster_test.golden @@ -56,5 +56,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMKubernetesClusterGoldenFile ┃ $2,835 ┃ $0.50 ┃ $2,836 ┃ +┃ main ┃ $2,835 ┃ $0.50 ┃ $2,836 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden index a291b8df882..446a2cf42ea 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_test/lb_outbound_rule_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerOutboundRuleGoldenFile ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden index 79bea07cfec..446a2cf42ea 100644 --- a/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_outbound_rule_v2_test/lb_outbound_rule_v2_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerOutboundRuleV2GoldenFile ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden index 0d20f2cae20..9291f811f77 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_test/lb_rule_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerRuleGoldenFile ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden index bef9d11e1c0..9291f811f77 100644 --- a/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_rule_v2_test/lb_rule_v2_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerRuleV2GoldenFile ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden index 7edd6b3ffcc..4e9831e4196 100644 --- a/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden +++ b/internal/providers/terraform/azure/testdata/lb_test/lb_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLoadBalancerGoldenFile ┃ $0.00 ┃ $0.50 ┃ $0.50 ┃ +┃ main ┃ $0.00 ┃ $0.50 ┃ $0.50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden index 0c6d3af10fe..22159862d8d 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_scale_set_test/linux_virtual_machine_scale_set_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxVirtualMachineScaleSetGoldenFile ┃ $414 ┃ $0.00 ┃ $414 ┃ +┃ main ┃ $414 ┃ $0.00 ┃ $414 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden index 2452d9072ed..6f2ba90c616 100644 --- a/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/linux_virtual_machine_test/linux_virtual_machine_test.golden @@ -59,5 +59,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMLinuxVirtualMachineGoldenFile ┃ $446 ┃ $0.00 ┃ $446 ┃ +┃ main ┃ $446 ┃ $0.00 ┃ $446 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden index 468c4d509c5..54656c0276a 100644 --- a/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/log_analytics_workspace_test/log_analytics_workspace_test.golden @@ -127,11 +127,11 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLogAnalyticsWorkspaceGoldenFile ┃ $22,756 ┃ $234 ┃ $22,990 ┃ +┃ main ┃ $22,756 ┃ $234 ┃ $22,990 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["PerNode"] as it uses legacy pricing options -WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Premium"] as it uses legacy pricing options -WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Standard"] as it uses legacy pricing options -WRN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Unlimited"] as it uses legacy pricing options \ No newline at end of file +WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["PerNode"] as it uses legacy pricing options +WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Premium"] as it uses legacy pricing options +WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Standard"] as it uses legacy pricing options +WARN skipping azurerm_log_analytics_workspace.unsupported_legacy_workspace["Unlimited"] as it uses legacy pricing options \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden index 93758a04840..65ef0d2cc87 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_integration_account_test/logic_app_integration_account_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLogicAppIntegrationAccount ┃ $1,300 ┃ $0.00 ┃ $1,300 ┃ +┃ main ┃ $1,300 ┃ $0.00 ┃ $1,300 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden index c0262c16bd3..bbc4df84a91 100644 --- a/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden +++ b/internal/providers/terraform/azure/testdata/logic_app_standard_test/logic_app_standard_test.golden @@ -57,5 +57,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLogicAppStandard ┃ $1,620 ┃ $2,500 ┃ $4,120 ┃ +┃ main ┃ $1,620 ┃ $2,500 ┃ $4,120 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden index d856cdde7e1..27db7f2885c 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_cluster_test/machine_learning_compute_cluster_test.golden @@ -237,5 +237,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMachineLearningComputeCluster ┃ $498,346 ┃ $0.00 ┃ $498,346 ┃ +┃ main ┃ $498,346 ┃ $0.00 ┃ $498,346 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden index 719f36d3580..47eca7baf6d 100644 --- a/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/machine_learning_compute_instance_test/machine_learning_compute_instance_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMachineLearningComputeInstance ┃ $17,165 ┃ $0.00 ┃ $17,165 ┃ +┃ main ┃ $17,165 ┃ $0.00 ┃ $17,165 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden index 4233fd91b3a..45f9de9eae3 100644 --- a/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden +++ b/internal/providers/terraform/azure/testdata/managed_disk_test/managed_disk_test.golden @@ -28,5 +28,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMManagedDiskGoldenFile ┃ $534 ┃ $0.00 ┃ $534 ┃ +┃ main ┃ $534 ┃ $0.00 ┃ $534 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden index 135dde78b3e..2a4597e7f41 100644 --- a/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mariadb_server_test/mariadb_server_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMariaDBServer ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden index 8b8148b1b8b..3031466a5c0 100644 --- a/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_action_group_test/monitor_action_group_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorActionGroup ┃ $0.00 ┃ $4,682 ┃ $4,682 ┃ +┃ main ┃ $0.00 ┃ $4,682 ┃ $4,682 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden index 0563809fa99..c0832b66f0c 100644 --- a/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_data_collection_rule_test/monitor_data_collection_rule_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorDataCollectionRule ┃ $0.00 ┃ $2 ┃ $2 ┃ +┃ main ┃ $0.00 ┃ $2 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden index b1b794fc693..9807af547aa 100644 --- a/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_diagnostic_setting_test/monitor_diagnostic_setting_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorDiagnosticSetting ┃ $0.00 ┃ $325 ┃ $325 ┃ +┃ main ┃ $0.00 ┃ $325 ┃ $325 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden index 832394edf91..2f3faf99307 100644 --- a/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_metric_alert_test/monitor_metric_alert_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorMetricAlert ┃ $2 ┃ $0.00 ┃ $2 ┃ +┃ main ┃ $2 ┃ $0.00 ┃ $2 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden index 5527cf85129..2c6e947bbfa 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_test/monitor_scheduled_query_rules_alert_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorScheduledQueryRulesAlert ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden index 534904bbf6c..23b72693657 100644 --- a/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden +++ b/internal/providers/terraform/azure/testdata/monitor_scheduled_query_rules_alert_v2_test/monitor_scheduled_query_rules_alert_v2_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitorScheduledQueryRulesAlertV2 ┃ $15 ┃ $0.00 ┃ $15 ┃ +┃ main ┃ $15 ┃ $0.00 ┃ $15 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden index c7cee7b4064..9b4d8e55ac7 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test/mssql_database_test.golden @@ -128,35 +128,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSSQLDatabase ┃ $30,593 ┃ $992 ┃ $31,585 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_8)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_M_8)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. -WRN Multiple products with prices found for azurerm_mssql_database.backup_default Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.backup_geo Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.backup_local Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.backup_zone Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.blank_sku Compute (serverless, GP_S_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.business_critical_gen Compute (provisioned, BC_Gen5_8), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.business_critical_m Compute (provisioned, BC_M_8), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_without_license Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_zone Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.general_purpose_gen_zone Zone redundancy (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.serverless Compute (serverless, GP_S_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.serverless_zone Compute (serverless, GP_S_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_mssql_database.serverless_zone Zone redundancy (serverless, GP_S_Gen5_4), using the first product \ No newline at end of file +┃ main ┃ $30,593 ┃ $992 ┃ $31,585 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden index 16a93e46b53..a20086db0db 100644 --- a/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden +++ b/internal/providers/terraform/azure/testdata/mssql_database_test_with_blank_location/mssql_database_test_with_blank_location.golden @@ -18,8 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSSQLDatabaseWithBlankLocation ┃ $147 ┃ $0.00 ┃ $147 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN Using eastus for resource azurerm_mssql_database.blank_server_location as its 'location' property could not be found. \ No newline at end of file +┃ main ┃ $147 ┃ $0.00 ┃ $147 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden index ffc6d02a6bf..ab01089b151 100644 --- a/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_elasticpool_test/mssql_elasticpool_test.golden @@ -49,18 +49,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSSQLElasticPool ┃ $19,409 ┃ $143 ┃ $19,552 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (BC_DC, 8 vCore)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (BC_DC, 8 vCore)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5, 4 vCore)' due to limitations in the Azure API. -WRN Multiple products with prices found for azurerm_mssql_elasticpool.bc_dc Compute (BC_DC, 8 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.bc_dc_zone_redundant Compute (BC_DC, 8 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5 Compute (GP_Gen5, 4 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_no_license Compute (GP_Gen5, 4 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_redundant Compute (GP_Gen5, 4 vCore), using the first product -WRN Multiple products with prices found for azurerm_mssql_elasticpool.gp_gen5_zone_redundant Zone redundancy (GP_Gen5, 4 vCore), using the first product \ No newline at end of file +┃ main ┃ $19,409 ┃ $143 ┃ $19,552 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden index 85a0605a907..faa7a2ad276 100644 --- a/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/mssql_managed_instance_test/mssql_managed_instance_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMSSQLManagedInstance ┃ $12,528 ┃ $31 ┃ $12,559 ┃ +┃ main ┃ $12,528 ┃ $31 ┃ $12,559 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden index ac1f545ae81..b91a967e58d 100644 --- a/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_flexible_server_test/mysql_flexible_server_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMySQLFlexibleServer ┃ $1,988 ┃ $570 ┃ $2,558 ┃ +┃ main ┃ $1,988 ┃ $570 ┃ $2,558 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden index c491fa862cc..7d74fad7e9a 100644 --- a/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/mysql_server_test/mysql_server_test.golden @@ -38,12 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMySQLServer_usage ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (B_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (MO_Gen5_16)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (MO_Gen5_16)' due to limitations in the Azure API. \ No newline at end of file +┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden index 2c209119be1..ad0a306d48a 100644 --- a/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/nat_gateway_test/nat_gateway_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMNATGateway ┃ $74 ┃ $0.00 ┃ $74 ┃ +┃ main ┃ $74 ┃ $0.00 ┃ $74 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden index e8a3a4b7417..cfa70cba579 100644 --- a/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden +++ b/internal/providers/terraform/azure/testdata/network_connection_monitor_test/network_connection_monitor_test.golden @@ -31,5 +31,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkConnectionMonitor ┃ $0.00 ┃ $155,511 ┃ $155,511 ┃ +┃ main ┃ $0.00 ┃ $155,511 ┃ $155,511 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden index 21441406e60..e192c92b122 100644 --- a/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/network_ddos_protection_plan_test/network_ddos_protection_plan_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkDdosProtectionPlan ┃ $5,887 ┃ $147 ┃ $6,034 ┃ +┃ main ┃ $5,887 ┃ $147 ┃ $6,034 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden index c0f04b80b4a..77052a990b6 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_flow_log_test/network_watcher_flow_log_test.golden @@ -35,5 +35,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkWatcherFlowLog ┃ $0.00 ┃ $162 ┃ $162 ┃ +┃ main ┃ $0.00 ┃ $162 ┃ $162 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden index c8012e3c4dc..decf6051bc8 100644 --- a/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden +++ b/internal/providers/terraform/azure/testdata/network_watcher_test/network_watcher_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNetworkWatcher ┃ $0.00 ┃ $9 ┃ $9 ┃ +┃ main ┃ $0.00 ┃ $9 ┃ $9 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden index fe20fc99e26..108707a6f05 100644 --- a/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/notification_hub_namespace_test/notification_hub_namespace_test.golden @@ -45,5 +45,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMNotificationHubNamespace ┃ $2,815 ┃ $0.00 ┃ $2,815 ┃ +┃ main ┃ $2,815 ┃ $0.00 ┃ $2,815 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden index f4febbead28..e104a86bc31 100644 --- a/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/point_to_site_vpn_gateway_test/point_to_site_vpn_gateway_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPointToSiteVpnGatewayGoldenFile ┃ $2,635 ┃ $0.11 ┃ $2,635 ┃ +┃ main ┃ $2,635 ┃ $0.11 ┃ $2,635 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden index 2a0ba911a82..2398d42beea 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_flexible_server_test/postgresql_flexible_server_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPostgreSQLFlexibleServer ┃ $2,160 ┃ $1,425 ┃ $3,585 ┃ +┃ main ┃ $2,160 ┃ $1,425 ┃ $3,585 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden index 000384b8ce3..6e2a11e8ae3 100644 --- a/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden +++ b/internal/providers/terraform/azure/testdata/postgresql_server_test/postgresql_server_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPostgreSQLServer ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ +┃ main ┃ $5,042 ┃ $0.00 ┃ $5,042 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden index c6c94347c19..3c1da098e81 100644 --- a/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden +++ b/internal/providers/terraform/azure/testdata/powerbi_embedded_test/powerbi_embedded_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPowerBIEmbedded ┃ $12,504 ┃ $0.00 ┃ $12,504 ┃ +┃ main ┃ $12,504 ┃ $0.00 ┃ $12,504 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden index ef03a498baf..70516311420 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_a_record_test/private_dns_a_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden index 51b5fc08557..3ad4973c3cb 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_aaaa_record_test/private_dns_aaaa_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSaaaaRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden index 379b06a1a0b..7a786f8be90 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_cname_record_test/private_dns_cname_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNScnameRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden index 22c1831da61..2eda30a7ec9 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_mx_record_test/private_dns_mx_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSmxRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden index 76f6fb6c2b2..95b47504684 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_ptr_record_test/private_dns_ptr_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSptrRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden index bdbc133dba9..068d0a92ba2 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_dns_forwarding_ruleset_test/private_dns_resolver_dns_forwarding_ruleset_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverDnsForwardingRuleset ┃ $183 ┃ $0.00 ┃ $183 ┃ +┃ main ┃ $183 ┃ $0.00 ┃ $183 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden index a3954595428..7ef46c32fcc 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_inbound_endpoint_test/private_dns_resolver_inbound_endpoint_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverInboundEndpoint ┃ $180 ┃ $0.00 ┃ $180 ┃ +┃ main ┃ $180 ┃ $0.00 ┃ $180 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden index 6f32d993cb6..ad3203482d6 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_resolver_outbound_endpoint_test/private_dns_resolver_outbound_endpoint_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPrivateDnsResolverOutboundEndpoint ┃ $180 ┃ $0.00 ┃ $180 ┃ +┃ main ┃ $180 ┃ $0.00 ┃ $180 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden index e7d535e8635..0d3c53255fa 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_srv_record_test/private_dns_srv_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSsrvRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden index 15d8349faa0..69eaa9e9879 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_txt_record_test/private_dns_txt_record_test.golden @@ -26,5 +26,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNStxtRecord ┃ $0.50 ┃ $900 ┃ $901 ┃ +┃ main ┃ $0.50 ┃ $900 ┃ $901 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden index f43e9414659..24659a22d72 100644 --- a/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden +++ b/internal/providers/terraform/azure/testdata/private_dns_zone_test/private_dns_zone_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPrivateDNSZone ┃ $1 ┃ $0.00 ┃ $1 ┃ +┃ main ┃ $1 ┃ $0.00 ┃ $1 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden index 642ef141a4b..cb6e63ff419 100644 --- a/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/private_endpoint_test/private_endpoint_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewAzureRMPrivateEndpoint ┃ $68,991 ┃ $0.00 ┃ $68,991 ┃ +┃ main ┃ $68,991 ┃ $0.00 ┃ $68,991 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden index 98fd8b234b2..b4bcd24dc25 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_prefix_test/public_ip_prefix_test.golden @@ -16,5 +16,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPublicIPPrefix ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden index 510ee874080..565001c85cc 100644 --- a/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden +++ b/internal/providers/terraform/azure/testdata/public_ip_test/public_ip_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMPublicIP ┃ $10 ┃ $0.00 ┃ $10 ┃ +┃ main ┃ $10 ┃ $0.00 ┃ $10 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden index 11d5525db70..76c85f29acf 100644 --- a/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden +++ b/internal/providers/terraform/azure/testdata/recovery_services_vault_test/recovery_services_vault_test.golden @@ -214,67 +214,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRecoveryServicesVault ┃ $302 ┃ $1,247 ┃ $1,549 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-RS0-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-GeoRedundant-Standard-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-RS0-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-false"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.large["policy-ZoneRedundant-Standard-true"] Instance backup (over 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-GeoRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.medium["policy-ZoneRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.small["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-false"] GRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-GeoRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-RS0-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-false"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-LocallyRedundant-Standard-true"] LRS data stored, using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-RS0-true"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-false"] Instance backup (under 500 GB), using the first product -WRN Multiple products with prices found for azurerm_backup_protected_vm.with_usage["policy-ZoneRedundant-Standard-true"] Instance backup (under 500 GB), using the first product \ No newline at end of file +┃ main ┃ $302 ┃ $1,247 ┃ $1,549 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden index 0740101ed6f..77d00a64b97 100644 --- a/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden +++ b/internal/providers/terraform/azure/testdata/redis_cache_test/redis_cache_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRedisCacheGoldenFile ┃ $15,865 ┃ $0.00 ┃ $15,865 ┃ +┃ main ┃ $15,865 ┃ $0.00 ┃ $15,865 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden index f157c4ed48a..8534b2eeecd 100644 --- a/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden +++ b/internal/providers/terraform/azure/testdata/search_service_test/search_service_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureSearchServiceGoldenFile ┃ $16,131 ┃ $0.00 ┃ $16,131 ┃ +┃ main ┃ $16,131 ┃ $0.00 ┃ $16,131 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden index 33106455bb0..940b7cde3a9 100644 --- a/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden +++ b/internal/providers/terraform/azure/testdata/security_center_subscription_pricing_test/security_center_subscription_pricing_test.golden @@ -101,9 +101,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSecurityCenterSubscriptionPricing ┃ $0.00 ┃ $894 ┃ $894 ┃ +┃ main ┃ $0.00 ┃ $894 ┃ $894 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_security_center_subscription_pricing.standard_example["CloudPosture"]. Unknown resource tyoe 'CloudPosture' -WRN Skipping resource azurerm_security_center_subscription_pricing.standard_example_with_usage["CloudPosture"]. Unknown resource tyoe 'CloudPosture' \ No newline at end of file +WARN Skipping resource azurerm_security_center_subscription_pricing.standard_example["CloudPosture"]. Unknown resource tyoe 'CloudPosture' +WARN Skipping resource azurerm_security_center_subscription_pricing.standard_example_with_usage["CloudPosture"]. Unknown resource tyoe 'CloudPosture' \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden index 0ed0f473287..b683f6bc3bb 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_aws_cloud_trail_test/sentinel_data_connector_aws_cloud_trail_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAwsCloudTrail ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden index c3c32cb5e06..cebeb9a817c 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_active_directory_test/sentinel_data_connector_azure_active_directory_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureActiveDirectory ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden index 3e934450d67..d8ef63a8b8a 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_advanced_threat_protection_test/sentinel_data_connector_azure_advanced_threat_protection_test.golden @@ -30,8 +30,8 @@ ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureAdvancedThreatProtection ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden index 46aabefe8d3..e1a4644ced6 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_azure_security_center_test/sentinel_data_connector_azure_security_center_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorAzureSecurityCenter ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden index 02f4d3c2e0f..8e99cd9d662 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_cloud_app_security_test/sentinel_data_connector_microsoft_cloud_app_security_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorMicrosoftCloudAppSecurity ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden index 324e001fcab..8bbdbc9cbbf 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test/sentinel_data_connector_microsoft_defender_advanced_threat_protection_test.golden @@ -30,8 +30,8 @@ ∙ 2 were estimated ∙ 4 were free -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ -┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ -┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorMicros...fenderAdvancedThreatProtection ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ +┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ +┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden index 83e82b32230..712e4c496ec 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_office_365_test/sentinel_data_connector_office_365_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorOffice365 ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden index d3106afd851..f3b069a54ad 100644 --- a/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden +++ b/internal/providers/terraform/azure/testdata/sentinel_data_connector_threat_intelligence_test/sentinel_data_connector_threat_intelligence_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSentinelDataConnectorThreatIntelligence ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ +┃ main ┃ $0.00 ┃ $0.00 ┃ $0.00 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden index 290bb5343e1..f5cf387a211 100644 --- a/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden +++ b/internal/providers/terraform/azure/testdata/service_plan_test/service_plan_test.golden @@ -823,13 +823,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMServicePlan ┃ $611,321 ┃ $0.00 ┃ $611,321 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.1"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.2"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["Windows.F1.3"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.1"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.2"] Instance usage (F1), using the first price -WRN Multiple prices found for azurerm_service_plan.example["WindowsContainer.F1.3"] Instance usage (F1), using the first price \ No newline at end of file +┃ main ┃ $611,321 ┃ $0.00 ┃ $611,321 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden index ac411d2cb7d..4036dee6ccb 100644 --- a/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden +++ b/internal/providers/terraform/azure/testdata/servicebus_namespace_test/servicebus_namespace_test.golden @@ -63,5 +63,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestServiceBusNamespace ┃ $41,998 ┃ $22,890 ┃ $64,888 ┃ +┃ main ┃ $41,998 ┃ $22,890 ┃ $64,888 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden index e5ebf965d27..c841f85077b 100644 --- a/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden +++ b/internal/providers/terraform/azure/testdata/signalr_service_test/signalr_service_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSignalRService ┃ $659 ┃ $14 ┃ $672 ┃ +┃ main ┃ $659 ┃ $14 ┃ $672 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden index 8623cc17423..e74e3498b62 100644 --- a/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden +++ b/internal/providers/terraform/azure/testdata/snapshot_test/snapshot_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSnapshot ┃ $40 ┃ $0.00 ┃ $40 ┃ +┃ main ┃ $40 ┃ $0.00 ┃ $40 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden index 4b107b8df2a..c33b044aa0e 100644 --- a/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_database_test/sql_database_test.golden @@ -89,27 +89,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSQLDatabase ┃ $7,197 ┃ $631 ┃ $7,828 ┃ -┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ -Logs: - -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, BC_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, GP_Gen5_4)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (provisioned, HS_Gen5_2)' due to limitations in the Azure API. -WRN 'Multiple products found' are safe to ignore for 'Compute (serverless, GP_S_Gen5_4)' due to limitations in the Azure API. -WRN Multiple products with prices found for azurerm_sql_database.backup Compute (provisioned, GP_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_sql_database.default_sql_database Compute (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.serverless Compute (serverless, GP_S_Gen5_4), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_critical Compute (provisioned, BC_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_critical_zone_redundant Compute (provisioned, BC_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen Compute (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen_zone_redundant Compute (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_edition_gen_zone_redundant Zone redundancy (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_max_size Compute (provisioned, GP_Gen5_2), using the first product -WRN Multiple products with prices found for azurerm_sql_database.sql_database_with_service_object_name Compute (provisioned, BC_Gen5_2), using the first product \ No newline at end of file +┃ main ┃ $7,197 ┃ $631 ┃ $7,828 ┃ +┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden index 9c8db6d1efa..03ea6ec0dc4 100644 --- a/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_elasticpool_test/sql_elasticpool_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSQLElasticPool ┃ $3,326 ┃ $143 ┃ $3,469 ┃ +┃ main ┃ $3,326 ┃ $143 ┃ $3,469 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden index 06afd575a6d..54c77fae999 100644 --- a/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden +++ b/internal/providers/terraform/azure/testdata/sql_managed_instance_test/sql_managed_instance_test.golden @@ -32,5 +32,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSQLManagedInstance ┃ $12,528 ┃ $31 ┃ $12,559 ┃ +┃ main ┃ $12,528 ┃ $31 ┃ $12,559 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden index fae48b9373d..14bbb773467 100644 --- a/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_account_test/storage_account_test.golden @@ -405,8 +405,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureStorageAccountGoldenFile ┃ $0.00 ┃ $7,635,981 ┃ $7,635,981 ┃ +┃ main ┃ $0.00 ┃ $7,635,981 ┃ $7,635,981 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_storage_account.unsupported. BlockBlobStorage Premium doesn't support GRS redundancy \ No newline at end of file +WARN Skipping resource azurerm_storage_account.unsupported. BlockBlobStorage Premium doesn't support GRS redundancy \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden index f377094ee74..bb40dd3eb66 100644 --- a/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_queue_test/storage_queue_test.golden @@ -126,9 +126,9 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestStorageQueue ┃ $0.00 ┃ $1,803 ┃ $1,803 ┃ +┃ main ┃ $0.00 ┃ $1,803 ┃ $1,803 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_storage_account.unsupported. Storage Standard doesn't support GZRS redundancy -WRN Skipping resource azurerm_storage_queue.unsupported. Storage Queues don't support GZRS redundancy \ No newline at end of file +WARN Skipping resource azurerm_storage_account.unsupported. Storage Standard doesn't support GZRS redundancy +WARN Skipping resource azurerm_storage_queue.unsupported. Storage Queues don't support GZRS redundancy \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden index d406013f122..3b32fae7aca 100644 --- a/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden +++ b/internal/providers/terraform/azure/testdata/storage_share_test/storage_share_test.golden @@ -142,8 +142,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestStorageShare ┃ $0.00 ┃ $946,945 ┃ $946,945 ┃ +┃ main ┃ $0.00 ┃ $946,945 ┃ $946,945 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource azurerm_storage_share.unsupported. Premium access tier is only supported for FileStorage accounts \ No newline at end of file +WARN Skipping resource azurerm_storage_share.unsupported. Premium access tier is only supported for FileStorage accounts \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden index 71238cf2831..fcad93b8b7b 100644 --- a/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_spark_pool_test/synapse_spark_pool_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseSparkPool ┃ $98 ┃ $0.00 ┃ $98 ┃ +┃ main ┃ $98 ┃ $0.00 ┃ $98 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden index b3dad23620e..0fa3bc2b811 100644 --- a/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_sql_pool_test/synapse_sql_pool_test.golden @@ -50,5 +50,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseSQLPool ┃ $6,771 ┃ $0.00 ┃ $6,771 ┃ +┃ main ┃ $6,771 ┃ $0.00 ┃ $6,771 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden index 18087ecd213..6e46e9b9dc4 100644 --- a/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden +++ b/internal/providers/terraform/azure/testdata/synapse_workspace_test/synapse_workspace_test.golden @@ -75,5 +75,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewAzureRMSynapseWorkspace ┃ $127 ┃ $0.00 ┃ $127 ┃ +┃ main ┃ $127 ┃ $0.00 ┃ $127 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden index 233c576f0d0..c3859420568 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_azure_endpoint_test/traffic_manager_azure_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTrafficManagerAzureEndpoint ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden index 82fba0d4f6f..c81d779be64 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_external_endpoint_test/traffic_manager_external_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTrafficManagerExternalEndpoint ┃ $7 ┃ $0.00 ┃ $7 ┃ +┃ main ┃ $7 ┃ $0.00 ┃ $7 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden index 4f5364a5723..3ffe6d7164c 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_nested_endpoint_test/traffic_manager_nested_endpoint_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTrafficManagerNestedEndpoint ┃ $4 ┃ $0.00 ┃ $4 ┃ +┃ main ┃ $4 ┃ $0.00 ┃ $4 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden index ff0cc15a72b..43a8c2587f3 100644 --- a/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden +++ b/internal/providers/terraform/azure/testdata/traffic_manager_profile_test/traffic_manager_profile_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestTrafficManagerProfile ┃ $0.00 ┃ $653 ┃ $653 ┃ +┃ main ┃ $0.00 ┃ $653 ┃ $653 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden index e3609bd339f..fc594e319c0 100644 --- a/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_hub_test/virtual_hub_test.golden @@ -20,5 +20,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVirtualHubGoldenFile ┃ $365 ┃ $2 ┃ $367 ┃ +┃ main ┃ $365 ┃ $2 ┃ $367 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden index 2a69fd46134..9fe283e9782 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_scale_set_test/virtual_machine_scale_set_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureVirtualMachineScaleSetGoldenFile ┃ $427 ┃ $0.55 ┃ $428 ┃ +┃ main ┃ $427 ┃ $0.55 ┃ $428 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden index 9e399015d99..65cafdecd24 100644 --- a/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_machine_test/virtual_machine_test.golden @@ -53,5 +53,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureVirtualMachineGoldenFile ┃ $408 ┃ $0.55 ┃ $408 ┃ +┃ main ┃ $408 ┃ $0.55 ┃ $408 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden index 926faf36e9b..46a80cc043b 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_connection_test/virtual_network_gateway_connection_test.golden @@ -69,5 +69,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMVirtualNetworkGatewayConnection ┃ $5,965 ┃ $0.00 ┃ $5,965 ┃ +┃ main ┃ $5,965 ┃ $0.00 ┃ $5,965 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden index 95d1f00df03..a4c11ebc903 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_gateway_test/virtual_network_gateway_test.golden @@ -51,5 +51,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMVirtualNetworkGateway ┃ $49,247 ┃ $0.00 ┃ $49,247 ┃ +┃ main ┃ $49,247 ┃ $0.00 ┃ $49,247 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden index 5c603c46abe..2baf27bda85 100644 --- a/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden +++ b/internal/providers/terraform/azure/testdata/virtual_network_peering_test/virtual_network_peering_test.golden @@ -37,5 +37,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVirtualNetworkPeering ┃ $0.00 ┃ $215 ┃ $215 ┃ +┃ main ┃ $0.00 ┃ $215 ┃ $215 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden index 96596c587b3..d4e52aff016 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_connection_test/vpn_gateway_connection_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVpnGatewayConnectionGoldenFile ┃ $300 ┃ $0.00 ┃ $300 ┃ +┃ main ┃ $300 ┃ $0.00 ┃ $300 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden index 48e265a4e0d..0d587e6a56c 100644 --- a/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden +++ b/internal/providers/terraform/azure/testdata/vpn_gateway_test/vpn_gateway_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestVpnGatewayGoldenFile ┃ $1,054 ┃ $0.00 ┃ $1,054 ┃ +┃ main ┃ $1,054 ┃ $0.00 ┃ $1,054 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden index c5862b605a9..42a53c92790 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_scale_set_test/windows_virtual_machine_scale_set_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsVirtualMachineScaleSetGoldenFile ┃ $690 ┃ $0.00 ┃ $690 ┃ +┃ main ┃ $690 ┃ $0.00 ┃ $690 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden index 08567993c3d..f80c551e1bf 100644 --- a/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden +++ b/internal/providers/terraform/azure/testdata/windows_virtual_machine_test/windows_virtual_machine_test.golden @@ -54,5 +54,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestAzureRMWindowsVirtualMachineGoldenFile ┃ $1,958 ┃ $0.00 ┃ $1,958 ┃ +┃ main ┃ $1,958 ┃ $0.00 ┃ $1,958 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/util.go b/internal/providers/terraform/azure/util.go index b6240ca0ab1..9916094edfa 100644 --- a/internal/providers/terraform/azure/util.go +++ b/internal/providers/terraform/azure/util.go @@ -5,9 +5,9 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -49,7 +49,7 @@ func lookupRegion(d *schema.ResourceData, parentResourceKeys []string) string { // When all else fails use the default region defaultRegion := toAzureCLIName(d.Get("region").String()) - log.Warn().Msgf("Using %s for resource %s as its 'location' property could not be found.", defaultRegion, d.Address) + logging.Logger.Debug().Msgf("Using %s for resource %s as its 'location' property could not be found.", defaultRegion, d.Address) return defaultRegion } diff --git a/internal/providers/terraform/cloud.go b/internal/providers/terraform/cloud.go index 2c5e6dd14a7..81c425470b9 100644 --- a/internal/providers/terraform/cloud.go +++ b/internal/providers/terraform/cloud.go @@ -6,16 +6,16 @@ import ( "net/http" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/credentials" + "github.com/infracost/infracost/internal/logging" ) func cloudAPI(host string, path string, token string) ([]byte, error) { client := &http.Client{} url := fmt.Sprintf("https://%s%s", host, path) - log.Debug().Msgf("Calling Terraform Cloud API: %s", url) + logging.Logger.Debug().Msgf("Calling Terraform Cloud API: %s", url) req, err := http.NewRequest("GET", url, nil) if err != nil { return []byte{}, err diff --git a/internal/providers/terraform/cmd.go b/internal/providers/terraform/cmd.go index 45ea7501375..cbee5aab0bb 100644 --- a/internal/providers/terraform/cmd.go +++ b/internal/providers/terraform/cmd.go @@ -11,7 +11,6 @@ import ( "sync" "github.com/rs/zerolog" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/logging" ) @@ -43,7 +42,7 @@ func Cmd(opts *CmdOptions, args ...string) ([]byte, error) { } cmd := exec.Command(exe, append(args, opts.Flags...)...) - log.Debug().Msgf("Running command: %s", cmd.String()) + logging.Logger.Debug().Msgf("Running command: %s", cmd.String()) cmd.Dir = opts.Dir cmd.Env = os.Environ() @@ -142,27 +141,27 @@ func CreateConfigFile(dir string, terraformCloudHost string, terraformCloudToken return "", nil } - log.Debug().Msg("Creating temporary config file for Terraform credentials") + logging.Logger.Debug().Msg("Creating temporary config file for Terraform credentials") tmpFile, err := os.CreateTemp("", "") if err != nil { return "", err } if os.Getenv("TF_CLI_CONFIG_FILE") != "" { - log.Debug().Msgf("TF_CLI_CONFIG_FILE is set, copying existing config from %s to config to temporary config file %s", os.Getenv("TF_CLI_CONFIG_FILE"), tmpFile.Name()) + logging.Logger.Debug().Msgf("TF_CLI_CONFIG_FILE is set, copying existing config from %s to config to temporary config file %s", os.Getenv("TF_CLI_CONFIG_FILE"), tmpFile.Name()) path := os.Getenv("TF_CLI_CONFIG_FILE") if !filepath.IsAbs(path) { path, err = filepath.Abs(filepath.Join(dir, path)) if err != nil { - log.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) + logging.Logger.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) } } if err == nil { err = copyFile(path, tmpFile.Name()) if err != nil { - log.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) + logging.Logger.Warn().Msgf("Unable to copy existing config from %s: %v", path, err) } } } @@ -183,7 +182,7 @@ func CreateConfigFile(dir string, terraformCloudHost string, terraformCloudToken } `, host, terraformCloudToken) - log.Debug().Msgf("Writing Terraform credentials to temporary config file %s", tmpFile.Name()) + logging.Logger.Debug().Msgf("Writing Terraform credentials to temporary config file %s", tmpFile.Name()) if _, err := f.WriteString(contents); err != nil { return tmpFile.Name(), err } diff --git a/internal/providers/terraform/dir_provider.go b/internal/providers/terraform/dir_provider.go index 0d5e6189d8f..6d6396d8843 100644 --- a/internal/providers/terraform/dir_provider.go +++ b/internal/providers/terraform/dir_provider.go @@ -18,10 +18,9 @@ import ( "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/credentials" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/ui" - - "github.com/rs/zerolog/log" ) var minTerraformVer = "v0.12" @@ -29,7 +28,6 @@ var minTerraformVer = "v0.12" type DirProvider struct { ctx *config.ProjectContext Path string - spinnerOpts ui.SpinnerOptions IsTerragrunt bool PlanFlags string InitFlags string @@ -55,13 +53,8 @@ func NewDirProvider(ctx *config.ProjectContext, includePastResources bool) schem } return &DirProvider{ - ctx: ctx, - Path: ctx.ProjectConfig.Path, - spinnerOpts: ui.SpinnerOptions{ - EnableLogging: ctx.RunContext.Config.IsLogging(), - NoColor: ctx.RunContext.Config.NoColor, - Indent: " ", - }, + ctx: ctx, + Path: ctx.ProjectConfig.Path, PlanFlags: ctx.ProjectConfig.TerraformPlanFlags, InitFlags: ctx.ProjectConfig.TerraformInitFlags, Workspace: ctx.ProjectConfig.TerraformWorkspace, @@ -74,6 +67,28 @@ func NewDirProvider(ctx *config.ProjectContext, includePastResources bool) schem } } +func (p *DirProvider) ProjectName() string { + if p.ctx.ProjectConfig.Name != "" { + return p.ctx.ProjectConfig.Name + } + + if p.ctx.ProjectConfig.TerraformWorkspace != "" { + return config.CleanProjectName(p.RelativePath()) + "-" + p.ctx.ProjectConfig.TerraformWorkspace + } + + return config.CleanProjectName(p.RelativePath()) +} + +func (p *DirProvider) VarFiles() []string { + return nil +} + +func (p *DirProvider) RelativePath() string { + r, _ := filepath.Rel(p.ctx.RunContext.Config.WorkingDirectory(), p.ctx.ProjectConfig.Path) + + return r +} + func (p *DirProvider) Context() *config.ProjectContext { return p.ctx } func (p *DirProvider) Type() string { @@ -115,14 +130,8 @@ func (p *DirProvider) checks() error { func (p *DirProvider) AddMetadata(metadata *schema.ProjectMetadata) { metadata.ConfigSha = p.ctx.ProjectConfig.ConfigSha - basePath := p.ctx.ProjectConfig.Path - if p.ctx.RunContext.Config.ConfigFilePath != "" { - basePath = filepath.Dir(p.ctx.RunContext.Config.ConfigFilePath) - } - - modulePath, err := filepath.Rel(basePath, metadata.Path) - if err == nil && modulePath != "" && modulePath != "." { - log.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) + modulePath := p.RelativePath() + if modulePath != "" && modulePath != "." { metadata.TerraformModulePath = modulePath } @@ -135,7 +144,7 @@ func (p *DirProvider) AddMetadata(metadata *schema.ProjectMetadata) { out, err := cmd.Output() if err != nil { - log.Debug().Msgf("Could not detect Terraform workspace for %s", p.Path) + logging.Logger.Debug().Msgf("Could not detect Terraform workspace for %s", p.Path) } terraformWorkspace = strings.Split(string(out), "\n")[0] } @@ -157,12 +166,7 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e return projects, err } - spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") jsons := [][]byte{out} if p.IsTerragrunt { @@ -182,6 +186,7 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e } project := schema.NewProject(name, metadata) + project.DisplayName = p.ProjectName() parser := NewParser(p.ctx, p.includePastResources) @@ -202,7 +207,6 @@ func (p *DirProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, e projects = append(projects, project) } - spinner.Success() return projects, nil } @@ -212,15 +216,14 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { } if UsePlanCache(p) { - spinner := ui.NewSpinner("Checking for cached plan...", p.spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Checking for cached plan...") cached, err := ReadPlanCache(p) if err != nil { - spinner.SuccessWithMessage(fmt.Sprintf("Checking for cached plan... %v", err.Error())) + logging.Logger.Debug().Msgf("Checking for cached plan... %v", err.Error()) } else { p.cachedPlanJSON = cached - spinner.SuccessWithMessage("Checking for cached plan... found") + logging.Logger.Debug().Msg("Checking for cached plan... found") return p.cachedPlanJSON, nil } } @@ -238,10 +241,7 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - spinner := ui.NewSpinner("Running terraform plan", p.spinnerOpts) - defer spinner.Fail() - - planFile, planJSON, err := p.runPlan(opts, spinner, true) + planFile, planJSON, err := p.runPlan(opts, true) defer os.Remove(planFile) if err != nil { @@ -252,8 +252,7 @@ func (p *DirProvider) generatePlanJSON() ([]byte, error) { return planJSON, nil } - spinner = ui.NewSpinner("Running terraform show", p.spinnerOpts) - j, err := p.runShow(opts, spinner, planFile, false) + j, err := p.runShow(opts, planFile, false) if err == nil { p.cachedPlanJSON = j if UsePlanCache(p) { @@ -282,10 +281,7 @@ func (p *DirProvider) generateStateJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - spinner := ui.NewSpinner("Running terraform show", p.spinnerOpts) - defer spinner.Fail() - - j, err := p.runShow(opts, spinner, "", true) + j, err := p.runShow(opts, "", true) if err == nil { p.cachedStateJSON = j } @@ -310,7 +306,8 @@ func (p *DirProvider) buildCommandOpts(path string) (*CmdOptions, error) { return opts, nil } -func (p *DirProvider) runPlan(opts *CmdOptions, spinner *ui.Spinner, initOnFail bool) (string, []byte, error) { +func (p *DirProvider) runPlan(opts *CmdOptions, initOnFail bool) (string, []byte, error) { + logging.Logger.Debug().Msg("Running terraform plan") var planJSON []byte fileName := ".tfplan-" + uuid.New().String() @@ -339,21 +336,20 @@ func (p *DirProvider) runPlan(opts *CmdOptions, spinner *ui.Spinner, initOnFail // If the plan returns this error then Terraform is configured with remote execution mode if isTerraformRemoteExecutionErr(extractedErr) { - log.Info().Msg("Continuing with Terraform Remote Execution Mode") + logging.Logger.Debug().Msg("Continuing with Terraform Remote Execution Mode") p.ctx.ContextValues.SetValue("terraformRemoteExecutionModeEnabled", true) planJSON, err = p.runRemotePlan(opts, args) } else if initOnFail && isTerraformInitErr(extractedErr) { - spinner.Stop() - err = p.runInit(opts, ui.NewSpinner("Running terraform init", p.spinnerOpts)) + err = p.runInit(opts) if err != nil { return "", planJSON, err } - return p.runPlan(opts, spinner, false) + return p.runPlan(opts, false) } } if err != nil { - spinner.Fail() + logging.Logger.Debug().Err(err).Msg("Failed terraform plan") err = p.buildTerraformErr(err, false) cmdName := "terraform plan" @@ -364,12 +360,12 @@ func (p *DirProvider) runPlan(opts *CmdOptions, spinner *ui.Spinner, initOnFail return "", planJSON, clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } - spinner.Success() - return fileName, planJSON, nil } -func (p *DirProvider) runInit(opts *CmdOptions, spinner *ui.Spinner) error { +func (p *DirProvider) runInit(opts *CmdOptions) error { + logging.Logger.Debug().Msg("Running terraform init") + args := []string{} if p.IsTerragrunt { args = append(args, "run-all", "--terragrunt-ignore-external-dependencies") @@ -390,7 +386,8 @@ func (p *DirProvider) runInit(opts *CmdOptions, spinner *ui.Spinner) error { _, err = Cmd(opts, args...) if err != nil { - spinner.Fail() + logging.Logger.Debug().Msg("Failed terraform init") + err = p.buildTerraformErr(err, true) cmdName := "terraform init" @@ -401,7 +398,7 @@ func (p *DirProvider) runInit(opts *CmdOptions, spinner *ui.Spinner) error { return clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } - spinner.Success() + logging.Logger.Debug().Msg("Finished running terraform init") return nil } @@ -458,7 +455,8 @@ func (p *DirProvider) runRemotePlan(opts *CmdOptions, args []string) ([]byte, er return cloudAPI(host, jsonPath, token) } -func (p *DirProvider) runShow(opts *CmdOptions, spinner *ui.Spinner, planFile string, initOnFail bool) ([]byte, error) { +func (p *DirProvider) runShow(opts *CmdOptions, planFile string, initOnFail bool) ([]byte, error) { + logging.Logger.Debug().Msg("Running terraform show") args := []string{"show", "-no-color", "-json"} if planFile != "" { args = append(args, planFile) @@ -471,19 +469,18 @@ func (p *DirProvider) runShow(opts *CmdOptions, spinner *ui.Spinner, planFile st // If the plan returns this error then Terraform is configured with remote execution mode if isTerraformRemoteExecutionErr(extractedErr) { - log.Info().Msg("Terraform expected Remote Execution Mode") + logging.Logger.Debug().Msg("Terraform expected Remote Execution Mode") } else if initOnFail && isTerraformInitErr(extractedErr) { - spinner.Stop() - err = p.runInit(opts, ui.NewSpinner("Running terraform init", p.spinnerOpts)) + err = p.runInit(opts) if err != nil { return out, err } - return p.runShow(opts, spinner, planFile, false) + return p.runShow(opts, planFile, false) } } if err != nil { - spinner.Fail() + logging.Logger.Debug().Msg("Failed terraform show") err = p.buildTerraformErr(err, false) cmdName := "terraform show" @@ -493,7 +490,7 @@ func (p *DirProvider) runShow(opts *CmdOptions, spinner *ui.Spinner, planFile st msg := fmt.Sprintf("%s failed", cmdName) return []byte{}, clierror.NewCLIError(fmt.Errorf("%s: %s", msg, err), msg) } - spinner.Success() + logging.Logger.Debug().Msg("Finished running terraform show") return out, nil } diff --git a/internal/providers/terraform/google/container_cluster.go b/internal/providers/terraform/google/container_cluster.go index b3a622ebeda..f0520ddb93f 100644 --- a/internal/providers/terraform/google/container_cluster.go +++ b/internal/providers/terraform/google/container_cluster.go @@ -3,9 +3,9 @@ package google import ( "fmt" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/google" "github.com/infracost/infracost/internal/schema" ) @@ -58,7 +58,7 @@ func newContainerCluster(d *schema.ResourceData) schema.CoreResource { nameIndex := 0 for _, values := range d.Get("node_pool").Array() { if contains(definedNodePoolNames, values.Get("name").String()) { - log.Debug().Msgf("Skipping node pool with name %s since it is defined in another resource", values.Get("name").String()) + logging.Logger.Debug().Msgf("Skipping node pool with name %s since it is defined in another resource", values.Get("name").String()) continue } diff --git a/internal/providers/terraform/google/container_node_pool.go b/internal/providers/terraform/google/container_node_pool.go index 6583bc51be9..fbb68f3c475 100644 --- a/internal/providers/terraform/google/container_node_pool.go +++ b/internal/providers/terraform/google/container_node_pool.go @@ -1,9 +1,9 @@ package google import ( - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources/google" "github.com/infracost/infracost/internal/schema" ) @@ -55,7 +55,7 @@ func newNodePool(address string, d gjson.Result, cluster *schema.ResourceData) * } if region == "" { - log.Warn().Msgf("Skipping resource %s. Unable to determine region", address) + logging.Logger.Warn().Msgf("Skipping resource %s. Unable to determine region", address) return nil } diff --git a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden index 7908fd77770..68506c47182 100644 --- a/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden +++ b/internal/providers/terraform/google/testdata/artifact_registry_repository_test/artifact_registry_repository_test.golden @@ -38,5 +38,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestArtifactRegistryRepositoryGoldenFile ┃ $0.00 ┃ $147 ┃ $147 ┃ +┃ main ┃ $0.00 ┃ $147 ┃ $147 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden index 9a2a32a709e..de45e2e77f5 100644 --- a/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_dataset_test/bigquery_dataset_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestBigqueryDataset ┃ $0.00 ┃ $627 ┃ $627 ┃ +┃ main ┃ $0.00 ┃ $627 ┃ $627 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden index 595adf96a0d..1176a29c74c 100644 --- a/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden +++ b/internal/providers/terraform/google/testdata/bigquery_table_test/bigquery_table_test.golden @@ -29,5 +29,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestBigqueryTable ┃ $0.00 ┃ $1,164 ┃ $1,164 ┃ +┃ main ┃ $0.00 ┃ $1,164 ┃ $1,164 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden index bbdf508fa22..657d2ba053b 100644 --- a/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden +++ b/internal/providers/terraform/google/testdata/cloudfunctions_function_test/cloudfunctions_function_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestCloudFunctions ┃ $0.00 ┃ $30 ┃ $30 ┃ +┃ main ┃ $0.00 ┃ $30 ┃ $30 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden index a0ca6e41294..cecf6f6cb61 100644 --- a/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden +++ b/internal/providers/terraform/google/testdata/compute_address_test/compute_address_test.golden @@ -43,5 +43,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeAddress ┃ $48 ┃ $0.00 ┃ $48 ┃ +┃ main ┃ $48 ┃ $0.00 ┃ $48 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden index 5bf3f6ff468..2478e9f3632 100644 --- a/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden +++ b/internal/providers/terraform/google/testdata/compute_disk_test/compute_disk_test.golden @@ -61,5 +61,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeDiskGoldenFile ┃ $18,978 ┃ $5 ┃ $18,982 ┃ +┃ main ┃ $18,978 ┃ $5 ┃ $18,982 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden index 35d688ef812..e34b7badc34 100644 --- a/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_external_vpn_gateway_test/compute_external_vpn_gateway_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeExternalVPNGateway ┃ $0.00 ┃ $3,245 ┃ $3,245 ┃ +┃ main ┃ $0.00 ┃ $3,245 ┃ $3,245 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden index 58ed9dd7d71..0367513beae 100644 --- a/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden +++ b/internal/providers/terraform/google/testdata/compute_forwarding_rule_test/compute_forwarding_rule_test.golden @@ -24,5 +24,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeForwardingRule ┃ $22 ┃ $2 ┃ $24 ┃ +┃ main ┃ $22 ┃ $2 ┃ $24 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden index ba1c9907abd..84e6a3fbd1a 100644 --- a/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_ha_vpn_gateway_test/compute_ha_vpn_gateway_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeHAVPNGateway ┃ $0.00 ┃ $47 ┃ $47 ┃ +┃ main ┃ $0.00 ┃ $47 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden index 8137570c0e4..06aabb75ef1 100644 --- a/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_image_test/compute_image_test.golden @@ -39,5 +39,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeImageGoldenFile ┃ $40 ┃ $211 ┃ $251 ┃ +┃ main ┃ $40 ┃ $211 ┃ $251 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden index 39e8068beab..7dd49c053ef 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_group_manager_test/compute_instance_group_manager_test.golden @@ -19,5 +19,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeInstanceGroupManagerGoldenFile ┃ $2,230 ┃ $0.00 ┃ $2,230 ┃ +┃ main ┃ $2,230 ┃ $0.00 ┃ $2,230 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden index 61cb09f6e2d..875f927baa9 100644 --- a/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden +++ b/internal/providers/terraform/google/testdata/compute_instance_test/compute_instance_test.golden @@ -99,8 +99,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeInstanceGoldenFile ┃ $10,250 ┃ $0.00 ┃ $10,250 ┃ +┃ main ┃ $10,250 ┃ $0.00 ┃ $10,250 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource google_compute_instance.e2_custom. Infracost currently does not support E2 custom instances \ No newline at end of file +WARN Skipping resource google_compute_instance.e2_custom. Infracost currently does not support E2 custom instances \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden index a22634983d9..93281cc1050 100644 --- a/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden +++ b/internal/providers/terraform/google/testdata/compute_machine_image_test/compute_machine_image_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeMachineImageGoldenFile ┃ $25 ┃ $250 ┃ $275 ┃ +┃ main ┃ $25 ┃ $250 ┃ $275 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden index 97084fb8ef4..3146da8fc8b 100644 --- a/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_per_instance_config_test/compute_per_instance_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputePerInstanceConfig ┃ $68 ┃ $0.00 ┃ $68 ┃ +┃ main ┃ $68 ┃ $0.00 ┃ $68 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden index ef243e0be9f..19ca4a14329 100644 --- a/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_instance_group_manager_test/compute_region_instance_group_manager_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeRegionInstanceGroupManagerGoldenFile ┃ $1,375 ┃ $0.00 ┃ $1,375 ┃ +┃ main ┃ $1,375 ┃ $0.00 ┃ $1,375 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden index a3c60b6ae83..7b4fcb87f7e 100644 --- a/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden +++ b/internal/providers/terraform/google/testdata/compute_region_per_instance_config_test/compute_region_per_instance_config_test.golden @@ -17,5 +17,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeRegionPerInstanceConfig ┃ $68 ┃ $0.00 ┃ $68 ┃ +┃ main ┃ $68 ┃ $0.00 ┃ $68 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden index 23d61cdfc09..1069a2ecec7 100644 --- a/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden +++ b/internal/providers/terraform/google/testdata/compute_router_nat_test/compute_router_nat_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeRouterNAT ┃ $0.00 ┃ $127 ┃ $127 ┃ +┃ main ┃ $0.00 ┃ $127 ┃ $127 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden index 1def8428b44..fb705f62e53 100644 --- a/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden +++ b/internal/providers/terraform/google/testdata/compute_snapshot_test/compute_snapshot_test.golden @@ -21,5 +21,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeSnapshotGoldenFile ┃ $4 ┃ $29 ┃ $33 ┃ +┃ main ┃ $4 ┃ $29 ┃ $33 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden index 984cb061e17..564e6ea6ee6 100644 --- a/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden +++ b/internal/providers/terraform/google/testdata/compute_target_grpc_proxy_test/compute_target_grpc_proxy_test.golden @@ -44,5 +44,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestСomputeTargetGrpcProxy ┃ $0.00 ┃ $1,309 ┃ $1,309 ┃ +┃ main ┃ $0.00 ┃ $1,309 ┃ $1,309 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden index 370bd2c52bd..b20a52b96f2 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_gateway_test/compute_vpn_gateway_test.golden @@ -23,5 +23,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeVPNGateway ┃ $0.00 ┃ $47 ┃ $47 ┃ +┃ main ┃ $0.00 ┃ $47 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden index a933ea80a69..2cf46f5e45a 100644 --- a/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden +++ b/internal/providers/terraform/google/testdata/compute_vpn_tunnel_test/compute_vpn_tunnel_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestComputeVPNTunnel ┃ $37 ┃ $0.00 ┃ $37 ┃ +┃ main ┃ $37 ┃ $0.00 ┃ $37 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden index 20f87a7cc7d..ca616ffeda4 100644 --- a/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden +++ b/internal/providers/terraform/google/testdata/container_cluster_test/container_cluster_test.golden @@ -149,8 +149,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestContainerClusterGoldenFile ┃ $27,590 ┃ $509 ┃ $28,099 ┃ +┃ main ┃ $27,590 ┃ $509 ┃ $28,099 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN Skipping resource node_pool[0]. Infracost currently does not support E2 custom instances \ No newline at end of file +WARN Skipping resource node_pool[0]. Infracost currently does not support E2 custom instances \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden index d93698ec202..83fddf1a255 100644 --- a/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden +++ b/internal/providers/terraform/google/testdata/container_node_pool_test/container_node_pool_test.golden @@ -133,5 +133,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestContainerNodePoolGoldenFile ┃ $27,982 ┃ $0.00 ┃ $27,982 ┃ +┃ main ┃ $27,982 ┃ $0.00 ┃ $27,982 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden index 4c3bd0f2ceb..8dd0fa1d20b 100644 --- a/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden +++ b/internal/providers/terraform/google/testdata/container_registry_test/container_registry_test.golden @@ -48,5 +48,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestContainerRegistryGoldenFile ┃ $0.00 ┃ $1,567 ┃ $1,567 ┃ +┃ main ┃ $0.00 ┃ $1,567 ┃ $1,567 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden index 3bf3cdb5e6c..66c429ba95b 100644 --- a/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden +++ b/internal/providers/terraform/google/testdata/dns_managed_zone_test/dns_managed_zone_test.golden @@ -15,5 +15,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDNSManagedZoneGoldenFile ┃ $0.20 ┃ $0.00 ┃ $0.20 ┃ +┃ main ┃ $0.20 ┃ $0.00 ┃ $0.20 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden index c2b0465d412..f8fd2da773a 100644 --- a/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden +++ b/internal/providers/terraform/google/testdata/dns_record_set_test/dns_record_set_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestDNSRecordSetGoldenFile ┃ $0.00 ┃ $0.04 ┃ $0.04 ┃ +┃ main ┃ $0.00 ┃ $0.04 ┃ $0.04 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden index 8fd252af3b8..6e45823ba41 100644 --- a/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden +++ b/internal/providers/terraform/google/testdata/kms_crypto_key_test/kms_crypto_key_test.golden @@ -25,5 +25,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestKMSCryptoKeyGoldenFile ┃ $0.00 ┃ $8,002 ┃ $8,002 ┃ +┃ main ┃ $0.00 ┃ $8,002 ┃ $8,002 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden index 6f0fce241f8..55cd6403747 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_bucket_config_test/logging_billing_account_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingBillingAccountBucketConfigGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden index 262e150882b..b79131e0789 100644 --- a/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_billing_account_sink_test/logging_billing_account_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingBillingAccountSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden index c86b05f021e..2824914a48a 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_bucket_config_test/logging_folder_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden index 5350e3f2a2f..f63eef38e8e 100644 --- a/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_folder_sink_test/logging_folder_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingFolderSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden index 0e2f58cb3c3..5e9d35938d1 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_bucket_config_test/logging_organization_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingOrgFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden index 9986664abf3..e4b74497b1e 100644 --- a/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_organization_sink_test/logging_organization_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingOrgSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden index bb028323b02..d82f3e1ceff 100644 --- a/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_bucket_config_test/logging_project_bucket_config_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingProjectFolderBucketGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden index ff6a74010ca..7a9ee8788ae 100644 --- a/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden +++ b/internal/providers/terraform/google/testdata/logging_project_sink_test/logging_project_sink_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestLoggingProjectSinkGoldenFile ┃ $0.00 ┃ $50 ┃ $50 ┃ +┃ main ┃ $0.00 ┃ $50 ┃ $50 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden index 681e630a303..9031758fdad 100644 --- a/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden +++ b/internal/providers/terraform/google/testdata/monitoring_metric_descriptor_test/monitoring_metric_descriptor_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestMonitoring ┃ $0.00 ┃ $63,710 ┃ $63,710 ┃ +┃ main ┃ $0.00 ┃ $63,710 ┃ $63,710 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden index c9a6087f3e6..d37407274f2 100644 --- a/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_subscription_test/pubsub_subscription_test.golden @@ -22,5 +22,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPubSubSubscription ┃ $0.00 ┃ $414 ┃ $414 ┃ +┃ main ┃ $0.00 ┃ $414 ┃ $414 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden index 1d44d2e55ae..b26b3735ae2 100644 --- a/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden +++ b/internal/providers/terraform/google/testdata/pubsub_topic_test/pubsub_topic_test.golden @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestPubSubTopic ┃ $0.00 ┃ $400 ┃ $400 ┃ +┃ main ┃ $0.00 ┃ $400 ┃ $400 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden index 18fc8fee198..8c7b63fe249 100644 --- a/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden +++ b/internal/providers/terraform/google/testdata/redis_instance_test/redis_instance_test.golden @@ -42,5 +42,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestRedisInstance ┃ $6,937 ┃ $0.00 ┃ $6,937 ┃ +┃ main ┃ $6,937 ┃ $0.00 ┃ $6,937 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden index a7282129064..0566c7cff0f 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_test/secret_manager_secret_test.golden @@ -27,5 +27,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSecretManagerSecretGoldenFile ┃ $0.00 ┃ $786 ┃ $786 ┃ +┃ main ┃ $0.00 ┃ $786 ┃ $786 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden index 5480f43d966..0a454329d46 100644 --- a/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden +++ b/internal/providers/terraform/google/testdata/secret_manager_secret_version_test/secret_manager_secret_version_test.golden @@ -34,5 +34,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestSecretManagerSecretVersionGoldenFile ┃ $0.30 ┃ $0.08 ┃ $0.38 ┃ +┃ main ┃ $0.30 ┃ $0.08 ┃ $0.38 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden index 27cfda6a918..a0100fb8a75 100644 --- a/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden +++ b/internal/providers/terraform/google/testdata/service_networking_connection_test/service_networking_connection_test.golden @@ -33,5 +33,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestServiceNetworkingConnectionGoldenFile ┃ $47 ┃ $0.00 ┃ $47 ┃ +┃ main ┃ $47 ┃ $0.00 ┃ $47 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden index f45ff3f07c7..7cd30142005 100644 --- a/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden +++ b/internal/providers/terraform/google/testdata/sql_database_instance_test/sql_database_instance_test.golden @@ -1119,8 +1119,8 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestNewSQLInstance ┃ $221,684 ┃ $80 ┃ $221,764 ┃ +┃ main ┃ $221,684 ┃ $80 ┃ $221,764 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: -WRN edition ENTERPRISE_PLUS of google_sql_database_instance.enterprise_plus is not yet supported \ No newline at end of file +WARN edition ENTERPRISE_PLUS of google_sql_database_instance.enterprise_plus is not yet supported \ No newline at end of file diff --git a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden index 5ff98f067cd..e299ba0ec52 100644 --- a/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden +++ b/internal/providers/terraform/google/testdata/storage_bucket_test/storage_bucket_test.golden @@ -52,5 +52,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ TestStorageBucket ┃ $0.00 ┃ $3,136 ┃ $3,136 ┃ +┃ main ┃ $0.00 ┃ $3,136 ┃ $3,136 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/hcl_provider.go b/internal/providers/terraform/hcl_provider.go index 144eb41b181..be0fe4b85d1 100644 --- a/internal/providers/terraform/hcl_provider.go +++ b/internal/providers/terraform/hcl_provider.go @@ -27,7 +27,6 @@ import ( "github.com/infracost/infracost/internal/hcl/modules" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) var json = jsoniter.ConfigCompatibleWithStandardLibrary @@ -157,21 +156,18 @@ func NewHCLProvider(ctx *config.ProjectContext, rootPath hcl.RootPath, config *H loader := modules.NewModuleLoader(ctx.RunContext.Config.CachePath(), modules.NewSharedHCLParser(), credsSource, ctx.RunContext.Config.TerraformSourceMap, logger, ctx.RunContext.ModuleMutex) cachePath := ctx.RunContext.Config.CachePath() - initialPath := rootPath.Path + initialPath := rootPath.DetectedPath + rootPath.DetectedPath = initialPath + if filepath.IsAbs(cachePath) { - abs, err := filepath.Abs(initialPath) - if err != nil { - logger.Warn().Err(err).Msgf("could not make project path absolute to match provided --config-file/--path path absolute, this will result in module loading failures") - } else { - initialPath = abs - } + rootPath.DetectedPath = tryAbs(initialPath) + rootPath.StartingPath = tryAbs(rootPath.StartingPath) } if ctx.RunContext.Config.GraphEvaluator { options = append(options, hcl.OptionGraphEvaluator()) } - rootPath.Path = initialPath return &HCLProvider{ policyClient: policyClient, Parser: hcl.NewParser(rootPath, hcl.CreateEnvFileMatcher(ctx.RunContext.Config.Autodetect.EnvNames, ctx.RunContext.Config.Autodetect.TerraformVarFileExtensions), loader, logger, options...), @@ -184,9 +180,32 @@ func NewHCLProvider(ctx *config.ProjectContext, rootPath hcl.RootPath, config *H func (p *HCLProvider) Context() *config.ProjectContext { return p.ctx } func (p *HCLProvider) ProjectName() string { + if p.ctx.ProjectConfig.Name != "" { + return p.ctx.ProjectConfig.Name + } + + if p.ctx.ProjectConfig.TerraformWorkspace != "" { + return p.Parser.ProjectName() + "-" + p.ctx.ProjectConfig.TerraformWorkspace + } + return p.Parser.ProjectName() } +func tryAbs(initialPath string) string { + abs, err := filepath.Abs(initialPath) + if err != nil { + logging.Logger.Debug().Err(err).Msgf("could not make path %s absolute", initialPath) + + return initialPath + } + + return abs +} + +func (p *HCLProvider) VarFiles() []string { + return p.Parser.VarFiles() +} + func (p *HCLProvider) EnvName() string { return p.Parser.EnvName() } @@ -195,27 +214,17 @@ func (p *HCLProvider) RelativePath() string { return p.Parser.RelativePath() } -func (p *HCLProvider) TerraformVarFiles() []string { - return p.Parser.TerraformVarFiles() -} - func (p *HCLProvider) YAML() string { return p.Parser.YAML() } func (p *HCLProvider) Type() string { return "terraform_dir" } -func (p *HCLProvider) DisplayType() string { return "Terraform directory" } +func (p *HCLProvider) DisplayType() string { return "Terraform" } func (p *HCLProvider) AddMetadata(metadata *schema.ProjectMetadata) { metadata.ConfigSha = p.ctx.ProjectConfig.ConfigSha - basePath := p.ctx.ProjectConfig.Path - if p.ctx.RunContext.Config.ConfigFilePath != "" { - basePath = filepath.Dir(p.ctx.RunContext.Config.ConfigFilePath) - } - - modulePath, err := filepath.Rel(basePath, metadata.Path) - if err == nil && modulePath != "" && modulePath != "." { - p.logger.Debug().Msgf("calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) + modulePath := p.RelativePath() + if modulePath != "" && modulePath != "." { metadata.TerraformModulePath = modulePath } @@ -285,7 +294,9 @@ func (p *HCLProvider) newProject(parsed HCLProject) *schema.Project { } } - return schema.NewProject(name, metadata) + project := schema.NewProject(name, metadata) + project.DisplayName = p.ProjectName() + return project } func (p *HCLProvider) printWarning(warning *schema.ProjectDiag) { @@ -295,12 +306,7 @@ func (p *HCLProvider) printWarning(warning *schema.ProjectDiag) { return } - if p.ctx.RunContext.Config.IsLogging() { - logging.Logger.Warn().Msg(warning.FriendlyMessage) - return - } - - ui.PrintWarning(p.ctx.RunContext.ErrWriter, warning.FriendlyMessage) + logging.Logger.Warn().Msg(warning.FriendlyMessage) } type HCLProject struct { diff --git a/internal/providers/terraform/plan_cache.go b/internal/providers/terraform/plan_cache.go index 609ca417246..24529e5e263 100644 --- a/internal/providers/terraform/plan_cache.go +++ b/internal/providers/terraform/plan_cache.go @@ -12,8 +12,7 @@ import ( "github.com/hashicorp/terraform-config-inspect/tfconfig" "github.com/infracost/infracost/internal/config" - - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" ) var cacheFileVersion = "0.1" @@ -42,68 +41,68 @@ type configState struct { func (state *configState) equivalent(otherState *configState) (bool, error) { if state.Version != otherState.Version { - log.Debug().Msgf("Plan cache config state not equivalent: version changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: version changed") return false, fmt.Errorf("version changed") } if state.TerraformPlanFlags != otherState.TerraformPlanFlags { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_plan_flags changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_plan_flags changed") return false, fmt.Errorf("terraform_plan_flags changed") } if state.TerraformUseState != otherState.TerraformUseState { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_use_state changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_use_state changed") return false, fmt.Errorf("terraform_use_state changed") } if state.TerraformWorkspace != otherState.TerraformWorkspace { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_workspace changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_workspace changed") return false, fmt.Errorf("terraform_workspace changed") } if state.TerraformBinary != otherState.TerraformBinary { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_binary changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_binary changed") return false, fmt.Errorf("terraform_binary changed") } if state.TerraformCloudToken != otherState.TerraformCloudToken { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_token changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_token changed") return false, fmt.Errorf("terraform_cloud_token changed") } if state.TerraformCloudHost != otherState.TerraformCloudHost { - log.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_host changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: terraform_cloud_host changed") return false, fmt.Errorf("terraform_cloud_host changed") } if state.ConfigEnv != otherState.ConfigEnv { - log.Debug().Msgf("Plan cache config state not equivalent: config_env changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: config_env changed") return false, fmt.Errorf("config_env changed") } if state.TFEnv != otherState.TFEnv { - log.Debug().Msgf("Plan cache config state not equivalent: tf_env changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_env changed") return false, fmt.Errorf("tf_env changed") } if state.TFLockFileDate != otherState.TFLockFileDate { - log.Debug().Msgf("Plan cache config state not equivalent: tf_lock_file_date changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_lock_file_date changed") return false, fmt.Errorf("tf_lock_file_date changed") } if state.TFDataDate != otherState.TFDataDate { - log.Debug().Msgf("Plan cache config state not equivalent: tf_data_date changed") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: tf_data_date changed") return false, fmt.Errorf("tf_data_date changed") } if len(state.TFConfigFileStates) != len(otherState.TFConfigFileStates) { - log.Debug().Msgf("Plan cache config state not equivalent: TFConfigFileStates has changed size") + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: TFConfigFileStates has changed size") return false, fmt.Errorf("tf_config_file_states changed size") } for i := range state.TFConfigFileStates { if state.TFConfigFileStates[i] != otherState.TFConfigFileStates[i] { - log.Debug().Msgf("Plan cache config state not equivalent: %v", state.TFConfigFileStates[i]) + logging.Logger.Debug().Msgf("Plan cache config state not equivalent: %v", state.TFConfigFileStates[i]) return false, fmt.Errorf("tf_config_file_states changed") } } @@ -144,20 +143,20 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { info, err := os.Stat(cache) if err != nil { - log.Debug().Msgf("Skipping plan cache: Cache file does not exist") + logging.Logger.Debug().Msgf("Skipping plan cache: Cache file does not exist") p.ctx.CacheErr = "not found" return nil, fmt.Errorf("not found") } if time.Now().Unix()-info.ModTime().Unix() > cacheMaxAgeSecs { - log.Debug().Msgf("Skipping plan cache: Cache file is too old") + logging.Logger.Debug().Msgf("Skipping plan cache: Cache file is too old") p.ctx.CacheErr = "expired" return nil, fmt.Errorf("expired") } data, err := os.ReadFile(cache) if err != nil { - log.Debug().Msgf("Skipping plan cache: Error reading cache file: %v", err) + logging.Logger.Debug().Msgf("Skipping plan cache: Error reading cache file: %v", err) p.ctx.CacheErr = "unreadable" return nil, fmt.Errorf("unreadable") } @@ -165,19 +164,19 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { var cf cacheFile err = json.Unmarshal(data, &cf) if err != nil { - log.Debug().Msgf("Skipping plan cache: Error unmarshalling cache file: %v", err) + logging.Logger.Debug().Msgf("Skipping plan cache: Error unmarshalling cache file: %v", err) p.ctx.CacheErr = "bad format" return nil, fmt.Errorf("bad format") } state := calcConfigState(p) if _, err := cf.ConfigState.equivalent(&state); err != nil { - log.Debug().Msgf("Skipping plan cache: Config state has changed") + logging.Logger.Debug().Msgf("Skipping plan cache: Config state has changed") p.ctx.CacheErr = err.Error() return nil, fmt.Errorf("change detected") } - log.Debug().Msgf("Read plan JSON from %v", cacheFileName) + logging.Logger.Debug().Msgf("Read plan JSON from %v", cacheFileName) p.ctx.UsingCache = true return cf.Plan, nil } @@ -185,7 +184,7 @@ func ReadPlanCache(p *DirProvider) ([]byte, error) { func WritePlanCache(p *DirProvider, planJSON []byte) { cacheJSON, err := json.Marshal(cacheFile{ConfigState: calcConfigState(p), Plan: planJSON}) if err != nil { - log.Debug().Msgf("Failed to marshal plan cache: %v", err) + logging.Logger.Debug().Msgf("Failed to marshal plan cache: %v", err) return } @@ -195,7 +194,7 @@ func WritePlanCache(p *DirProvider, planJSON []byte) { if os.IsNotExist(err) { err := os.MkdirAll(cacheDir, 0700) if err != nil { - log.Debug().Msgf("Couldn't create %v directory: %v", config.InfracostDir, err) + logging.Logger.Debug().Msgf("Couldn't create %v directory: %v", config.InfracostDir, err) return } } @@ -203,10 +202,10 @@ func WritePlanCache(p *DirProvider, planJSON []byte) { err = os.WriteFile(path.Join(cacheDir, cacheFileName), cacheJSON, 0600) if err != nil { - log.Debug().Msgf("Failed to write plan cache: %v", err) + logging.Logger.Debug().Msgf("Failed to write plan cache: %v", err) return } - log.Debug().Msgf("Wrote plan JSON to %v", cacheFileName) + logging.Logger.Debug().Msgf("Wrote plan JSON to %v", cacheFileName) } func calcDataDir(p *DirProvider) string { diff --git a/internal/providers/terraform/plan_json_provider.go b/internal/providers/terraform/plan_json_provider.go index b30426387c9..5536638acb8 100644 --- a/internal/providers/terraform/plan_json_provider.go +++ b/internal/providers/terraform/plan_json_provider.go @@ -10,7 +10,6 @@ import ( "github.com/infracost/infracost/internal/config" "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) type PlanJSONProvider struct { @@ -40,6 +39,18 @@ func NewPlanJSONProvider(ctx *config.ProjectContext, includePastResources bool) } } +func (p *PlanJSONProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *PlanJSONProvider) VarFiles() []string { + return nil +} + +func (p *PlanJSONProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *PlanJSONProvider) Context() *config.ProjectContext { return p.ctx } @@ -61,19 +72,12 @@ func (p *PlanJSONProvider) AddMetadata(metadata *schema.ProjectMetadata) { } func (p *PlanJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { - spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() - j, err := os.ReadFile(p.Path) if err != nil { return []*schema.Project{}, fmt.Errorf("Error reading Terraform plan JSON file %w", err) } - project, err := p.LoadResourcesFromSrc(usage, j, spinner) + project, err := p.LoadResourcesFromSrc(usage, j) if err != nil { return nil, err } @@ -81,7 +85,7 @@ func (p *PlanJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proje return []*schema.Project{project}, nil } -func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte, spinner *ui.Spinner) (*schema.Project, error) { +func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte) (*schema.Project, error) { metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() p.AddMetadata(metadata) @@ -112,9 +116,5 @@ func (p *PlanJSONProvider) LoadResourcesFromSrc(usage schema.UsageMap, j []byte, } } - if spinner != nil { - spinner.Success() - } - return project, nil } diff --git a/internal/providers/terraform/plan_provider.go b/internal/providers/terraform/plan_provider.go index 387c69a1c29..0bb3755acd1 100644 --- a/internal/providers/terraform/plan_provider.go +++ b/internal/providers/terraform/plan_provider.go @@ -6,10 +6,10 @@ import ( "path/filepath" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/ui" ) @@ -31,6 +31,18 @@ func NewPlanProvider(ctx *config.ProjectContext, includePastResources bool) sche } } +func (p *PlanProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *PlanProvider) VarFiles() []string { + return nil +} + +func (p *PlanProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *PlanProvider) Type() string { return "terraform_plan_binary" } @@ -39,18 +51,20 @@ func (p *PlanProvider) DisplayType() string { return "Terraform plan binary file" } -func (p *PlanProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { +func (p *PlanProvider) LoadResources(usage schema.UsageMap) (projects []*schema.Project, err error) { j, err := p.generatePlanJSON() if err != nil { return []*schema.Project{}, err } - spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") + defer func() { + if err != nil { + logging.Logger.Debug().Err(err).Msg("Error running plan provider") + } else { + logging.Logger.Debug().Msg("Finished running plan provider") + } + }() metadata := schema.DetectProjectMetadata(p.ctx.ProjectConfig.Path) metadata.Type = p.Type() @@ -74,7 +88,6 @@ func (p *PlanProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, project.PartialPastResources = parsedConf.PastResources project.PartialResources = parsedConf.CurrentResources - spinner.Success() return []*schema.Project{project}, nil } @@ -87,7 +100,7 @@ func (p *PlanProvider) generatePlanJSON() ([]byte, error) { planPath := filepath.Base(p.Path) if !IsTerraformDir(dir) { - log.Debug().Msgf("%s is not a Terraform directory, checking current working directory", dir) + logging.Logger.Debug().Msgf("%s is not a Terraform directory, checking current working directory", dir) dir, err := os.Getwd() if err != nil { return []byte{}, err @@ -121,10 +134,9 @@ func (p *PlanProvider) generatePlanJSON() ([]byte, error) { defer os.Remove(opts.TerraformConfigFile) } - spinner := ui.NewSpinner("Running terraform show", p.spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Running terraform show") - j, err := p.runShow(opts, spinner, planPath, false) + j, err := p.runShow(opts, planPath, false) if err == nil { p.cachedPlanJSON = j } diff --git a/internal/providers/terraform/state_json_provider.go b/internal/providers/terraform/state_json_provider.go index 50192bab57f..c27989b89fc 100644 --- a/internal/providers/terraform/state_json_provider.go +++ b/internal/providers/terraform/state_json_provider.go @@ -3,11 +3,11 @@ package terraform import ( "os" + "github.com/pkg/errors" + "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" - - "github.com/pkg/errors" ) type StateJSONProvider struct { @@ -24,6 +24,18 @@ func NewStateJSONProvider(ctx *config.ProjectContext, includePastResources bool) } } +func (p *StateJSONProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *StateJSONProvider) VarFiles() []string { + return nil +} + +func (p *StateJSONProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *StateJSONProvider) Context() *config.ProjectContext { return p.ctx } func (p *StateJSONProvider) Type() string { @@ -39,12 +51,7 @@ func (p *StateJSONProvider) AddMetadata(metadata *schema.ProjectMetadata) { } func (p *StateJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Project, error) { - spinner := ui.NewSpinner("Extracting only cost-related params from terraform", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from terraform") j, err := os.ReadFile(p.Path) if err != nil { @@ -73,6 +80,5 @@ func (p *StateJSONProvider) LoadResources(usage schema.UsageMap) ([]*schema.Proj project.PartialPastResources = parsedConf.PastResources project.PartialResources = parsedConf.CurrentResources - spinner.Success() return []*schema.Project{project}, nil } diff --git a/internal/providers/terraform/terragrunt_hcl_provider.go b/internal/providers/terraform/terragrunt_hcl_provider.go index ef3afccb084..dd3db991a41 100644 --- a/internal/providers/terraform/terragrunt_hcl_provider.go +++ b/internal/providers/terraform/terragrunt_hcl_provider.go @@ -174,7 +174,11 @@ func getEnvVars(ctx *config.ProjectContext) map[string]string { func (p *TerragruntHCLProvider) Context() *config.ProjectContext { return p.ctx } func (p *TerragruntHCLProvider) ProjectName() string { - return "" + if p.ctx.ProjectConfig.Name != "" { + return p.ctx.ProjectConfig.Name + } + + return config.CleanProjectName(p.RelativePath()) } func (p *TerragruntHCLProvider) EnvName() string { @@ -182,22 +186,22 @@ func (p *TerragruntHCLProvider) EnvName() string { } func (p *TerragruntHCLProvider) RelativePath() string { - r, err := filepath.Rel(p.Path.RepoPath, p.Path.Path) + r, err := filepath.Rel(p.Path.StartingPath, p.Path.DetectedPath) if err != nil { - return p.Path.Path + return p.Path.DetectedPath } return r } -func (p *TerragruntHCLProvider) TerraformVarFiles() []string { +func (p *TerragruntHCLProvider) VarFiles() []string { return nil } func (p *TerragruntHCLProvider) YAML() string { str := strings.Builder{} - str.WriteString(fmt.Sprintf(" - path: %s\n", p.RelativePath())) + str.WriteString(fmt.Sprintf(" - path: %s\n name: %s\n", p.RelativePath(), p.ProjectName())) return str.String() } @@ -206,20 +210,14 @@ func (p *TerragruntHCLProvider) Type() string { } func (p *TerragruntHCLProvider) DisplayType() string { - return "Terragrunt directory" + return "Terragrunt" } func (p *TerragruntHCLProvider) AddMetadata(metadata *schema.ProjectMetadata) { metadata.ConfigSha = p.ctx.ProjectConfig.ConfigSha - basePath := p.ctx.ProjectConfig.Path - if p.ctx.RunContext.Config.ConfigFilePath != "" { - basePath = filepath.Dir(p.ctx.RunContext.Config.ConfigFilePath) - } - - modulePath, err := filepath.Rel(basePath, metadata.Path) - if err == nil && modulePath != "" && modulePath != "." { - p.logger.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) + modulePath := p.RelativePath() + if modulePath != "" && modulePath != "." { metadata.TerraformModulePath = modulePath } @@ -253,12 +251,6 @@ func (p *TerragruntHCLProvider) LoadResources(usage schema.UsageMap) ([]*schema. parallelism, _ := runCtx.GetParallelism() numJobs := len(dirs) - runInParallel := parallelism > 1 && numJobs > 1 - if runInParallel && !runCtx.Config.IsLogging() { - p.logger.Level(zerolog.InfoLevel) - p.ctx.RunContext.Config.LogLevel = "info" - } - if numJobs < parallelism { parallelism = numJobs } @@ -305,6 +297,7 @@ func (p *TerragruntHCLProvider) LoadResources(usage schema.UsageMap) ([]*schema. metadata.Warnings = di.warnings project.Metadata = metadata project.Name = p.generateProjectName(metadata) + project.DisplayName = p.ProjectName() mu.Lock() allProjects = append(allProjects, project) mu.Unlock() @@ -343,7 +336,10 @@ func (p *TerragruntHCLProvider) newErroredProject(di *terragruntWorkingDirInfo) metadata.AddError(schema.NewDiagTerragruntEvaluationFailure(di.error)) } - return schema.NewProject(p.generateProjectName(metadata), metadata) + project := schema.NewProject(p.generateProjectName(metadata), metadata) + project.DisplayName = p.ProjectName() + + return project } func (p *TerragruntHCLProvider) generateProjectName(metadata *schema.ProjectMetadata) string { @@ -398,7 +394,7 @@ func (p *TerragruntHCLProvider) initTerraformVars(tfVars map[string]string, inpu } func (p *TerragruntHCLProvider) prepWorkingDirs() ([]*terragruntWorkingDirInfo, error) { - terragruntConfigPath := tgconfig.GetDefaultConfigPath(p.Path.Path) + terragruntConfigPath := tgconfig.GetDefaultConfigPath(p.Path.DetectedPath) terragruntCacheDir := filepath.Join(config.InfracostDir, ".terragrunt-cache") terragruntDownloadDir := filepath.Join(p.ctx.RunContext.Config.CachePath(), terragruntCacheDir) @@ -417,7 +413,7 @@ func (p *TerragruntHCLProvider) prepWorkingDirs() ([]*terragruntWorkingDirInfo, LogLevel: logrus.DebugLevel, ErrWriter: tgLog.WriterLevel(logrus.DebugLevel), MaxFoldersToCheck: tgoptions.DefaultMaxFoldersToCheck, - WorkingDir: p.Path.Path, + WorkingDir: p.Path.DetectedPath, ExcludeDirs: p.excludedPaths, DownloadDir: terragruntDownloadDir, TerraformCliArgs: []string{tgcliinfo.CommandName}, @@ -586,9 +582,7 @@ func (p *TerragruntHCLProvider) runTerragrunt(opts *tgoptions.TerragruntOptions) } pconfig.TerraformVars = p.initTerraformVars(pconfig.TerraformVars, terragruntConfig.Inputs) - ops := []hcl.Option{ - hcl.OptionWithSpinner(p.ctx.RunContext.NewSpinner), - } + var ops []hcl.Option inputs, err := convertToCtyWithJson(terragruntConfig.Inputs) if err != nil { p.logger.Debug().Msgf("Failed to build Terragrunt inputs for: %s err: %s", info.workingDir, err) @@ -601,7 +595,7 @@ func (p *TerragruntHCLProvider) runTerragrunt(opts *tgoptions.TerragruntOptions) h, err := NewHCLProvider( config.NewProjectContext(p.ctx.RunContext, &pconfig, logCtx), hcl.RootPath{ - Path: pconfig.Path, + DetectedPath: pconfig.Path, }, &HCLProviderConfig{CacheParsingModules: true, SkipAutoDetection: true}, ops..., @@ -995,7 +989,7 @@ func (p *TerragruntHCLProvider) decodeTerragruntDepsToValue(targetConfig string, return encoded, nil } - p.logger.Warn().Err(err).Msg("could not transform output blocks to cty type, using dummy output type") + p.logger.Debug().Err(err).Msg("could not transform output blocks to cty type, using dummy output type") } return cty.EmptyObjectVal, nil diff --git a/internal/providers/terraform/terragrunt_provider.go b/internal/providers/terraform/terragrunt_provider.go index 2a0111bd85e..414cb340eb2 100644 --- a/internal/providers/terraform/terragrunt_provider.go +++ b/internal/providers/terraform/terragrunt_provider.go @@ -10,12 +10,11 @@ import ( "github.com/kballard/go-shellquote" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/infracost/infracost/internal/clierror" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" - "github.com/infracost/infracost/internal/ui" ) var defaultTerragruntBinary = "terragrunt" @@ -59,6 +58,18 @@ func NewTerragruntProvider(ctx *config.ProjectContext, includePastResources bool } } +func (p *TerragruntProvider) ProjectName() string { + return config.CleanProjectName(p.ctx.ProjectConfig.Path) +} + +func (p *TerragruntProvider) VarFiles() []string { + return nil +} + +func (p *TerragruntProvider) RelativePath() string { + return p.ctx.ProjectConfig.Path +} + func (p *TerragruntProvider) Context() *config.ProjectContext { return p.ctx } func (p *TerragruntProvider) Type() string { @@ -79,7 +90,7 @@ func (p *TerragruntProvider) AddMetadata(metadata *schema.ProjectMetadata) { modulePath, err := filepath.Rel(basePath, metadata.Path) if err == nil && modulePath != "" && modulePath != "." { - log.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) + logging.Logger.Debug().Msgf("Calculated relative terraformModulePath for %s from %s", basePath, metadata.Path) metadata.TerraformModulePath = modulePath } @@ -91,7 +102,6 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro // Terragrunt internally runs Terraform in the working dirs, so we need to be aware of these // so we can handle reading and cleaning up the generated plan files. projectDirs, err := p.getProjectDirs() - if err != nil { return []*schema.Project{}, err } @@ -109,12 +119,7 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro projects := make([]*schema.Project, 0, len(projectDirs)) - spinner := ui.NewSpinner("Extracting only cost-related params from terragrunt plan", ui.SpinnerOptions{ - EnableLogging: p.ctx.RunContext.Config.IsLogging(), - NoColor: p.ctx.RunContext.Config.NoColor, - Indent: " ", - }) - defer spinner.Fail() + logging.Logger.Debug().Msg("Extracting only cost-related params from terragrunt plan") for i, projectDir := range projectDirs { projectPath := projectDir.ConfigDir // attempt to convert project path to be relative to the top level provider path @@ -152,13 +157,11 @@ func (p *TerragruntProvider) LoadResources(usage schema.UsageMap) ([]*schema.Pro projects = append(projects, project) } - spinner.Success() return projects, nil } func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { - spinner := ui.NewSpinner("Running terragrunt run-all terragrunt-info", p.spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Running terragrunt run-all terragrunt-info") terragruntFlags, err := shellquote.Split(p.TerragruntFlags) if err != nil { @@ -172,7 +175,6 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { } out, err := Cmd(opts, "run-all", "--terragrunt-ignore-external-dependencies", "terragrunt-info") if err != nil { - spinner.Fail() err = p.buildTerraformErr(err, false) msg := "terragrunt run-all terragrunt-info failed" @@ -197,8 +199,7 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { var info TerragruntInfo err = json.Unmarshal(j, &info) if err != nil { - spinner.Fail() - return dirs, err + return dirs, fmt.Errorf("error unmarshalling terragrunt-info JSON: %w", err) } dirs = append(dirs, terragruntProjectDirs{ @@ -212,8 +213,6 @@ func (p *TerragruntProvider) getProjectDirs() ([]terragruntProjectDirs, error) { return dirs[i].ConfigDir < dirs[j].ConfigDir }) - spinner.Success() - return dirs, nil } @@ -225,13 +224,6 @@ func (p *TerragruntProvider) generateStateJSONs(projectDirs []terragruntProjectD outs := make([][]byte, 0, len(projectDirs)) - spinnerMsg := "Running terragrunt show" - if len(projectDirs) > 1 { - spinnerMsg += " for each project" - } - spinner := ui.NewSpinner(spinnerMsg, p.spinnerOpts) - defer spinner.Fail() - for _, projectDir := range projectDirs { opts, err := p.buildCommandOpts(projectDir.ConfigDir) if err != nil { @@ -248,7 +240,7 @@ func (p *TerragruntProvider) generateStateJSONs(projectDirs []terragruntProjectD defer os.Remove(opts.TerraformConfigFile) } - out, err := p.runShow(opts, spinner, "", false) + out, err := p.runShow(opts, "", false) if err != nil { return outs, err } @@ -286,14 +278,13 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi defer os.Remove(opts.TerraformConfigFile) } - spinner := ui.NewSpinner("Running terragrunt run-all plan", p.spinnerOpts) - defer spinner.Fail() + logging.Logger.Debug().Msg("Running terragrunt run-all plan") - planFile, planJSON, err := p.runPlan(opts, spinner, true) + planFile, planJSON, err := p.runPlan(opts, true) defer func() { err := cleanupPlanFiles(projectDirs, planFile) if err != nil { - log.Warn().Msgf("Error cleaning up plan files: %v", err) + logging.Logger.Warn().Msgf("Error cleaning up plan files: %v", err) } }() @@ -306,11 +297,7 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi } outs := make([][]byte, 0, len(projectDirs)) - spinnerMsg := "Running terragrunt show" - if len(projectDirs) > 1 { - spinnerMsg += " for each project" - } - spinner = ui.NewSpinner(spinnerMsg, p.spinnerOpts) + logging.Logger.Debug().Msg("Running terragrunt show") for _, projectDir := range projectDirs { opts, err := p.buildCommandOpts(projectDir.ConfigDir) @@ -321,7 +308,7 @@ func (p *TerragruntProvider) generatePlanJSONs(projectDirs []terragruntProjectDi defer os.Remove(opts.TerraformConfigFile) } - out, err := p.runShow(opts, spinner, filepath.Join(projectDir.WorkingDir, planFile), false) + out, err := p.runShow(opts, filepath.Join(projectDir.WorkingDir, planFile), false) if err != nil { return outs, err } diff --git a/internal/providers/terraform/tftest/tftest.go b/internal/providers/terraform/tftest/tftest.go index d5444e59139..48529470fca 100644 --- a/internal/providers/terraform/tftest/tftest.go +++ b/internal/providers/terraform/tftest/tftest.go @@ -15,11 +15,11 @@ import ( "github.com/stretchr/testify/require" "github.com/infracost/infracost/internal/hcl" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/output" "github.com/infracost/infracost/internal/usage" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "github.com/stretchr/testify/assert" "github.com/infracost/infracost/internal/config" @@ -116,7 +116,7 @@ func installPlugins() error { err := os.MkdirAll(initCache, os.ModePerm) if err != nil { - log.Error().Msgf("Error creating init cache directory: %s", err.Error()) + logging.Logger.Error().Msgf("Error creating init cache directory: %s", err.Error()) } tfdir, err := writeToTmpDir(initCache, project) @@ -126,7 +126,7 @@ func installPlugins() error { err = os.MkdirAll(pluginCache, os.ModePerm) if err != nil { - log.Error().Msgf("Error creating plugin cache directory: %s", err.Error()) + logging.Logger.Error().Msgf("Error creating plugin cache directory: %s", err.Error()) } else { os.Setenv("TF_PLUGIN_CACHE_DIR", pluginCache) } @@ -196,6 +196,7 @@ type GoldenFileOptions = struct { Currency string CaptureLogs bool IgnoreCLI bool + LogLevel *string } func DefaultGoldenFileOptions() *GoldenFileOptions { @@ -244,13 +245,13 @@ func goldenFileResourceTestWithOpts(t *testing.T, pName string, testName string, ctxOption(runCtx) } - var logBuf *bytes.Buffer - if options != nil && options.CaptureLogs { - logBuf = testutil.ConfigureTestToCaptureLogs(t, runCtx) - } else { - testutil.ConfigureTestToFailOnLogs(t, runCtx) + level := "warn" + if options.LogLevel != nil { + level = *options.LogLevel } + logBuf := testutil.ConfigureTestToCaptureLogs(t, runCtx, level) + if options != nil && options.Currency != "" { runCtx.Config.Currency = options.Currency } @@ -348,8 +349,9 @@ func loadResources(t *testing.T, pName string, tfProject TerraformProject, runCt } func RunCostCalculations(runCtx *config.RunContext, projects []*schema.Project) ([]*schema.Project, error) { + pf := prices.NewPriceFetcher(runCtx) for _, project := range projects { - err := prices.PopulatePrices(runCtx, project) + err := pf.PopulatePrices(project) if err != nil { return projects, err } @@ -437,7 +439,7 @@ func newHCLProvider(t *testing.T, runCtx *config.RunContext, tfdir string) *terr Path: tfdir, }, nil) - provider, err := terraform.NewHCLProvider(projectCtx, hcl.RootPath{Path: tfdir}, &terraform.HCLProviderConfig{SuppressLogging: true}) + provider, err := terraform.NewHCLProvider(projectCtx, hcl.RootPath{StartingPath: tfdir, DetectedPath: tfdir}, &terraform.HCLProviderConfig{SuppressLogging: true}) require.NoError(t, err) return provider diff --git a/internal/resources/aws/cloudfront_distribution.go b/internal/resources/aws/cloudfront_distribution.go index 4d8d058a03f..6f3dcdf53d2 100644 --- a/internal/resources/aws/cloudfront_distribution.go +++ b/internal/resources/aws/cloudfront_distribution.go @@ -1,6 +1,7 @@ package aws import ( + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -8,7 +9,6 @@ import ( "strconv" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/infracost/infracost/internal/usage" @@ -481,7 +481,7 @@ func (r *CloudfrontDistribution) shieldRequestsCostComponents() []*schema.CostCo } if apiRegion == "" { - log.Warn().Msgf("Skipping Origin shield HTTP requests for resource %s. Could not find mapping for region %s", r.Address, region) + logging.Logger.Warn().Msgf("Skipping Origin shield HTTP requests for resource %s. Could not find mapping for region %s", r.Address, region) return costComponents } @@ -491,7 +491,7 @@ func (r *CloudfrontDistribution) shieldRequestsCostComponents() []*schema.CostCo } if usageKey == "" { - log.Warn().Msgf("No usage for Origin shield HTTP requests for resource %s. Region %s not supported in usage file.", r.Address, region) + logging.Logger.Warn().Msgf("No usage for Origin shield HTTP requests for resource %s. Region %s not supported in usage file.", r.Address, region) } regionData := map[string]*int64{ diff --git a/internal/resources/aws/data_transfer.go b/internal/resources/aws/data_transfer.go index 1ed064483c5..f795d645df6 100644 --- a/internal/resources/aws/data_transfer.go +++ b/internal/resources/aws/data_transfer.go @@ -3,9 +3,9 @@ package aws import ( "fmt" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -51,7 +51,7 @@ func (r *DataTransfer) BuildResource() *schema.Resource { _, ok := RegionMapping[r.Region] if !ok { - log.Warn().Msgf("Skipping resource %s. Could not find mapping for region %s", r.Address, r.Region) + logging.Logger.Warn().Msgf("Skipping resource %s. Could not find mapping for region %s", r.Address, r.Region) return nil } diff --git a/internal/resources/aws/db_instance.go b/internal/resources/aws/db_instance.go index 829a7defa7f..fbb3e68a1bf 100644 --- a/internal/resources/aws/db_instance.go +++ b/internal/resources/aws/db_instance.go @@ -5,8 +5,7 @@ import ( "strings" "time" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -194,7 +193,7 @@ func (r *DBInstance) BuildResource() *schema.Resource { } priceFilter, err = resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" } diff --git a/internal/resources/aws/dx_connection.go b/internal/resources/aws/dx_connection.go index 525df5e6fe0..3352e6453dd 100644 --- a/internal/resources/aws/dx_connection.go +++ b/internal/resources/aws/dx_connection.go @@ -5,8 +5,7 @@ import ( "sort" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -118,7 +117,7 @@ func (r *DXConnection) outboundDataTransferComponent(fromRegion string, dataProc if !ok { // This shouldn't happen because we're loading the regions into the RegionsUsage struct // which should have same keys as the RegionMappings map - log.Warn().Msgf("Skipping resource %s usage cost: Outbound data transfer. Could not find mapping for region %s", r.Address, fromRegion) + logging.Logger.Warn().Msgf("Skipping resource %s usage cost: Outbound data transfer. Could not find mapping for region %s", r.Address, fromRegion) return nil } diff --git a/internal/resources/aws/ec2_host.go b/internal/resources/aws/ec2_host.go index a738c3007a7..cd42d4624ba 100644 --- a/internal/resources/aws/ec2_host.go +++ b/internal/resources/aws/ec2_host.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -58,7 +58,7 @@ func (r *EC2Host) BuildResource() *schema.Resource { priceFilter, err = resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" diff --git a/internal/resources/aws/elasticache_cluster.go b/internal/resources/aws/elasticache_cluster.go index c9f2d07a331..cfe8cb4e76b 100644 --- a/internal/resources/aws/elasticache_cluster.go +++ b/internal/resources/aws/elasticache_cluster.go @@ -1,10 +1,10 @@ package aws import ( - "github.com/rs/zerolog/log" "golang.org/x/text/cases" "golang.org/x/text/language" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -80,7 +80,7 @@ func (r *ElastiCacheCluster) elastiCacheCostComponent(autoscaling bool) *schema. } reservedFilter, err := resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } else { priceFilter = reservedFilter } @@ -184,7 +184,7 @@ func (r elasticacheReservationResolver) PriceFilter() (*schema.PriceFilter, erro } nodeType := strings.Split(r.cacheNodeType, ".")[1] // Get node type from cache node type. cache.m3.large -> m3 if stringInSlice(elasticacheReservedNodeLegacyTypes, nodeType) { - log.Warn().Msgf("No products found is possible for legacy nodes %s if provided payment option is not supported by the region.", strings.Join(elasticacheReservedNodeLegacyTypes, ", ")) + logging.Logger.Warn().Msgf("No products found is possible for legacy nodes %s if provided payment option is not supported by the region.", strings.Join(elasticacheReservedNodeLegacyTypes, ", ")) } return &schema.PriceFilter{ PurchaseOption: strPtr(purchaseOptionLabel), diff --git a/internal/resources/aws/instance.go b/internal/resources/aws/instance.go index 7b5b7d54c56..5e146cc6305 100644 --- a/internal/resources/aws/instance.go +++ b/internal/resources/aws/instance.go @@ -5,9 +5,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage/aws" @@ -71,7 +71,7 @@ func (a *Instance) BuildResource() *schema.Resource { if a.HasHost { a.Tenancy = "Host" } else { - log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up", a.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS EC2 instances without Host ID set up", a.Address) return nil } } else if strings.ToLower(a.Tenancy) == "dedicated" { @@ -168,7 +168,7 @@ func (a *Instance) computeCostComponent() *schema.CostComponent { osFilterVal = "SUSE" default: if strVal(a.OperatingSystem) != "linux" { - log.Warn().Msgf("Unrecognized operating system %s, defaulting to Linux/UNIX", strVal(a.OperatingSystem)) + logging.Logger.Warn().Msgf("Unrecognized operating system %s, defaulting to Linux/UNIX", strVal(a.OperatingSystem)) } } @@ -184,7 +184,7 @@ func (a *Instance) computeCostComponent() *schema.CostComponent { } reservedFilter, err := resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } else { priceFilter = reservedFilter } diff --git a/internal/resources/aws/launch_configuration.go b/internal/resources/aws/launch_configuration.go index 29138608f75..a828dab96e2 100644 --- a/internal/resources/aws/launch_configuration.go +++ b/internal/resources/aws/launch_configuration.go @@ -3,9 +3,9 @@ package aws import ( "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -54,7 +54,7 @@ func (a *LaunchConfiguration) PopulateUsage(u *schema.UsageData) { func (a *LaunchConfiguration) BuildResource() *schema.Resource { if strings.ToLower(a.Tenancy) == "host" { - log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", a.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Configurations", a.Address) return nil } else if strings.ToLower(a.Tenancy) == "dedicated" { a.Tenancy = "Dedicated" diff --git a/internal/resources/aws/launch_template.go b/internal/resources/aws/launch_template.go index c56637aaf4d..2a8a9aba951 100644 --- a/internal/resources/aws/launch_template.go +++ b/internal/resources/aws/launch_template.go @@ -3,9 +3,9 @@ package aws import ( "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -55,7 +55,7 @@ func (a *LaunchTemplate) PopulateUsage(u *schema.UsageData) { func (a *LaunchTemplate) BuildResource() *schema.Resource { if strings.ToLower(a.Tenancy) == "host" { - log.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Templates", a.Address) + logging.Logger.Warn().Msgf("Skipping resource %s. Infracost currently does not support host tenancy for AWS Launch Templates", a.Address) return nil } else if strings.ToLower(a.Tenancy) == "dedicated" { a.Tenancy = "Dedicated" diff --git a/internal/resources/aws/lightsail_instance.go b/internal/resources/aws/lightsail_instance.go index a8f9ddca97b..11a947a7bb6 100644 --- a/internal/resources/aws/lightsail_instance.go +++ b/internal/resources/aws/lightsail_instance.go @@ -4,11 +4,10 @@ import ( "fmt" "strings" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" - "github.com/rs/zerolog/log" - "github.com/shopspring/decimal" ) @@ -58,7 +57,7 @@ func (r *LightsailInstance) BuildResource() *schema.Resource { specs, ok := bundlePrefixMappings[bundlePrefix] if !ok { - log.Warn().Msgf("Skipping resource %s. Unrecognized bundle_id %s", r.Address, r.BundleID) + logging.Logger.Warn().Msgf("Skipping resource %s. Unrecognized bundle_id %s", r.Address, r.BundleID) return nil } diff --git a/internal/resources/aws/rds_cluster_instance.go b/internal/resources/aws/rds_cluster_instance.go index 1b1ad6b4016..d7030027083 100644 --- a/internal/resources/aws/rds_cluster_instance.go +++ b/internal/resources/aws/rds_cluster_instance.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -61,7 +61,7 @@ func (r *RDSClusterInstance) BuildResource() *schema.Resource { } priceFilter, err = resolver.PriceFilter() if err != nil { - log.Warn().Msgf(err.Error()) + logging.Logger.Warn().Msgf(err.Error()) } purchaseOptionLabel = "reserved" } diff --git a/internal/resources/aws/s3_bucket.go b/internal/resources/aws/s3_bucket.go index 7222ee42a27..aee1b5ae3e6 100644 --- a/internal/resources/aws/s3_bucket.go +++ b/internal/resources/aws/s3_bucket.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -160,7 +160,7 @@ func (a *S3Bucket) BuildResource() *schema.Resource { if err != nil { msg = fmt.Sprintf("%s: %s", msg, err) } - log.Debug().Msgf(msg) + logging.Logger.Debug().Msgf(msg) } else { standardStorageClassUsage := u["standard"].(map[string]interface{}) diff --git a/internal/resources/aws/s3_bucket_lifececycle_configuration.go b/internal/resources/aws/s3_bucket_lifececycle_configuration.go index 11f8d25c76b..45832482886 100644 --- a/internal/resources/aws/s3_bucket_lifececycle_configuration.go +++ b/internal/resources/aws/s3_bucket_lifececycle_configuration.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "github.com/infracost/infracost/internal/usage" @@ -155,7 +155,7 @@ func (r *S3BucketLifecycleConfiguration) BuildResource() *schema.Resource { if err != nil { msg = fmt.Sprintf("%s: %s", msg, err) } - log.Debug().Msgf(msg) + logging.Logger.Debug().Msgf(msg) } else { standardStorageClassUsage := u["standard"].(map[string]interface{}) diff --git a/internal/resources/aws/ssm_parameter.go b/internal/resources/aws/ssm_parameter.go index 4908ee46ac2..6ae37bd6af7 100644 --- a/internal/resources/aws/ssm_parameter.go +++ b/internal/resources/aws/ssm_parameter.go @@ -1,14 +1,13 @@ package aws import ( + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" "fmt" "strings" - "github.com/rs/zerolog/log" - "github.com/shopspring/decimal" ) @@ -46,7 +45,7 @@ func (r *SSMParameter) BuildResource() *schema.Resource { throughputLimit = strings.ToLower(*r.APIThroughputLimit) if throughputLimit != "standard" && throughputLimit != "advanced" && throughputLimit != "higher" { - log.Warn().Msgf("Skipping resource %s. Unrecognized api_throughput_limit %s, expecting standard, advanced or higher", r.Address, *r.APIThroughputLimit) + logging.Logger.Warn().Msgf("Skipping resource %s. Unrecognized api_throughput_limit %s, expecting standard, advanced or higher", r.Address, *r.APIThroughputLimit) return nil } } diff --git a/internal/resources/azure/data_factory_integration_runtime_azure.go b/internal/resources/azure/data_factory_integration_runtime_azure.go index 386a9bdce22..95048fd3b04 100644 --- a/internal/resources/azure/data_factory_integration_runtime_azure.go +++ b/internal/resources/azure/data_factory_integration_runtime_azure.go @@ -7,7 +7,6 @@ import ( "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" - "github.com/rs/zerolog/log" ) // DataFactoryIntegrationRuntimeAzure struct represents Azure Data Factory's @@ -77,8 +76,6 @@ func (r *DataFactoryIntegrationRuntimeAzure) computeCostComponent() *schema.Cost name := fmt.Sprintf("Compute (%s, %d vCores)", productType, r.Cores) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) - return &schema.CostComponent{ Name: name, Unit: "hours", diff --git a/internal/resources/azure/kubernetes_cluster_node_pool.go b/internal/resources/azure/kubernetes_cluster_node_pool.go index fa3916fe2a0..441579e8688 100644 --- a/internal/resources/azure/kubernetes_cluster_node_pool.go +++ b/internal/resources/azure/kubernetes_cluster_node_pool.go @@ -4,10 +4,10 @@ import ( "regexp" "strings" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" ) @@ -95,13 +95,13 @@ func aksOSDiskSubResource(region string, diskSize int, instanceType string) *sch diskName := mapDiskName(diskType, diskSize) if diskName == "" { - log.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskType, diskSize) + logging.Logger.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskType, diskSize) return nil } productName, ok := diskProductNameMap[diskType] if !ok { - log.Warn().Msgf("Could not map disk type %s to product name", diskType) + logging.Logger.Warn().Msgf("Could not map disk type %s to product name", diskType) return nil } diff --git a/internal/resources/azure/log_analytics_workspace.go b/internal/resources/azure/log_analytics_workspace.go index 3f21c6980b0..f7680dfdf3c 100644 --- a/internal/resources/azure/log_analytics_workspace.go +++ b/internal/resources/azure/log_analytics_workspace.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -187,7 +187,7 @@ func (r *LogAnalyticsWorkspace) BuildResource() *schema.Resource { } if _, ok := unsupportedLegacySkus[strings.ToLower(r.SKU)]; ok { - log.Warn().Msgf("skipping %s as it uses legacy pricing options", r.Address) + logging.Logger.Warn().Msgf("skipping %s as it uses legacy pricing options", r.Address) return &schema.Resource{ Name: r.Address, diff --git a/internal/resources/azure/managed_disk.go b/internal/resources/azure/managed_disk.go index e095c09b9df..d8deb01c3b9 100644 --- a/internal/resources/azure/managed_disk.go +++ b/internal/resources/azure/managed_disk.go @@ -1,6 +1,7 @@ package azure import ( + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -8,7 +9,6 @@ import ( "math" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" ) @@ -135,7 +135,7 @@ func managedDiskCostComponents(region, diskType string, diskSizeGB, diskIOPSRead validstorageReplicationType := mapStorageReplicationType(storageReplicationType) if !validstorageReplicationType { - log.Warn().Msgf("Could not map %s to a valid storage type", storageReplicationType) + logging.Logger.Warn().Msgf("Could not map %s to a valid storage type", storageReplicationType) return nil } @@ -155,13 +155,13 @@ func standardPremiumDiskCostComponents(region string, diskTypePrefix string, sto diskName := mapDiskName(diskTypePrefix, requestedSize) if diskName == "" { - log.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskTypePrefix, requestedSize) + logging.Logger.Warn().Msgf("Could not map disk type %s and size %d to disk name", diskTypePrefix, requestedSize) return nil } productName, ok := diskProductNameMap[diskTypePrefix] if !ok { - log.Warn().Msgf("Could not map disk type %s to product name", diskTypePrefix) + logging.Logger.Warn().Msgf("Could not map disk type %s to product name", diskTypePrefix) return nil } diff --git a/internal/resources/azure/mssql_elasticpool.go b/internal/resources/azure/mssql_elasticpool.go index 63989749640..b84e9554363 100644 --- a/internal/resources/azure/mssql_elasticpool.go +++ b/internal/resources/azure/mssql_elasticpool.go @@ -4,7 +4,6 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/infracost/infracost/internal/resources" @@ -169,8 +168,6 @@ func (r *MSSQLElasticPool) computeHoursCostComponents() []*schema.CostComponent productNameRegex := fmt.Sprintf("/%s - %s/", r.Tier, r.Family) name := fmt.Sprintf("Compute (%s, %d vCore)", r.SKU, cores) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) - costComponents := []*schema.CostComponent{ { Name: name, diff --git a/internal/resources/azure/sql_database.go b/internal/resources/azure/sql_database.go index a4d33be86c6..e7848d5abd1 100644 --- a/internal/resources/azure/sql_database.go +++ b/internal/resources/azure/sql_database.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" ) @@ -233,7 +233,6 @@ func (r *SQLDatabase) serverlessComputeHoursCostComponents() []*schema.CostCompo } name := fmt.Sprintf("Compute (serverless, %s)", r.SKU) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) costComponents := []*schema.CostComponent{ { @@ -279,8 +278,6 @@ func (r *SQLDatabase) provisionedComputeCostComponents() []*schema.CostComponent productNameRegex := fmt.Sprintf("/%s - %s/", r.Tier, r.Family) name := fmt.Sprintf("Compute (provisioned, %s)", r.SKU) - log.Warn().Msgf("'Multiple products found' are safe to ignore for '%s' due to limitations in the Azure API.", name) - costComponents := []*schema.CostComponent{ { Name: name, @@ -343,7 +340,7 @@ func (r *SQLDatabase) longTermRetentionCostComponent() *schema.CostComponent { redundancyType, ok := mssqlStorageRedundancyTypeMapping[strings.ToLower(r.BackupStorageType)] if !ok { - log.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) + logging.Logger.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) redundancyType = "RA-GRS" } @@ -370,7 +367,7 @@ func (r *SQLDatabase) pitrBackupCostComponent() *schema.CostComponent { redundancyType, ok := mssqlStorageRedundancyTypeMapping[strings.ToLower(r.BackupStorageType)] if !ok { - log.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) + logging.Logger.Warn().Msgf("Unrecognized backup storage type '%s'", r.BackupStorageType) redundancyType = "RA-GRS" } @@ -396,7 +393,7 @@ func (r *SQLDatabase) extraDataStorageCostComponent(extraStorageGB float64) *sch tier, ok = mssqlTierMapping[strings.ToLower(r.SKU)[:1]] if !ok { - log.Warn().Msgf("Unrecognized tier for SKU '%s' for resource %s", r.SKU, r.Address) + logging.Logger.Warn().Msgf("Unrecognized tier for SKU '%s' for resource %s", r.SKU, r.Address) return nil } } diff --git a/internal/resources/core_resource.go b/internal/resources/core_resource.go index 23476c0e88a..2b632b91740 100644 --- a/internal/resources/core_resource.go +++ b/internal/resources/core_resource.go @@ -4,8 +4,7 @@ import ( "reflect" "strings" - "github.com/rs/zerolog/log" - + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -92,7 +91,7 @@ func PopulateArgsWithUsage(args interface{}, u *schema.UsageData) { continue } - log.Error().Msgf("Unsupported field { UsageKey: %s, Type: %v }", usageKey, f.Type()) + logging.Logger.Error().Msgf("Unsupported field { UsageKey: %s, Type: %v }", usageKey, f.Type()) } } } diff --git a/internal/resources/google/sql_database_instance.go b/internal/resources/google/sql_database_instance.go index f7a9bf5f096..f08a0b3035d 100644 --- a/internal/resources/google/sql_database_instance.go +++ b/internal/resources/google/sql_database_instance.go @@ -1,6 +1,7 @@ package google import ( + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" @@ -8,8 +9,6 @@ import ( "strings" "github.com/shopspring/decimal" - - "github.com/rs/zerolog/log" ) type SQLDatabaseInstance struct { @@ -48,7 +47,7 @@ func (r *SQLDatabaseInstance) BuildResource() *schema.Resource { var resource *schema.Resource if strings.EqualFold(r.Edition, "enterprise_plus") { - log.Warn().Msgf("edition %s of %s is not yet supported", r.Edition, r.Address) + logging.Logger.Warn().Msgf("edition %s of %s is not yet supported", r.Edition, r.Address) return nil } @@ -128,7 +127,7 @@ func (r *SQLDatabaseInstance) sharedInstanceCostComponent() *schema.CostComponen } else if strings.EqualFold(r.Tier, "db-g1-small") { resourceGroup = "SQLGen2InstancesG1Small" } else { - log.Warn().Msgf("tier %s of %s is not supported", r.Tier, r.Address) + logging.Logger.Warn().Msgf("tier %s of %s is not supported", r.Tier, r.Address) return nil } @@ -161,7 +160,7 @@ func (r *SQLDatabaseInstance) legacyMySQLInstanceCostComponent() *schema.CostCom vCPUs, err := r.vCPUs() if err != nil { - log.Warn().Msgf("vCPU of tier %s of %s is not parsable", r.Tier, r.Address) + logging.Logger.Warn().Msgf("vCPU of tier %s of %s is not parsable", r.Tier, r.Address) return nil } @@ -190,13 +189,13 @@ func (r *SQLDatabaseInstance) instanceCostComponents() []*schema.CostComponent { vCPUs, err := r.vCPUs() if err != nil { - log.Warn().Msgf("vCPU of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) + logging.Logger.Warn().Msgf("vCPU of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) return nil } mem, err := r.memory() if err != nil { - log.Warn().Msgf("memory of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) + logging.Logger.Warn().Msgf("memory of tier %s of %s is not parsable: %s", r.Tier, r.Address, err) return nil } diff --git a/internal/schema/cost_component.go b/internal/schema/cost_component.go index f2cce3397f1..d5c0ffe10dd 100644 --- a/internal/schema/cost_component.go +++ b/internal/schema/cost_component.go @@ -24,6 +24,7 @@ type CostComponent struct { HourlyCost *decimal.Decimal MonthlyCost *decimal.Decimal UsageBased bool + PriceNotFound bool } func (c *CostComponent) CalculateCosts() { @@ -49,6 +50,13 @@ func (c *CostComponent) SetPrice(price decimal.Decimal) { c.price = price } +// SetPriceNotFound zeros the price and marks the component as having a price not +// found. +func (c *CostComponent) SetPriceNotFound() { + c.price = decimal.Zero + c.PriceNotFound = true +} + func (c *CostComponent) Price() decimal.Decimal { return c.price } diff --git a/internal/schema/diff.go b/internal/schema/diff.go index cf3a9841e55..3eec8f784ec 100644 --- a/internal/schema/diff.go +++ b/internal/schema/diff.go @@ -5,8 +5,9 @@ import ( "regexp" "strings" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" + + "github.com/infracost/infracost/internal/logging" ) // nameBracketReg matches the part of a cost component name before the brackets, and the part in the brackets @@ -64,7 +65,7 @@ func diffResourcesByKey(resourceKey string, pastResMap, currentResMap map[string past, pastOk := pastResMap[resourceKey] current, currentOk := currentResMap[resourceKey] if current == nil && past == nil { - log.Debug().Msgf("diffResourcesByKey nil current and past with key %s", resourceKey) + logging.Logger.Debug().Msgf("diffResourcesByKey nil current and past with key %s", resourceKey) return false, nil } baseResource := current diff --git a/internal/schema/project.go b/internal/schema/project.go index f386225b62c..b43f78e3d5f 100644 --- a/internal/schema/project.go +++ b/internal/schema/project.go @@ -357,6 +357,7 @@ type Project struct { Resources []*Resource Diff []*Resource HasDiff bool + DisplayName string } func (p *Project) AddProviderMetadata(metadatas []ProviderMetadata) { diff --git a/internal/schema/provider.go b/internal/schema/provider.go index 8136c10e01a..fd400241943 100644 --- a/internal/schema/provider.go +++ b/internal/schema/provider.go @@ -5,6 +5,9 @@ import "github.com/infracost/infracost/internal/config" type Provider interface { Type() string DisplayType() string + ProjectName() string + RelativePath() string + VarFiles() []string AddMetadata(*ProjectMetadata) LoadResources(UsageMap) ([]*Project, error) Context() *config.ProjectContext diff --git a/internal/schema/resource.go b/internal/schema/resource.go index 330d79aa1ee..842a9ab1ad2 100644 --- a/internal/schema/resource.go +++ b/internal/schema/resource.go @@ -3,9 +3,10 @@ package schema import ( "sort" - "github.com/rs/zerolog/log" "github.com/shopspring/decimal" "github.com/tidwall/gjson" + + "github.com/infracost/infracost/internal/logging" ) var ( @@ -34,6 +35,11 @@ type Resource struct { EstimateUsage EstimateFunc EstimationSummary map[string]bool Metadata map[string]gjson.Result + + // parent is the parent resource of this resource, this is only + // applicable for sub resources. See FlattenedSubResources for more info + // on how this is built and used. + parent *Resource } func CalculateCosts(project *Project) { @@ -42,6 +48,28 @@ func CalculateCosts(project *Project) { } } +// BaseResourceType returns the base resource type of the resource. This is the +// resource type of the top level resource in the hierarchy. For example, if the +// resource is a subresource of a `aws_instance` resource (e.g. +// ebs_block_device), the base resource type will be `aws_instance`. +func (r *Resource) BaseResourceType() string { + if r.parent == nil { + return r.ResourceType + } + + return r.parent.BaseResourceType() +} + +// BaseResourceName returns the base resource name of the resource. This is the +// resource name of the top level resource in the hierarchy. +func (r *Resource) BaseResourceName() string { + if r.parent == nil { + return r.Name + } + + return r.parent.BaseResourceName() +} + func (r *Resource) CalculateCosts() { h := decimal.Zero m := decimal.Zero @@ -92,14 +120,18 @@ func (r *Resource) CalculateCosts() { r.MonthlyUsageCost = monthlyUsageCost } if r.NoPrice { - log.Debug().Msgf("Skipping free resource %s", r.Name) + logging.Logger.Debug().Msgf("Skipping free resource %s", r.Name) } } +// FlattenedSubResources returns a list of resources from the given resources, +// flattening all sub resources recursively. It also sets the parent resource for +// each sub resource so that the full resource can be reconstructed. func (r *Resource) FlattenedSubResources() []*Resource { resources := make([]*Resource, 0, len(r.SubResources)) for _, s := range r.SubResources { + s.parent = r resources = append(resources, s) if len(s.SubResources) > 0 { diff --git a/internal/testutil/testutil.go b/internal/testutil/testutil.go index 6ea54bd4f17..76466e75071 100644 --- a/internal/testutil/testutil.go +++ b/internal/testutil/testutil.go @@ -207,18 +207,9 @@ func (e ErrorOnAnyWriter) Write(data []byte) (n int, err error) { return io.Discard.Write(data) } -func ConfigureTestToFailOnLogs(t *testing.T, runCtx *config.RunContext) { - runCtx.Config.LogLevel = "warn" - runCtx.Config.SetLogDisableTimestamps(true) - runCtx.Config.SetLogWriter(io.MultiWriter(os.Stderr, ErrorOnAnyWriter{t})) - - err := logging.ConfigureBaseLogger(runCtx.Config) - require.Nil(t, err) -} - -func ConfigureTestToCaptureLogs(t *testing.T, runCtx *config.RunContext) *bytes.Buffer { +func ConfigureTestToCaptureLogs(t *testing.T, runCtx *config.RunContext, level string) *bytes.Buffer { logBuf := bytes.NewBuffer([]byte{}) - runCtx.Config.LogLevel = "warn" + runCtx.Config.LogLevel = level runCtx.Config.SetLogDisableTimestamps(true) runCtx.Config.SetLogWriter(zerolog.SyncWriter(io.MultiWriter(os.Stderr, logBuf))) diff --git a/internal/ui/print.go b/internal/ui/print.go index 43134a31f87..b1f42b7f59a 100644 --- a/internal/ui/print.go +++ b/internal/ui/print.go @@ -4,8 +4,11 @@ import ( "fmt" "io" + "github.com/fatih/color" "github.com/spf13/cobra" + "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/version" ) @@ -13,14 +16,6 @@ import ( // to an underlying writer. type WriteWarningFunc func(msg string) -func PrintSuccess(w io.Writer, msg string) { - fmt.Fprintf(w, "%s %s\n", SuccessString("Success:"), msg) -} - -func PrintSuccessf(w io.Writer, msg string, a ...interface{}) { - PrintSuccess(w, fmt.Sprintf(msg, a...)) -} - func PrintError(w io.Writer, msg string) { fmt.Fprintf(w, "%s %s\n", ErrorString("Error:"), msg) } @@ -29,14 +24,6 @@ func PrintErrorf(w io.Writer, msg string, a ...interface{}) { PrintError(w, fmt.Sprintf(msg, a...)) } -func PrintWarning(w io.Writer, msg string) { - fmt.Fprintf(w, "%s %s\n", WarningString("Warning:"), msg) -} - -func PrintWarningf(w io.Writer, msg string, a ...interface{}) { - PrintWarning(w, fmt.Sprintf(msg, a...)) -} - func PrintUsage(cmd *cobra.Command) { cmd.SetOut(cmd.ErrOrStderr()) _ = cmd.Help() @@ -50,15 +37,22 @@ var ( ) // PrintUnexpectedErrorStack prints a full stack trace of a fatal error. -func PrintUnexpectedErrorStack(out io.Writer, err error) { - msg := fmt.Sprintf("\n%s %s\n\n%s\nEnvironment:\n%s\n\n%s %s\n", - ErrorString("Error:"), +func PrintUnexpectedErrorStack(err error) { + logging.Logger.Error().Msgf("%s\n\n%s\nEnvironment:\n%s\n\n%s %s\n", "An unexpected error occurred", err, fmt.Sprintf("Infracost %s", version.Version), stackErrorMsg, githubIssuesLink, ) +} + +func ProjectDisplayName(ctx *config.RunContext, name string) string { + return FormatIfNotCI(ctx, func(s string) string { + return color.BlueString(BoldString(s)) + }, name) +} - fmt.Fprint(out, msg) +func DirectoryDisplayName(ctx *config.RunContext, name string) string { + return FormatIfNotCI(ctx, UnderlineString, name) } diff --git a/internal/ui/promts.go b/internal/ui/promts.go deleted file mode 100644 index 1d2b607cf24..00000000000 --- a/internal/ui/promts.go +++ /dev/null @@ -1,63 +0,0 @@ -package ui - -import ( - "bufio" - "fmt" - "os" - "strings" -) - -// ValidateFn represents a validation function type for prompts. Function of -// this type should accept a string input and return an error if validation fails; -// otherwise return nil. -type ValidateFn func(input string) error - -// StringPrompt provides a single line for user input. It accepts an optional -// validation function. -func StringPrompt(label string, validate ValidateFn) string { - input := "" - reader := bufio.NewReader(os.Stdin) - - for { - fmt.Fprint(os.Stdout, label+": ") - input, _ = reader.ReadString('\n') - input = strings.TrimSpace(input) - - if validate == nil { - return input - } - - err := validate(input) - if err == nil { - break - } - - fmt.Fprintln(os.Stderr, err) - } - - return input -} - -// YesNoPrompt provides a yes/no user input. "No" is a default answer if left -// empty. -func YesNoPrompt(label string) bool { - choices := "y/N" - reader := bufio.NewReader(os.Stdin) - - for { - fmt.Fprintf(os.Stdout, "%s [%s] ", label, choices) - input, _ := reader.ReadString('\n') - input = strings.TrimSpace(input) - - if input == "" { - return false - } - - switch strings.ToLower(input) { - case "y", "yes": - return true - case "n", "no": - return false - } - } -} diff --git a/internal/ui/spin.go b/internal/ui/spin.go deleted file mode 100644 index 91d77779c79..00000000000 --- a/internal/ui/spin.go +++ /dev/null @@ -1,93 +0,0 @@ -package ui - -import ( - "fmt" - "os" - "runtime" - "time" - - spinnerpkg "github.com/briandowns/spinner" - "github.com/rs/zerolog/log" -) - -type SpinnerOptions struct { - EnableLogging bool - NoColor bool - Indent string -} - -type Spinner struct { - spinner *spinnerpkg.Spinner - msg string - opts SpinnerOptions -} - -// SpinnerFunc defines a function that returns a Spinner which can be used -// to report the progress of a certain action. -type SpinnerFunc func(msg string) *Spinner - -func NewSpinner(msg string, opts SpinnerOptions) *Spinner { - spinnerCharNumb := 14 - if runtime.GOOS == "windows" { - spinnerCharNumb = 9 - } - s := &Spinner{ - spinner: spinnerpkg.New(spinnerpkg.CharSets[spinnerCharNumb], 100*time.Millisecond, spinnerpkg.WithWriter(os.Stderr)), - msg: msg, - opts: opts, - } - - if s.opts.EnableLogging { - log.Info().Msgf("Starting: %s", msg) - } else { - s.spinner.Prefix = opts.Indent - s.spinner.Suffix = fmt.Sprintf(" %s", msg) - if !s.opts.NoColor { - _ = s.spinner.Color("fgHiCyan", "bold") - } - s.spinner.Start() - } - - return s -} - -func (s *Spinner) Stop() { - s.spinner.Stop() -} - -func (s *Spinner) Fail() { - if s.spinner == nil || !s.spinner.Active() { - return - } - s.Stop() - if s.opts.EnableLogging { - log.Error().Msgf("Failed: %s", s.msg) - } else { - fmt.Fprintf(os.Stderr, "%s%s %s\n", - s.opts.Indent, - ErrorString("✖"), - s.msg, - ) - } -} - -func (s *Spinner) SuccessWithMessage(newMsg string) { - s.msg = newMsg - s.Success() -} - -func (s *Spinner) Success() { - if !s.spinner.Active() { - return - } - s.Stop() - if s.opts.EnableLogging { - log.Info().Msgf("Completed: %s", s.msg) - } else { - fmt.Fprintf(os.Stderr, "%s%s %s\n", - s.opts.Indent, - PrimaryString("✔"), - s.msg, - ) - } -} diff --git a/internal/ui/strings.go b/internal/ui/strings.go index b8ed76d18a6..fa660dfed63 100644 --- a/internal/ui/strings.go +++ b/internal/ui/strings.go @@ -4,6 +4,8 @@ import ( "fmt" "github.com/fatih/color" + + "github.com/infracost/infracost/internal/config" ) var primary = color.New(color.FgHiCyan) @@ -89,3 +91,12 @@ func UnderlineString(msg string) string { func UnderlineStringf(msg string, a ...interface{}) string { return UnderlineString(fmt.Sprintf(msg, a...)) } + +// FormatIfNotCI runs the formatFunc if the current run context is not a CI run. +func FormatIfNotCI(ctx *config.RunContext, formatFunc func(string) string, value string) string { + if ctx.IsCIRun() { + return fmt.Sprintf("%q", value) + } + + return formatFunc(value) +} diff --git a/internal/ui/util.go b/internal/ui/util.go index 593dbec276d..d492f25b51e 100644 --- a/internal/ui/util.go +++ b/internal/ui/util.go @@ -25,10 +25,3 @@ func StripColor(str string) string { re := regexp.MustCompile(ansi) return re.ReplaceAllString(str, "") } - -func DisplayPath(path string) string { - if path == "" { - return "current directory" - } - return path -} diff --git a/internal/update/update.go b/internal/update/update.go index 2803b8bed3a..f58ebef2268 100644 --- a/internal/update/update.go +++ b/internal/update/update.go @@ -14,10 +14,10 @@ import ( "time" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "golang.org/x/mod/semver" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/version" ) @@ -34,7 +34,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { // Check cache for the latest version cachedLatestVersion, err := checkCachedLatestVersion(ctx) if err != nil { - log.Debug().Msgf("error getting cached latest version: %v", err) + logging.Logger.Debug().Msgf("error getting cached latest version: %v", err) } // Nothing to do if the current version is the latest cached version @@ -45,7 +45,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { isBrew, err := isBrewInstall() if err != nil { // don't fail if we can't detect brew, just fallback to other update method - log.Debug().Msgf("error checking if executable was installed via brew: %v", err) + logging.Logger.Debug().Msgf("error checking if executable was installed via brew: %v", err) } var cmd string @@ -75,7 +75,7 @@ func CheckForUpdate(ctx *config.RunContext) (*Info, error) { if latestVersion != cachedLatestVersion { err := setCachedLatestVersion(ctx, latestVersion) if err != nil { - log.Debug().Msgf("error saving cached latest version: %v", err) + logging.Logger.Debug().Msgf("error saving cached latest version: %v", err) } } diff --git a/internal/usage/aws/autoscaling.go b/internal/usage/aws/autoscaling.go index 9998f81a4d4..0f3053c558f 100644 --- a/internal/usage/aws/autoscaling.go +++ b/internal/usage/aws/autoscaling.go @@ -4,7 +4,8 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/autoscaling" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) func autoscalingNewClient(ctx context.Context, region string) (*autoscaling.Client, error) { @@ -21,7 +22,7 @@ func autoscalingNewClient(ctx context.Context, region string) (*autoscaling.Clie // 2. Instantaneous count right now // 3. Mean of min-size and max-size func AutoscalingGetInstanceCount(ctx context.Context, region string, name string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/AutoScaling GroupTotalInstances (region: %s, AutoScalingGroupName: %s)", region, name) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/AutoScaling GroupTotalInstances (region: %s, AutoScalingGroupName: %s)", region, name) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/AutoScaling", @@ -40,7 +41,7 @@ func AutoscalingGetInstanceCount(ctx context.Context, region string, name string if err != nil { return 0, err } - log.Debug().Msgf("Querying AWS EC2 API: DescribeAutoScalingGroups(region: %s, AutoScalingGroupNames: [%s])", region, name) + logging.Logger.Debug().Msgf("Querying AWS EC2 API: DescribeAutoScalingGroups(region: %s, AutoScalingGroupNames: [%s])", region, name) resp, err := client.DescribeAutoScalingGroups(ctx, &autoscaling.DescribeAutoScalingGroupsInput{ AutoScalingGroupNames: []string{name}, }) diff --git a/internal/usage/aws/dynamodb.go b/internal/usage/aws/dynamodb.go index 4aa07775a87..3b8fe0fc86b 100644 --- a/internal/usage/aws/dynamodb.go +++ b/internal/usage/aws/dynamodb.go @@ -5,7 +5,8 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/dynamodb" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) func dynamodbNewClient(ctx context.Context, region string) (*dynamodb.Client, error) { @@ -17,7 +18,7 @@ func dynamodbNewClient(ctx context.Context, region string) (*dynamodb.Client, er } func dynamodbGetRequests(ctx context.Context, region string, table string, metric string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/DynamoDB %s (region: %s, TableName: %s)", metric, region, table) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/DynamoDB %s (region: %s, TableName: %s)", metric, region, table) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/DynamoDB", @@ -40,7 +41,7 @@ func DynamoDBGetStorageBytes(ctx context.Context, region string, table string) ( if err != nil { return 0, err } - log.Debug().Msgf("Querying AWS DynamoDB API: DescribeTable(region: %s, table: %s)", region, table) + logging.Logger.Debug().Msgf("Querying AWS DynamoDB API: DescribeTable(region: %s, table: %s)", region, table) result, err := client.DescribeTable(ctx, &dynamodb.DescribeTableInput{TableName: strPtr(table)}) if err != nil { return 0, err diff --git a/internal/usage/aws/ec2.go b/internal/usage/aws/ec2.go index f93c618b295..6994ee5f47a 100644 --- a/internal/usage/aws/ec2.go +++ b/internal/usage/aws/ec2.go @@ -5,7 +5,8 @@ import ( "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/ec2/types" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) // c.f. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html @@ -40,7 +41,7 @@ func EC2DescribeOS(ctx context.Context, region string, ami string) (string, erro if err != nil { return "", err } - log.Debug().Msgf("Querying AWS EC2 API: DescribeImages (region: %s, ImageIds: [%s])", region, ami) + logging.Logger.Debug().Msgf("Querying AWS EC2 API: DescribeImages (region: %s, ImageIds: [%s])", region, ami) result, err := client.DescribeImages(ctx, &ec2.DescribeImagesInput{ ImageIds: []string{ami}, }) diff --git a/internal/usage/aws/eks.go b/internal/usage/aws/eks.go index 04f5ca2c1a6..a2db3e3a104 100644 --- a/internal/usage/aws/eks.go +++ b/internal/usage/aws/eks.go @@ -6,7 +6,8 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/eks" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) func eksNewClient(ctx context.Context, region string) (*eks.Client, error) { @@ -23,7 +24,7 @@ func EKSGetNodeGroupAutoscalingGroups(ctx context.Context, region string, cluste return []string{}, err } - log.Debug().Msgf("Querying AWS EKS API: DescribeNodegroup(region: %s, ClusterName: %s, NodegroupName: %s)", region, clusterName, nodeGroupName) + logging.Logger.Debug().Msgf("Querying AWS EKS API: DescribeNodegroup(region: %s, ClusterName: %s, NodegroupName: %s)", region, clusterName, nodeGroupName) result, err := client.DescribeNodegroup(ctx, &eks.DescribeNodegroupInput{ ClusterName: strPtr(clusterName), NodegroupName: strPtr(nodeGroupName), diff --git a/internal/usage/aws/lambda.go b/internal/usage/aws/lambda.go index 73f3d97560c..8c90190a467 100644 --- a/internal/usage/aws/lambda.go +++ b/internal/usage/aws/lambda.go @@ -5,11 +5,12 @@ import ( "context" "github.com/aws/aws-sdk-go-v2/service/cloudwatch/types" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) func LambdaGetInvocations(ctx context.Context, region string, fn string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Invocations (region: %s, FunctionName: %s)", region, fn) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Invocations (region: %s, FunctionName: %s)", region, fn) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/Lambda", @@ -29,7 +30,7 @@ func LambdaGetInvocations(ctx context.Context, region string, fn string) (float6 } func LambdaGetDurationAvg(ctx context.Context, region string, fn string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Duration (region: %s, FunctionName: %s)", region, fn) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/Lambda Duration (region: %s, FunctionName: %s)", region, fn) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/Lambda", diff --git a/internal/usage/aws/s3.go b/internal/usage/aws/s3.go index d9c3ab5f8d3..50b73abe234 100644 --- a/internal/usage/aws/s3.go +++ b/internal/usage/aws/s3.go @@ -6,7 +6,8 @@ import ( "github.com/aws/aws-sdk-go-v2/service/cloudwatch/types" "github.com/aws/aws-sdk-go-v2/service/s3" - "github.com/rs/zerolog/log" + + "github.com/infracost/infracost/internal/logging" ) type ctxS3ConfigOptsKeyType struct{} @@ -32,7 +33,7 @@ func S3FindMetricsFilter(ctx context.Context, region string, bucket string) (str if err != nil { return "", err } - log.Debug().Msgf("Querying AWS S3 API: ListBucketMetricsConfigurations(region: %s, Bucket: %s)", region, bucket) + logging.Logger.Debug().Msgf("Querying AWS S3 API: ListBucketMetricsConfigurations(region: %s, Bucket: %s)", region, bucket) result, err := client.ListBucketMetricsConfigurations(ctx, &s3.ListBucketMetricsConfigurationsInput{ Bucket: strPtr(bucket), }) @@ -49,7 +50,7 @@ func S3FindMetricsFilter(ctx context.Context, region string, bucket string) (str } func S3GetBucketSizeBytes(ctx context.Context, region string, bucket string, storageType string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 BucketSizeBytes (region: %s, BucketName: %s, StorageType: %s)", region, bucket, storageType) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 BucketSizeBytes (region: %s, BucketName: %s, StorageType: %s)", region, bucket, storageType) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", @@ -72,7 +73,7 @@ func S3GetBucketSizeBytes(ctx context.Context, region string, bucket string, sto func S3GetBucketRequests(ctx context.Context, region string, bucket string, filterName string, metrics []string) (int64, error) { count := int64(0) for _, metric := range metrics { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", @@ -94,7 +95,7 @@ func S3GetBucketRequests(ctx context.Context, region string, bucket string, filt } func S3GetBucketDataBytes(ctx context.Context, region string, bucket string, filterName string, metric string) (float64, error) { - log.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) + logging.Logger.Debug().Msgf("Querying AWS CloudWatch: AWS/S3 %s (region: %s, BucketName: %s, FilterId: %s)", metric, region, bucket, filterName) stats, err := cloudwatchGetMonthlyStats(ctx, statsRequest{ region: region, namespace: "AWS/S3", diff --git a/internal/usage/aws/util.go b/internal/usage/aws/util.go index a33ca84bae7..e752e36570c 100644 --- a/internal/usage/aws/util.go +++ b/internal/usage/aws/util.go @@ -4,13 +4,13 @@ package aws import ( "time" - "github.com/rs/zerolog/log" + "github.com/infracost/infracost/internal/logging" ) const timeMonth = time.Hour * 24 * 30 func sdkWarn(service string, usageType string, id string, err interface{}) { - log.Warn().Msgf("Error estimating %s %s usage for %s: %s", service, usageType, id, err) + logging.Logger.Warn().Msgf("Error estimating %s %s usage for %s: %s", service, usageType, id, err) } func intPtr(i int64) *int64 { diff --git a/internal/usage/resource_usage.go b/internal/usage/resource_usage.go index 36e59a0aa9a..8f8a1213aed 100644 --- a/internal/usage/resource_usage.go +++ b/internal/usage/resource_usage.go @@ -5,9 +5,9 @@ import ( "strconv" "github.com/pkg/errors" - "github.com/rs/zerolog/log" yamlv3 "gopkg.in/yaml.v3" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -108,7 +108,7 @@ func ResourceUsagesFromYAML(raw yamlv3.Node) ([]*ResourceUsage, error) { if len(raw.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - log.Error().Msgf("YAML resource usage contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + logging.Logger.Error().Msgf("YAML resource usage contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return []*ResourceUsage{}, errors.New("unexpected YAML format") } @@ -121,7 +121,7 @@ func ResourceUsagesFromYAML(raw yamlv3.Node) ([]*ResourceUsage, error) { if len(resourceValNode.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - log.Error().Msgf("YAML resource value contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + logging.Logger.Error().Msgf("YAML resource value contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return resourceUsages, errors.New("unexpected YAML format") } @@ -357,7 +357,7 @@ func ResourceUsagesToYAML(resourceUsages []*ResourceUsage) (yamlv3.Node, bool) { // } func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.UsageItem, error) { if keyNode == nil || valNode == nil { - log.Error().Msgf("YAML contains nil key or value node") + logging.Logger.Error().Msgf("YAML contains nil key or value node") return nil, errors.New("unexpected YAML format") } @@ -370,7 +370,7 @@ func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.Usag if len(valNode.Content)%2 != 0 { // This error shouldn't really happen, the YAML lib flattens map node key and values into a single array // so this means the YAML map node is invalid but to be safe we add a log here in case it does. - log.Error().Msgf("YAML value map node contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") + logging.Logger.Error().Msgf("YAML value map node contents are not divisible by 2. Expected map node to have equal number of key and value nodes.") return nil, errors.New("unexpected YAML format") } @@ -395,7 +395,7 @@ func usageItemFromYAML(keyNode *yamlv3.Node, valNode *yamlv3.Node) (*schema.Usag } else { err := valNode.Decode(&value) if err != nil { - log.Error().Msgf("Unable to decode YAML value") + logging.Logger.Error().Msgf("Unable to decode YAML value") return nil, errors.New("unexpected YAML format") } diff --git a/internal/usage/sync.go b/internal/usage/sync.go index 57adb50f75a..0e9e1de0e8d 100644 --- a/internal/usage/sync.go +++ b/internal/usage/sync.go @@ -7,10 +7,10 @@ import ( "sort" "strings" - "github.com/rs/zerolog/log" "github.com/tidwall/gjson" "github.com/infracost/infracost/internal/config" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -271,7 +271,7 @@ func syncResource(projectCtx *config.ProjectContext, resource *schema.Resource, err := resource.EstimateUsage(ctx, resourceUsageMap) if err != nil { syncResult.EstimationErrors[resource.Name] = err - log.Warn().Msgf("Error estimating usage for resource %s: %v", resource.Name, err) + logging.Logger.Warn().Msgf("Error estimating usage for resource %s: %v", resource.Name, err) } // Merge in the estimated usage diff --git a/internal/usage/usage_file.go b/internal/usage/usage_file.go index 039cc03ffa6..b52499bbaae 100644 --- a/internal/usage/usage_file.go +++ b/internal/usage/usage_file.go @@ -8,10 +8,10 @@ import ( "strings" "github.com/pkg/errors" - "github.com/rs/zerolog/log" "golang.org/x/mod/semver" yamlv3 "gopkg.in/yaml.v3" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/schema" ) @@ -41,7 +41,7 @@ func CreateUsageFile(path string) error { return errors.Wrapf(err, "Error writing blank usage file to %s", path) } } else { - log.Debug().Msg("Specified usage file already exists, no overriding") + logging.Logger.Debug().Msg("Specified usage file already exists, no overriding") } return nil @@ -50,7 +50,7 @@ func CreateUsageFile(path string) error { func LoadUsageFile(path string) (*UsageFile, error) { blankUsage := NewBlankUsageFile() if _, err := os.Stat(path); os.IsNotExist(err) { - log.Debug().Msg("Specified usage file does not exist. Using a blank file") + logging.Logger.Debug().Msg("Specified usage file does not exist. Using a blank file") return blankUsage, nil } diff --git a/schema/infracost.schema.json b/schema/infracost.schema.json index 76018f3d778..25b76a34f9a 100644 --- a/schema/infracost.schema.json +++ b/schema/infracost.schema.json @@ -72,7 +72,8 @@ "monthlyQuantity", "price", "hourlyCost", - "monthlyCost" + "monthlyCost", + "priceNotFound" ], "properties": { "name": { @@ -98,6 +99,9 @@ }, "usageBased": { "type": "boolean" + }, + "priceNotFound": { + "type": "boolean" } }, "additionalProperties": false, @@ -229,6 +233,7 @@ "Project": { "required": [ "name", + "displayName", "metadata", "pastBreakdown", "breakdown", @@ -239,6 +244,9 @@ "name": { "type": "string" }, + "displayName": { + "type": "string" + }, "metadata": { "$schema": "http://json-schema.org/draft-04/schema#", "$ref": "#/definitions/ProjectMetadata" diff --git a/tools/describezones/main.go b/tools/describezones/main.go index d84ab79eeb5..9eea092d20a 100644 --- a/tools/describezones/main.go +++ b/tools/describezones/main.go @@ -15,6 +15,8 @@ import ( "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/zclconf/go-cty/cty" "google.golang.org/api/compute/v1" + + "github.com/infracost/infracost/internal/logging" ) func main() { @@ -31,7 +33,7 @@ func main() { func describeAWSZones() { cfg, err := config.LoadDefaultConfig(context.Background()) if err != nil { - log.Fatalf("error loading aws config %s", err) + logging.Logger.Fatal().Msgf("error loading aws config %s", err) } svc := ec2.NewFromConfig(cfg) @@ -40,7 +42,7 @@ func describeAWSZones() { AllRegions: aws.Bool(true), }) if err != nil { - log.Fatalf("error describing ec2 regions %s", err) + logging.Logger.Fatal().Msgf("error describing ec2 regions %s", err) } m := make(map[string]map[string]cty.Value) for _, region := range resp.Regions { @@ -49,7 +51,7 @@ func describeAWSZones() { config.WithRegion(name), ) if err != nil { - log.Fatal(err) + logging.Logger.Fatal().Msg(err.Error()) } regionalSvc := ec2.NewFromConfig(regionalConf) @@ -95,13 +97,13 @@ var awsZones = map[string]cty.Value{ } `) if err != nil { - log.Fatalf("failed to create template: %s", err) + logging.Logger.Fatal().Msgf("failed to create template: %s", err) } buf := bytes.NewBuffer([]byte{}) err = tmpl.Execute(buf, m) if err != nil { - log.Fatalf("error executing template: %s", err) + logging.Logger.Fatal().Msgf("error executing template: %s", err) } writeOutput("aws", buf.Bytes()) @@ -111,7 +113,7 @@ func describeGCPZones() { computeService, err := compute.NewService(ctx) if err != nil { - log.Fatalf("failed to create compute service: %s", err) + logging.Logger.Fatal().Msgf("failed to create compute service: %s", err) } projectID := "691877312977" @@ -131,7 +133,7 @@ func describeGCPZones() { return nil }); err != nil { - log.Fatalf("Failed to list regions: %s", err) + logging.Logger.Fatal().Msgf("Failed to list regions: %s", err) } tmpl, err := template.New("test").Parse(` @@ -148,13 +150,13 @@ var gcpZones = map[string]cty.Value{ } `) if err != nil { - log.Fatalf("failed to create template: %s", err) + logging.Logger.Fatal().Msgf("failed to create template: %s", err) } buf := bytes.NewBuffer([]byte{}) err = tmpl.Execute(buf, regions) if err != nil { - log.Fatalf("error executing template: %s", err) + logging.Logger.Fatal().Msgf("error executing template: %s", err) } writeOutput("gcp", buf.Bytes()) @@ -163,16 +165,16 @@ var gcpZones = map[string]cty.Value{ func writeOutput(provider string, input []byte) { f, err := os.Create("zones_" + provider + ".go") if err != nil { - log.Fatalf("could not create output file: %s", err) + logging.Logger.Fatal().Msgf("could not create output file: %s", err) } formatted, err := format.Source(input) if err != nil { - log.Fatalf("could not format output: %s", err) + logging.Logger.Fatal().Msgf("could not format output: %s", err) } _, err = f.Write(formatted) if err != nil { - log.Fatalf("could not write output: %s", err) + logging.Logger.Fatal().Msgf("could not write output: %s", err) } } diff --git a/tools/release/main.go b/tools/release/main.go index 59af9816dc9..b509742a48c 100644 --- a/tools/release/main.go +++ b/tools/release/main.go @@ -10,9 +10,10 @@ import ( "strings" "github.com/google/go-github/v41/github" - "github.com/rs/zerolog/log" "golang.org/x/oauth2" "golang.org/x/sync/errgroup" + + "github.com/infracost/infracost/internal/logging" ) func main() { @@ -28,22 +29,22 @@ func main() { } if err != nil { - log.Error().Msgf("failed to create draft release %s", err) + logging.Logger.Error().Msgf("failed to create draft release %s", err) return } toUpload, err := findReleaseAssets() if err != nil { - log.Error().Msgf("failed to collect release assets %s", err) + logging.Logger.Error().Msgf("failed to collect release assets %s", err) return } err = uploadAssets(toUpload, cli, release) if err != nil { - log.Error().Msgf("failed to upload release assets %s", err) + logging.Logger.Error().Msgf("failed to upload release assets %s", err) return } - log.Info().Msg("successfully created draft release") + logging.Logger.Info().Msg("successfully created draft release") } func fetchExistingRelease(cli *github.Client, tag string) (*github.RepositoryRelease, error) { @@ -70,7 +71,7 @@ func fetchExistingRelease(cli *github.Client, tag string) (*github.RepositoryRel for _, asset := range release.Assets { _, err = cli.Repositories.DeleteReleaseAsset(context.Background(), "infracost", "infracost", asset.GetID()) if err != nil { - log.Error().Msgf("failed to delete asset %s", err) + logging.Logger.Error().Msgf("failed to delete asset %s", err) continue } } @@ -165,7 +166,7 @@ func uploadAssets(toUpload []string, cli *github.Client, release *github.Reposit } func uploadAsset(file string, cli *github.Client, id int64) error { - log.Info().Msgf("uploading asset %s", file) + logging.Logger.Info().Msgf("uploading asset %s", file) f, err := os.Open(file) if err != nil { From ddf22acaa1d40805dcd6d8774b98426c45b7654c Mon Sep 17 00:00:00 2001 From: Tim McFadden <52185+tim775@users.noreply.github.com> Date: Fri, 3 May 2024 08:21:32 -0400 Subject: [PATCH 48/50] refactor: cleanup hcl funcs by importing from libs or annotating the source for modified library funcs (#3060) --- go.mod | 1 + go.sum | 6 ++ internal/hcl/evaluator.go | 79 ++++++++++++----------- internal/hcl/funcs/cidr.go | 105 +------------------------------ internal/hcl/funcs/crypto.go | 43 +------------ internal/hcl/funcs/encoding.go | 45 +------------ internal/hcl/funcs/filesystem.go | 71 ++------------------- 7 files changed, 61 insertions(+), 289 deletions(-) diff --git a/go.mod b/go.mod index 0e3b1366f32..e38e31eeed6 100644 --- a/go.mod +++ b/go.mod @@ -167,6 +167,7 @@ require ( github.com/gruntwork-io/gruntwork-cli v0.7.0 // indirect github.com/gruntwork-io/terratest v0.41.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992 // indirect github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect diff --git a/go.sum b/go.sum index 4304c0415ca..acdbbacc0a2 100644 --- a/go.sum +++ b/go.sum @@ -294,6 +294,7 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuW github.com/antchfx/xpath v0.0.0-20190129040759-c8489ed3251e/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk= github.com/antchfx/xquery v0.0.0-20180515051857-ad5b8c7a47b0/go.mod h1:LzD22aAzDP8/dyiCKFp31He4m2GPjl0AFyzDtZzUu9M= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= @@ -301,6 +302,7 @@ github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0 h1:MzVXffFU github.com/apparentlymart/go-dump v0.0.0-20190214190832-042adf3cf4a0/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= github.com/apparentlymart/go-shquot v0.0.1/go.mod h1:lw58XsE5IgUXZ9h0cxnypdx31p9mPFIVEQ9P3c7MlrU= github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= @@ -736,6 +738,8 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992 h1:fYOrSfO5C9PmFGtmRWSYGqq52SOoE2dXMtAn2Xzh1LQ= +github.com/hashicorp/go-cty-funcs v0.0.0-20230405223818-a090f58aa992/go.mod h1:Abjk0jbRkDaNCzsRhOv2iDCofYpX1eVsjozoiK63qLA= github.com/hashicorp/go-getter v1.5.1/go.mod h1:a7z7NPPfNQpJWcn4rSWFtdrSldqLdLPEF3d8nFMsSLM= github.com/hashicorp/go-getter v1.7.4 h1:3yQjWuxICvSpYwqSayAdKRFcvBl1y/vogCxczWSmix0= github.com/hashicorp/go-getter v1.7.4/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= @@ -1229,6 +1233,7 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.4.0/go.mod h1:nHzOclRkoj++EU9ZjSrZvRG0BXIWt8c7loYc0qXAFGQ= github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.8.3/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= @@ -1266,6 +1271,7 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200422194213-44a606286825/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= diff --git a/internal/hcl/evaluator.go b/internal/hcl/evaluator.go index e1964be46b5..cd943574031 100644 --- a/internal/hcl/evaluator.go +++ b/internal/hcl/evaluator.go @@ -10,9 +10,14 @@ import ( "regexp" "strings" + "github.com/hashicorp/go-cty-funcs/cidr" "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/ext/tryfunc" "github.com/hashicorp/hcl/v2/ext/typeexpr" + + "github.com/hashicorp/go-cty-funcs/crypto" + "github.com/hashicorp/go-cty-funcs/encoding" + "github.com/hashicorp/go-cty-funcs/filesystem" "github.com/rs/zerolog" yaml "github.com/zclconf/go-cty-yaml" "github.com/zclconf/go-cty/cty" @@ -1142,36 +1147,36 @@ func (e *Evaluator) loadModules(lastContext hcl.EvalContext) { func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Function { fns := map[string]function.Function{ "abs": stdlib.AbsoluteFunc, - "abspath": funcs.AbsPathFunc, - "basename": funcs.BasenameFunc, - "base64decode": funcs.Base64DecodeFunc, - "base64encode": funcs.Base64EncodeFunc, + "abspath": filesystem.AbsPathFunc, + "basename": filesystem.BasenameFunc, + "base64decode": encoding.Base64DecodeFunc, + "base64encode": encoding.Base64EncodeFunc, "base64gzip": funcs.Base64GzipFunc, "base64sha256": funcs.Base64Sha256Func, "base64sha512": funcs.Base64Sha512Func, - "bcrypt": funcs.BcryptFunc, + "bcrypt": crypto.BcryptFunc, "can": tryfunc.CanFunc, "ceil": stdlib.CeilFunc, "chomp": stdlib.ChompFunc, - "cidrhost": funcs.CidrHostFunc, - "cidrnetmask": funcs.CidrNetmaskFunc, - "cidrsubnet": funcs.CidrSubnetFunc, - "cidrsubnets": funcs.CidrSubnetsFunc, - "coalesce": funcs.CoalesceFunc, + "cidrhost": funcs.CidrHostFunc, // modified hashicorp/go-cty-funcs/cidr.HostFunc that supports big.Int + "cidrnetmask": cidr.NetmaskFunc, + "cidrsubnet": funcs.CidrSubnetFunc, // modified hashicorp/go-cty-funcs/cidr.SubnetFunc that supports big.Int + "cidrsubnets": cidr.SubnetsFunc, + "coalesce": funcs.CoalesceFunc, // customized from stdlib "coalescelist": stdlib.CoalesceListFunc, "compact": stdlib.CompactFunc, "concat": stdlib.ConcatFunc, "contains": stdlib.ContainsFunc, "csvdecode": stdlib.CSVDecodeFunc, - "dirname": funcs.DirnameFunc, + "dirname": filesystem.DirnameFunc, "distinct": stdlib.DistinctFunc, "element": stdlib.ElementFunc, "endswith": funcs.EndsWithFunc, "chunklist": stdlib.ChunklistFunc, - "file": funcs.MakeFileFunc(baseDir, false), - "fileexists": funcs.MakeFileExistsFunc(baseDir), - "fileset": funcs.MakeFileSetFunc(baseDir), - "filebase64": funcs.MakeFileFunc(baseDir, true), + "file": funcs.MakeFileFunc(baseDir, false), // modified hashicorp/go-cty-funcs/filesystem.MakeFileFunc + "fileexists": funcs.MakeFileExistsFunc(baseDir), // modified hashicorp/go-cty-funcs/filesystem.filesystem.MakeFileExistsFunc + "fileset": funcs.MakeFileSetFunc(baseDir), // modified hashicorp/go-cty-funcs/filesystem.filesystem.MakeFileSetFunc + "filebase64": funcs.MakeFileFunc(baseDir, true), // modified hashicorp/go-cty-funcs/filesystem.filesystem.MakeFileFunc "filebase64sha256": funcs.MakeFileBase64Sha256Func(baseDir), "filebase64sha512": funcs.MakeFileBase64Sha512Func(baseDir), "filemd5": funcs.MakeFileMd5Func(baseDir), @@ -1181,43 +1186,43 @@ func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Fun "flatten": stdlib.FlattenFunc, "floor": stdlib.FloorFunc, "format": stdlib.FormatFunc, - "formatdate": funcs.FormatDateFunc, + "formatdate": funcs.FormatDateFunc, // wraps stdlib.FormatDateFunc "formatlist": stdlib.FormatListFunc, "indent": stdlib.IndentFunc, "index": funcs.IndexFunc, // stdlib.IndexFunc is not compatible "join": stdlib.JoinFunc, - "jsondecode": funcs.JSONDecodeFunc, + "jsondecode": funcs.JSONDecodeFunc, // customized from stdlib to handle mocks "jsonencode": stdlib.JSONEncodeFunc, "keys": stdlib.KeysFunc, "length": funcs.LengthFunc, "list": funcs.ListFunc, "log": stdlib.LogFunc, - "lookup": funcs.LookupFunc, + "lookup": funcs.LookupFunc, // customized from stdlib "lower": stdlib.LowerFunc, "map": funcs.MapFunc, "matchkeys": funcs.MatchkeysFunc, "max": stdlib.MaxFunc, - "md5": funcs.Md5Func, - "merge": funcs.MergeFunc, + "md5": crypto.Md5Func, + "merge": funcs.MergeFunc, // customized from stdlib "min": stdlib.MinFunc, "parseint": stdlib.ParseIntFunc, - "pathexpand": funcs.PathExpandFunc, - "infracostlog": funcs.LogArgs(logger), - "infracostprint": funcs.PrintArgs, + "pathexpand": filesystem.PathExpandFunc, + "infracostlog": funcs.LogArgs(logger), // custom + "infracostprint": funcs.PrintArgs, // custom "pow": stdlib.PowFunc, "range": stdlib.RangeFunc, "regex": stdlib.RegexFunc, "regexall": stdlib.RegexAllFunc, - "replace": funcs.ReplaceFunc, + "replace": funcs.ReplaceFunc, // customized from stdlib "reverse": stdlib.ReverseListFunc, - "rsadecrypt": funcs.RsaDecryptFunc, + "rsadecrypt": funcs.RsaDecryptFunc, // customized from hashicorp/go-cty-funcs/crypto "setintersection": stdlib.SetIntersectionFunc, "setproduct": stdlib.SetProductFunc, "setsubtract": stdlib.SetSubtractFunc, "setunion": stdlib.SetUnionFunc, - "sha1": funcs.Sha1Func, - "sha256": funcs.Sha256Func, - "sha512": funcs.Sha512Func, + "sha1": crypto.Sha1Func, + "sha256": crypto.Sha256Func, + "sha512": crypto.Sha512Func, "signum": stdlib.SignumFunc, "slice": stdlib.SliceFunc, "sort": stdlib.SortFunc, @@ -1226,15 +1231,15 @@ func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Fun "strcontains": funcs.StrContainsFunc, "strrev": stdlib.ReverseFunc, "substr": stdlib.SubstrFunc, - "timestamp": funcs.MockTimestampFunc, // We want to return a deterministic value each time + "timestamp": funcs.MockTimestampFunc, // custom. We want to return a deterministic value each time "timeadd": stdlib.TimeAddFunc, "title": stdlib.TitleFunc, - "tostring": funcs.MakeToFunc(cty.String), - "tonumber": funcs.MakeToFunc(cty.Number), - "tobool": funcs.MakeToFunc(cty.Bool), - "toset": funcs.MakeToFunc(cty.Set(cty.DynamicPseudoType)), - "tolist": funcs.MakeToFunc(cty.List(cty.DynamicPseudoType)), - "tomap": funcs.MakeToFunc(cty.Map(cty.DynamicPseudoType)), + "tostring": funcs.MakeToFunc(cty.String), // customized from stdlib + "tonumber": funcs.MakeToFunc(cty.Number), // customized from stdlib + "tobool": funcs.MakeToFunc(cty.Bool), // customized from stdlib + "toset": funcs.MakeToFunc(cty.Set(cty.DynamicPseudoType)), // customized from stdlib + "tolist": funcs.MakeToFunc(cty.List(cty.DynamicPseudoType)), // customized from stdlib + "tomap": funcs.MakeToFunc(cty.Map(cty.DynamicPseudoType)), // customized from stdlib "transpose": funcs.TransposeFunc, "trim": stdlib.TrimFunc, "trimprefix": stdlib.TrimPrefixFunc, @@ -1242,11 +1247,11 @@ func ExpFunctions(baseDir string, logger zerolog.Logger) map[string]function.Fun "trimsuffix": stdlib.TrimSuffixFunc, "try": tryfunc.TryFunc, "upper": stdlib.UpperFunc, - "urlencode": funcs.URLEncodeFunc, + "urlencode": encoding.URLEncodeFunc, "uuid": funcs.UUIDFunc, "uuidv5": funcs.UUIDV5Func, "values": stdlib.ValuesFunc, - "yamldecode": funcs.YAMLDecodeFunc, + "yamldecode": funcs.YAMLDecodeFunc, // customized yaml.YAMLDecodeFunc "yamlencode": yaml.YAMLEncodeFunc, "zipmap": stdlib.ZipmapFunc, } diff --git a/internal/hcl/funcs/cidr.go b/internal/hcl/funcs/cidr.go index 914365ae5e1..4a34fe37b8a 100644 --- a/internal/hcl/funcs/cidr.go +++ b/internal/hcl/funcs/cidr.go @@ -6,6 +6,7 @@ import ( "net" "github.com/apparentlymart/go-cidr/cidr" + ctycidr "github.com/hashicorp/go-cty-funcs/cidr" "github.com/zclconf/go-cty/cty" "github.com/zclconf/go-cty/cty/function" "github.com/zclconf/go-cty/cty/gocty" @@ -44,26 +45,6 @@ var CidrHostFunc = function.New(&function.Spec{ }, }) -// CidrNetmaskFunc constructs a function that converts an IPv4 address prefix given -// in CIDR notation into a subnet mask address. -var CidrNetmaskFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "prefix", - Type: cty.String, - }, - }, - Type: function.StaticReturnType(cty.String), - Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { - _, network, err := net.ParseCIDR(args[0].AsString()) - if err != nil { - return cty.UnknownVal(cty.String), fmt.Errorf("invalid CIDR expression: %s", err) - } - - return cty.StringVal(net.IP(network.Mask).String()), nil - }, -}) - // CidrSubnetFunc constructs a function that calculates a subnet address within // a given IP network address prefix. var CidrSubnetFunc = function.New(&function.Spec{ @@ -106,86 +87,6 @@ var CidrSubnetFunc = function.New(&function.Spec{ }, }) -// CidrSubnetsFunc is similar to CidrSubnetFunc but calculates many consecutive -// subnet addresses at once, rather than just a single subnet extension. -var CidrSubnetsFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "prefix", - Type: cty.String, - }, - }, - VarParam: &function.Parameter{ - Name: "newbits", - Type: cty.Number, - }, - Type: function.StaticReturnType(cty.List(cty.String)), - Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { - _, network, err := net.ParseCIDR(args[0].AsString()) - if err != nil { - return cty.UnknownVal(cty.String), function.NewArgErrorf(0, "invalid CIDR expression: %s", err) - } - startPrefixLen, _ := network.Mask.Size() - - prefixLengthArgs := args[1:] - if len(prefixLengthArgs) == 0 { - return cty.ListValEmpty(cty.String), nil - } - - var firstLength int - if err := gocty.FromCtyValue(prefixLengthArgs[0], &firstLength); err != nil { - return cty.UnknownVal(cty.String), function.NewArgError(1, err) - } - firstLength += startPrefixLen - - retVals := make([]cty.Value, len(prefixLengthArgs)) - - current, _ := cidr.PreviousSubnet(network, firstLength) - for i, lengthArg := range prefixLengthArgs { - var length int - if err := gocty.FromCtyValue(lengthArg, &length); err != nil { - return cty.UnknownVal(cty.String), function.NewArgError(i+1, err) - } - - if length < 1 { - return cty.UnknownVal(cty.String), function.NewArgErrorf(i+1, "must extend prefix by at least one bit") - } - // For portability with 32-bit systems where the subnet number - // will be a 32-bit int, we only allow extension of 32 bits in - // one call even if we're running on a 64-bit machine. - // (Of course, this is significant only for IPv6.) - if length > 32 { - return cty.UnknownVal(cty.String), function.NewArgErrorf(i+1, "may not extend prefix by more than 32 bits") - } - length += startPrefixLen - if length > (len(network.IP) * 8) { - protocol := "IP" - switch len(network.IP) * 8 { - case 32: - protocol = "IPv4" - case 128: - protocol = "IPv6" - } - return cty.UnknownVal(cty.String), function.NewArgErrorf(i+1, "would extend prefix to %d bits, which is too long for an %s address", length, protocol) - } - - next, rollover := cidr.NextSubnet(current, length) - if rollover || !network.Contains(next.IP) { - // If we run out of suffix bits in the base CIDR prefix then - // NextSubnet will start incrementing the prefix bits, which - // we don't allow because it would then allocate addresses - // outside of the caller's given prefix. - return cty.UnknownVal(cty.String), function.NewArgErrorf(i+1, "not enough remaining address space for a subnet with a prefix of %d bits after %s", length, current.String()) - } - - current = next - retVals[i] = cty.StringVal(current.String()) - } - - return cty.ListVal(retVals), nil - }, -}) - // CidrHost calculates a full host IP address within a given IP network address prefix. func CidrHost(prefix, hostnum cty.Value) (cty.Value, error) { return CidrHostFunc.Call([]cty.Value{prefix, hostnum}) @@ -193,7 +94,7 @@ func CidrHost(prefix, hostnum cty.Value) (cty.Value, error) { // CidrNetmask converts an IPv4 address prefix given in CIDR notation into a subnet mask address. func CidrNetmask(prefix cty.Value) (cty.Value, error) { - return CidrNetmaskFunc.Call([]cty.Value{prefix}) + return ctycidr.NetmaskFunc.Call([]cty.Value{prefix}) } // CidrSubnet calculates a subnet address within a given IP network address prefix. @@ -207,5 +108,5 @@ func CidrSubnets(prefix cty.Value, newbits ...cty.Value) (cty.Value, error) { args := make([]cty.Value, len(newbits)+1) args[0] = prefix copy(args[1:], newbits) - return CidrSubnetsFunc.Call(args) + return ctycidr.SubnetsFunc.Call(args) } diff --git a/internal/hcl/funcs/crypto.go b/internal/hcl/funcs/crypto.go index c49915a1e87..d115d574e60 100644 --- a/internal/hcl/funcs/crypto.go +++ b/internal/hcl/funcs/crypto.go @@ -15,11 +15,10 @@ import ( "strings" uuidv5 "github.com/google/uuid" + "github.com/hashicorp/go-cty-funcs/crypto" uuid "github.com/hashicorp/go-uuid" "github.com/zclconf/go-cty/cty" "github.com/zclconf/go-cty/cty/function" - "github.com/zclconf/go-cty/cty/gocty" - "golang.org/x/crypto/bcrypt" "golang.org/x/crypto/ssh" ) @@ -88,44 +87,6 @@ func MakeFileBase64Sha512Func(baseDir string) function.Function { return makeFileHashFunction(baseDir, sha512.New, base64.StdEncoding.EncodeToString) } -// BcryptFunc constructs a function that computes a hash of the given string using the Blowfish cipher. -var BcryptFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "str", - Type: cty.String, - }, - }, - VarParam: &function.Parameter{ - Name: "cost", - Type: cty.Number, - }, - Type: function.StaticReturnType(cty.String), - Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { - defaultCost := 10 - - if len(args) > 1 { - var val int - if err := gocty.FromCtyValue(args[1], &val); err != nil { - return cty.UnknownVal(cty.String), err - } - defaultCost = val - } - - if len(args) > 2 { - return cty.UnknownVal(cty.String), fmt.Errorf("bcrypt() takes no more than two arguments") - } - - input := args[0].AsString() - out, err := bcrypt.GenerateFromPassword([]byte(input), defaultCost) - if err != nil { - return cty.UnknownVal(cty.String), fmt.Errorf("error occurred generating password %s", err.Error()) - } - - return cty.StringVal(string(out)), nil - }, -}) - // Md5Func constructs a function that computes the MD5 hash of a given string and encodes it with hexadecimal digits. var Md5Func = makeStringHashFunction(md5.New, hex.EncodeToString) @@ -303,7 +264,7 @@ func Bcrypt(str cty.Value, cost ...cty.Value) (cty.Value, error) { args := make([]cty.Value, len(cost)+1) args[0] = str copy(args[1:], cost) - return BcryptFunc.Call(args) + return crypto.BcryptFunc.Call(args) } // Md5 computes the MD5 hash of a given string and encodes it with hexadecimal digits. diff --git a/internal/hcl/funcs/encoding.go b/internal/hcl/funcs/encoding.go index 1d51db0556a..773c2179ede 100644 --- a/internal/hcl/funcs/encoding.go +++ b/internal/hcl/funcs/encoding.go @@ -6,52 +6,13 @@ import ( "encoding/base64" "fmt" "net/url" - "unicode/utf8" + "github.com/hashicorp/go-cty-funcs/encoding" "github.com/zclconf/go-cty/cty" "github.com/zclconf/go-cty/cty/function" "golang.org/x/text/encoding/ianaindex" - - "github.com/infracost/infracost/internal/logging" ) -// Base64DecodeFunc constructs a function that decodes a string containing a base64 sequence. -var Base64DecodeFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "str", - Type: cty.String, - }, - }, - Type: function.StaticReturnType(cty.String), - Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { - s := args[0].AsString() - sDec, err := base64.StdEncoding.DecodeString(s) - if err != nil { - return cty.UnknownVal(cty.String), fmt.Errorf("failed to decode base64 data '%s'", s) - } - if !utf8.Valid([]byte(sDec)) { - logging.Logger.Debug().Msgf("the result of decoding the provided string is not valid UTF-8: %s", sDec) - return cty.UnknownVal(cty.String), fmt.Errorf("the result of decoding the provided string is not valid UTF-8") - } - return cty.StringVal(string(sDec)), nil - }, -}) - -// Base64EncodeFunc constructs a function that encodes a string to a base64 sequence. -var Base64EncodeFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "str", - Type: cty.String, - }, - }, - Type: function.StaticReturnType(cty.String), - Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { - return cty.StringVal(base64.StdEncoding.EncodeToString([]byte(args[0].AsString()))), nil - }, -}) - // TextEncodeBase64Func constructs a function that encodes a string to a target encoding and then to a base64 sequence. var TextEncodeBase64Func = function.New(&function.Spec{ Params: []function.Parameter{ @@ -192,7 +153,7 @@ var URLEncodeFunc = function.New(&function.Spec{ // UTF-8. If the bytes after Base64 decoding are _not_ valid UTF-8, this function // produces an error. func Base64Decode(str cty.Value) (cty.Value, error) { - return Base64DecodeFunc.Call([]cty.Value{str}) + return encoding.Base64DecodeFunc.Call([]cty.Value{str}) } // Base64Encode applies Base64 encoding to a string. @@ -203,7 +164,7 @@ func Base64Decode(str cty.Value) (cty.Value, error) { // than bytes, so this function will first encode the characters from the string // as UTF-8, and then apply Base64 encoding to the result. func Base64Encode(str cty.Value) (cty.Value, error) { - return Base64EncodeFunc.Call([]cty.Value{str}) + return encoding.Base64EncodeFunc.Call([]cty.Value{str}) } // Base64Gzip compresses a string with gzip and then encodes the result in diff --git a/internal/hcl/funcs/filesystem.go b/internal/hcl/funcs/filesystem.go index 4bac83b7dff..65899b88247 100644 --- a/internal/hcl/funcs/filesystem.go +++ b/internal/hcl/funcs/filesystem.go @@ -11,6 +11,7 @@ import ( "unicode/utf8" "github.com/bmatcuk/doublestar" + "github.com/hashicorp/go-cty-funcs/filesystem" "github.com/hashicorp/hcl/v2" "github.com/hashicorp/hcl/v2/hclsyntax" homedir "github.com/mitchellh/go-homedir" @@ -20,9 +21,6 @@ import ( "github.com/infracost/infracost/internal/logging" ) -// MakeFileFunc constructs a function that takes a file path and returns the -// contents of that file, either directly as a string (where valid UTF-8 is -// required) or as a string containing base64 bytes. func MakeFileFunc(baseDir string, encBase64 bool) function.Function { return function.New(&function.Spec{ Params: []function.Parameter{ @@ -305,67 +303,6 @@ func MakeFileSetFunc(baseDir string) function.Function { }) } -// BasenameFunc constructs a function that takes a string containing a filesystem path -// and removes all except the last portion from it. -var BasenameFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "path", - Type: cty.String, - }, - }, - Type: function.StaticReturnType(cty.String), - Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { - return cty.StringVal(filepath.Base(args[0].AsString())), nil - }, -}) - -// DirnameFunc constructs a function that takes a string containing a filesystem path -// and removes the last portion from it. -var DirnameFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "path", - Type: cty.String, - }, - }, - Type: function.StaticReturnType(cty.String), - Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { - return cty.StringVal(filepath.Dir(args[0].AsString())), nil - }, -}) - -// AbsPathFunc constructs a function that converts a filesystem path to an absolute path -var AbsPathFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "path", - Type: cty.String, - }, - }, - Type: function.StaticReturnType(cty.String), - Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { - absPath, err := filepath.Abs(args[0].AsString()) - return cty.StringVal(filepath.ToSlash(absPath)), err - }, -}) - -// PathExpandFunc constructs a function that expands a leading ~ character to the current user's home directory. -var PathExpandFunc = function.New(&function.Spec{ - Params: []function.Parameter{ - { - Name: "path", - Type: cty.String, - }, - }, - Type: function.StaticReturnType(cty.String), - Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { - - homePath, err := homedir.Expand(args[0].AsString()) - return cty.StringVal(homePath), err - }, -}) - func openFile(baseDir, path string) (io.Reader, error) { path, err := homedir.Expand(path) if err != nil { @@ -457,7 +394,7 @@ func FileBase64(baseDir string, path cty.Value) (cty.Value, error) { // // If the path is empty then the result is ".", representing the current working directory. func Basename(path cty.Value) (cty.Value, error) { - return BasenameFunc.Call([]cty.Value{path}) + return filesystem.BasenameFunc.Call([]cty.Value{path}) } // Dirname takes a string containing a filesystem path and removes the last portion from it. @@ -467,7 +404,7 @@ func Basename(path cty.Value) (cty.Value, error) { // // If the path is empty then the result is ".", representing the current working directory. func Dirname(path cty.Value) (cty.Value, error) { - return DirnameFunc.Call([]cty.Value{path}) + return filesystem.DirnameFunc.Call([]cty.Value{path}) } // Pathexpand takes a string that might begin with a `~` segment, and if so it replaces that segment with @@ -478,7 +415,7 @@ func Dirname(path cty.Value) (cty.Value, error) { // // If the leading segment in the path is not `~` then the given path is returned unmodified. func Pathexpand(path cty.Value) (cty.Value, error) { - return PathExpandFunc.Call([]cty.Value{path}) + return filesystem.PathExpandFunc.Call([]cty.Value{path}) } func isPathInRepo(path string) error { From 12aa5e90ea28b0f653b6ff030f607a02e1a2974f Mon Sep 17 00:00:00 2001 From: Vadim Golub Date: Mon, 6 May 2024 11:17:32 +0200 Subject: [PATCH 49/50] feat: Add vcsBaseCommitSha to estimate metadata (#3059) * feat: Add vcsBaseCommitSha to estimate metadata It's empty on breakdown, and base branch's HEAD SHA on diff/output. NB: When combining several JSONs in output command latest item's metadata will be used in the output. * fixup! feat: Add vcsBaseCommitSha to estimate metadata * chore: Remove deprecated Go linters --- .golangci.yml | 3 - cmd/infracost/diff_test.go | 20 + cmd/infracost/output_test.go | 6 + cmd/infracost/run.go | 8 + .../diff_prior_empty_project_json.golden | 1 + .../diff_with_compare_to_format_json.golden | 1 + ...iff_with_compare_to_format_json.hcl.golden | 1 + .../prior.json | 10 + ..._compare_to_no_metadata_format_json.golden | 373 +++++++++++ ...pare_to_no_metadata_format_json.hcl.golden | 388 ++++++++++++ .../main.tf | 23 + .../prior.json | 306 +++++++++ ...with_current_and_past_project_error.golden | 1 + ...mpare_to_with_current_project_error.golden | 1 + ..._compare_to_with_past_project_error.golden | 1 + .../diff_with_free_resources_checksum.golden | 1 + .../diff_with_policy_data_upload.golden | 1 + cmd/infracost/testdata/example_diff_out.json | 546 ++++++++++++++++ .../output_diff_format_json.golden | 588 ++++++++++++++++++ internal/output/metadata.go | 2 + internal/vcs/metadata.go | 1 + schema/infracost.schema.json | 3 + 22 files changed, 2282 insertions(+), 3 deletions(-) create mode 100644 cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/diff_with_compare_to_no_metadata_format_json.golden create mode 100644 cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/diff_with_compare_to_no_metadata_format_json.hcl.golden create mode 100644 cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/main.tf create mode 100644 cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/prior.json create mode 100644 cmd/infracost/testdata/example_diff_out.json create mode 100644 cmd/infracost/testdata/output_diff_format_json/output_diff_format_json.golden diff --git a/.golangci.yml b/.golangci.yml index 4bc68883bc5..c33f285bdb7 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -2,7 +2,6 @@ linters: disable-all: true enable: - bodyclose - - deadcode - errcheck - gocritic - gofmt @@ -13,10 +12,8 @@ linters: - misspell - revive - staticcheck - - structcheck - typecheck - unused - - varcheck linters-settings: gocritic: diff --git a/cmd/infracost/diff_test.go b/cmd/infracost/diff_test.go index ceaf65a7c83..e023b6ebfcd 100644 --- a/cmd/infracost/diff_test.go +++ b/cmd/infracost/diff_test.go @@ -156,6 +156,26 @@ func TestDiffWithCompareToFormatJSON(t *testing.T) { ) } +func TestDiffWithCompareToNoMetadataFormatJSON(t *testing.T) { + dir := path.Join("./testdata", testutil.CalcGoldenFileTestdataDirName()) + GoldenFileCommandTest( + t, + testutil.CalcGoldenFileTestdataDirName(), + []string{ + "diff", + "--path", + dir, + "--compare-to", + path.Join(dir, "prior.json"), + "--format", + "json", + }, &GoldenFileOptions{ + RunTerraformCLI: true, + IsJSON: true, + }, + ) +} + func TestDiffWithCompareToPreserveSummary(t *testing.T) { dir := path.Join("./testdata", testutil.CalcGoldenFileTestdataDirName()) GoldenFileCommandTest( diff --git a/cmd/infracost/output_test.go b/cmd/infracost/output_test.go index 8dfc51f8c75..0788ee481b8 100644 --- a/cmd/infracost/output_test.go +++ b/cmd/infracost/output_test.go @@ -25,6 +25,12 @@ func TestOutputFormatJSON(t *testing.T) { GoldenFileCommandTest(t, testutil.CalcGoldenFileTestdataDirName(), []string{"output", "--format", "json", "--path", "./testdata/example_out.json", "--path", "./testdata/azure_firewall_out.json"}, opts) } +func TestOutputDiffFormatJSON(t *testing.T) { + opts := DefaultOptions() + opts.IsJSON = true + GoldenFileCommandTest(t, testutil.CalcGoldenFileTestdataDirName(), []string{"output", "--format", "json", "--path", "./testdata/example_diff_out.json"}, opts) +} + func TestOutputFormatBitbucketCommentWithProjectNames(t *testing.T) { testName := testutil.CalcGoldenFileTestdataDirName() GoldenFileCommandTest(t, testName, diff --git a/cmd/infracost/run.go b/cmd/infracost/run.go index 65b60c0f377..520335aec94 100644 --- a/cmd/infracost/run.go +++ b/cmd/infracost/run.go @@ -91,6 +91,7 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { logging.Logger.Debug().Err(err).Msgf("failed to fetch vcs metadata for path %s", wd) } runCtx.VCSMetadata = metadata + runCtx.VCSMetadata.BaseCommit = vcs.Commit{} pr, err := newParallelRunner(cmd, runCtx) if err != nil { @@ -126,6 +127,13 @@ func runMain(cmd *cobra.Command, runCtx *config.RunContext) error { if err != nil { return err } + runCtx.VCSMetadata.BaseCommit = vcs.Commit{ + SHA: pr.prior.Metadata.CommitSHA, + AuthorName: pr.prior.Metadata.CommitAuthorName, + AuthorEmail: pr.prior.Metadata.CommitAuthorEmail, + Time: pr.prior.Metadata.CommitTimestamp, + Message: pr.prior.Metadata.CommitMessage, + } } r.IsCIRun = runCtx.IsCIRun() diff --git a/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden b/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden index 701d9255676..8f0f863642e 100644 --- a/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden +++ b/cmd/infracost/testdata/diff_prior_empty_project_json/diff_prior_empty_project_json.golden @@ -3,6 +3,7 @@ "metadata": { "infracostCommand": "diff", "vcsBranch": "stub-branch", + "vcsBaseCommitSha": "71785af96bce822bd54f359d0883cfa4ca805432", "vcsCommitSha": "stub-sha", "vcsCommitAuthorName": "stub-author", "vcsCommitAuthorEmail": "stub@stub.com", diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden index f11acaf8930..5413388cf3c 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.golden @@ -3,6 +3,7 @@ "metadata": { "infracostCommand": "diff", "vcsBranch": "stub-branch", + "vcsBaseCommitSha": "71785af96bce822bd54f359d0883cfa4ca805432", "vcsCommitSha": "stub-sha", "vcsCommitAuthorName": "stub-author", "vcsCommitAuthorEmail": "stub@stub.com", diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden index d7c2236fd70..b1860a8873c 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/diff_with_compare_to_format_json.hcl.golden @@ -3,6 +3,7 @@ "metadata": { "infracostCommand": "diff", "vcsBranch": "stub-branch", + "vcsBaseCommitSha": "71785af96bce822bd54f359d0883cfa4ca805432", "vcsCommitSha": "stub-sha", "vcsCommitAuthorName": "stub-author", "vcsCommitAuthorEmail": "stub@stub.com", diff --git a/cmd/infracost/testdata/diff_with_compare_to_format_json/prior.json b/cmd/infracost/testdata/diff_with_compare_to_format_json/prior.json index fe2f220cbca..9041fa67c07 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_format_json/prior.json +++ b/cmd/infracost/testdata/diff_with_compare_to_format_json/prior.json @@ -1,5 +1,15 @@ { "version": "0.2", + "metadata": { + "infracostCommand": "breakdown", + "vcsBranch": "master", + "vcsCommitSha": "71785af96bce822bd54f359d0883cfa4ca805432", + "vcsCommitAuthorName": "Hugo", + "vcsCommitAuthorEmail": "", + "vcsCommitTimestamp": "2024-02-23T11:04:26Z", + "vcsCommitMessage": "wip", + "vcsRepositoryUrl": "https://github.com/infracost/infracost.git" + }, "currency": "USD", "projects": [ { diff --git a/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/diff_with_compare_to_no_metadata_format_json.golden b/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/diff_with_compare_to_no_metadata_format_json.golden new file mode 100644 index 00000000000..e901b5dbcf8 --- /dev/null +++ b/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/diff_with_compare_to_no_metadata_format_json.golden @@ -0,0 +1,373 @@ +{ + "version": "0.2", + "metadata": { + "infracostCommand": "diff", + "vcsBranch": "stub-branch", + "vcsCommitSha": "stub-sha", + "vcsCommitAuthorName": "stub-author", + "vcsCommitAuthorEmail": "stub@stub.com", + "vcsCommitTimestamp": "REPLACED_TIME", + "vcsCommitMessage": "stub-message", + "vcsRepositoryUrl": "https://github.com/infracost/infracost" + }, + "currency": "USD", + "projects": [ + { + "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json", + "displayName": "main", + "metadata": { + "path": "testdata/diff_with_compare_to_no_metadata_format_json", + "type": "terraform_cli", + "terraformWorkspace": "default", + "vcsSubPath": "cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json", + "providers": [ + { + "name": "aws" + } + ] + }, + "pastBreakdown": { + "resources": [ + { + "name": "aws_instance.web_app2", + "metadata": {}, + "hourlyCost": "1.785315068493150679", + "monthlyCost": "1303.28", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "1.536", + "hourlyCost": "1.536", + "monthlyCost": "1121.28", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + }, + { + "name": "aws_instance.web_app", + "metadata": {}, + "hourlyCost": "1.017315068493150679", + "monthlyCost": "742.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + } + ], + "totalHourlyCost": "2.802630136986301358", + "totalMonthlyCost": "2045.92", + "totalMonthlyUsageCost": "0" + }, + "breakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "tags": {}, + "metadata": {}, + "hourlyCost": "1.785315068493150679", + "monthlyCost": "1303.28", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "1.536", + "hourlyCost": "1.536", + "monthlyCost": "1121.28", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + } + ], + "totalHourlyCost": "1.785315068493150679", + "totalMonthlyCost": "1303.28", + "totalMonthlyUsageCost": "0" + }, + "diff": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "tags": {}, + "metadata": {}, + "hourlyCost": "0.768", + "monthlyCost": "560.64", + "monthlyUsageCost": "0", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge → m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64", + "priceNotFound": false + } + ] + }, + { + "name": "aws_instance.web_app2", + "metadata": {}, + "hourlyCost": "-1.785315068493150679", + "monthlyCost": "-1303.28", + "monthlyUsageCost": "0", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "-1", + "monthlyQuantity": "-730", + "price": "-1.536", + "hourlyCost": "-1.536", + "monthlyCost": "-1121.28", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "-0.00684931506849315", + "monthlyCost": "-5", + "monthlyUsageCost": "0", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "-0.0684931506849315", + "monthlyQuantity": "-50", + "price": "-0.1", + "hourlyCost": "-0.00684931506849315", + "monthlyCost": "-5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "-0.242465753424657529", + "monthlyCost": "-177", + "monthlyUsageCost": "0", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "-1.3698630136986301", + "monthlyQuantity": "-1000", + "price": "-0.125", + "hourlyCost": "-0.1712328767123287625", + "monthlyCost": "-125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "-1.0958904109589041", + "monthlyQuantity": "-800", + "price": "-0.065", + "hourlyCost": "-0.0712328767123287665", + "monthlyCost": "-52", + "priceNotFound": false + } + ] + } + ] + } + ], + "totalHourlyCost": "-1.017315068493150679", + "totalMonthlyCost": "-742.64", + "totalMonthlyUsageCost": "0" + }, + "summary": { + "totalDetectedResources": 1, + "totalSupportedResources": 1, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 1, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } + } + ], + "totalHourlyCost": "1.785315068493150679", + "totalMonthlyCost": "1303.28", + "totalMonthlyUsageCost": "0", + "pastTotalHourlyCost": "2.802630136986301358", + "pastTotalMonthlyCost": "2045.92", + "pastTotalMonthlyUsageCost": "0", + "diffTotalHourlyCost": "-1.017315068493150679", + "diffTotalMonthlyCost": "-742.64", + "diffTotalMonthlyUsageCost": "0", + "timeGenerated": "REPLACED_TIME", + "summary": { + "totalDetectedResources": 1, + "totalSupportedResources": 1, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 1, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } +} + +Err: + diff --git a/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/diff_with_compare_to_no_metadata_format_json.hcl.golden b/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/diff_with_compare_to_no_metadata_format_json.hcl.golden new file mode 100644 index 00000000000..74a9c9330c8 --- /dev/null +++ b/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/diff_with_compare_to_no_metadata_format_json.hcl.golden @@ -0,0 +1,388 @@ +{ + "version": "0.2", + "metadata": { + "infracostCommand": "diff", + "vcsBranch": "stub-branch", + "vcsCommitSha": "stub-sha", + "vcsCommitAuthorName": "stub-author", + "vcsCommitAuthorEmail": "stub@stub.com", + "vcsCommitTimestamp": "REPLACED_TIME", + "vcsCommitMessage": "stub-message", + "vcsRepositoryUrl": "https://github.com/infracost/infracost" + }, + "currency": "USD", + "projects": [ + { + "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json", + "displayName": "main", + "metadata": { + "path": "testdata/diff_with_compare_to_no_metadata_format_json", + "type": "terraform_dir", + "vcsSubPath": "cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json", + "providers": [ + { + "name": "aws", + "filename": "testdata/diff_with_compare_to_no_metadata_format_json/main.tf", + "startLine": 1, + "endLine": 7 + } + ] + }, + "pastBreakdown": { + "resources": [ + { + "name": "aws_instance.web_app2", + "metadata": {}, + "hourlyCost": "1.785315068493150679", + "monthlyCost": "1303.28", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "1.536", + "hourlyCost": "1.536", + "monthlyCost": "1121.28", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + }, + { + "name": "aws_instance.web_app", + "metadata": {}, + "hourlyCost": "1.017315068493150679", + "monthlyCost": "742.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + } + ], + "totalHourlyCost": "2.802630136986301358", + "totalMonthlyCost": "2045.92", + "totalMonthlyUsageCost": "0" + }, + "breakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "tags": {}, + "metadata": { + "calls": [ + { + "blockName": "aws_instance.web_app", + "endLine": 23, + "filename": "testdata/diff_with_compare_to_no_metadata_format_json/main.tf", + "startLine": 9 + } + ], + "checksum": "3326e79d502305b9e1f50ad5efedb7528b9e59ded094785b1ca91c6f88812fa5", + "endLine": 23, + "filename": "testdata/diff_with_compare_to_no_metadata_format_json/main.tf", + "startLine": 9 + }, + "hourlyCost": "1.785315068493150679", + "monthlyCost": "1303.28", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "1.536", + "hourlyCost": "1.536", + "monthlyCost": "1121.28", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + } + ], + "totalHourlyCost": "1.785315068493150679", + "totalMonthlyCost": "1303.28", + "totalMonthlyUsageCost": "0" + }, + "diff": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "tags": {}, + "metadata": {}, + "hourlyCost": "0.768", + "monthlyCost": "560.64", + "monthlyUsageCost": "0", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge → m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64", + "priceNotFound": false + } + ] + }, + { + "name": "aws_instance.web_app2", + "metadata": {}, + "hourlyCost": "-1.785315068493150679", + "monthlyCost": "-1303.28", + "monthlyUsageCost": "0", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "-1", + "monthlyQuantity": "-730", + "price": "-1.536", + "hourlyCost": "-1.536", + "monthlyCost": "-1121.28", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "-0.00684931506849315", + "monthlyCost": "-5", + "monthlyUsageCost": "0", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "-0.0684931506849315", + "monthlyQuantity": "-50", + "price": "-0.1", + "hourlyCost": "-0.00684931506849315", + "monthlyCost": "-5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "-0.242465753424657529", + "monthlyCost": "-177", + "monthlyUsageCost": "0", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "-1.3698630136986301", + "monthlyQuantity": "-1000", + "price": "-0.125", + "hourlyCost": "-0.1712328767123287625", + "monthlyCost": "-125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "-1.0958904109589041", + "monthlyQuantity": "-800", + "price": "-0.065", + "hourlyCost": "-0.0712328767123287665", + "monthlyCost": "-52", + "priceNotFound": false + } + ] + } + ] + } + ], + "totalHourlyCost": "-1.017315068493150679", + "totalMonthlyCost": "-742.64", + "totalMonthlyUsageCost": "0" + }, + "summary": { + "totalDetectedResources": 1, + "totalSupportedResources": 1, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 1, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } + } + ], + "totalHourlyCost": "1.785315068493150679", + "totalMonthlyCost": "1303.28", + "totalMonthlyUsageCost": "0", + "pastTotalHourlyCost": "2.802630136986301358", + "pastTotalMonthlyCost": "2045.92", + "pastTotalMonthlyUsageCost": "0", + "diffTotalHourlyCost": "-1.017315068493150679", + "diffTotalMonthlyCost": "-742.64", + "diffTotalMonthlyUsageCost": "0", + "timeGenerated": "REPLACED_TIME", + "summary": { + "totalDetectedResources": 1, + "totalSupportedResources": 1, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 1, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } +} + +Err: + diff --git a/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/main.tf b/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/main.tf new file mode 100644 index 00000000000..9ec65b05072 --- /dev/null +++ b/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/main.tf @@ -0,0 +1,23 @@ +provider "aws" { + region = "us-east-1" + skip_credentials_validation = true + skip_requesting_account_id = true + access_key = "mock_access_key" + secret_key = "mock_secret_key" +} + +resource "aws_instance" "web_app" { + ami = "ami-674cbc1e" + instance_type = "m5.8xlarge" + + root_block_device { + volume_size = 50 + } + + ebs_block_device { + device_name = "my_data" + volume_type = "io1" + volume_size = 1000 + iops = 800 + } +} diff --git a/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/prior.json b/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/prior.json new file mode 100644 index 00000000000..59ccbac5790 --- /dev/null +++ b/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json/prior.json @@ -0,0 +1,306 @@ +{ + "version": "0.2", + "currency": "USD", + "projects": [ + { + "name": "infracost/infracost/cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json", + "metadata": { + "path": "testdata/diff_with_compare_to_no_metadata_format_json", + "type": "terraform_dir", + "vcsRepositoryUrl": "git@github.com:infracost/infracost.git", + "vcsSubPath": "cmd/infracost/testdata/diff_with_compare_to_no_metadata_format_json", + "terraformWorkspace": "default" + }, + "pastBreakdown": { + "resources": [], + "totalHourlyCost": "0", + "totalMonthlyCost": "0" + }, + "breakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "metadata": {}, + "hourlyCost": "1.017315068493150679", + "monthlyCost": "742.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64" + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + }, + { + "name": "aws_instance.web_app2", + "metadata": {}, + "hourlyCost": "1.785315068493150679", + "monthlyCost": "1303.28", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "1.536", + "hourlyCost": "1.536", + "monthlyCost": "1121.28" + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + } + ], + "totalHourlyCost": "2.802630136986301358", + "totalMonthlyCost": "2045.92" + }, + "diff": { + "resources": [ + { + "name": "aws_instance.web_app", + "metadata": {}, + "hourlyCost": "1.017315068493150679", + "monthlyCost": "742.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64" + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + }, + { + "name": "aws_instance.web_app2", + "metadata": {}, + "hourlyCost": "1.785315068493150679", + "monthlyCost": "1303.28", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.8xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "1.536", + "hourlyCost": "1.536", + "monthlyCost": "1121.28" + } + ], + "subresources": [ + { + "name": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + } + ], + "totalHourlyCost": "2.802630136986301358", + "totalMonthlyCost": "2045.92" + }, + "summary": { + "totalDetectedResources": 2, + "totalSupportedResources": 2, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 2, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } + } + ], + "totalHourlyCost": "2.802630136986301358", + "totalMonthlyCost": "2045.92", + "pastTotalHourlyCost": "0", + "pastTotalMonthlyCost": "0", + "diffTotalHourlyCost": "2.802630136986301358", + "diffTotalMonthlyCost": "2045.92", + "timeGenerated": "2022-04-18T10:27:22.533107+01:00", + "summary": { + "totalDetectedResources": 2, + "totalSupportedResources": 2, + "totalUnsupportedResources": 0, + "totalUsageBasedResources": 2, + "totalNoPriceResources": 0, + "unsupportedResourceCounts": {}, + "noPriceResourceCounts": {} + } +} diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden index cca84d14dfe..9378d72cc27 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_current_and_past_project_error/diff_with_compare_to_with_current_and_past_project_error.golden @@ -3,6 +3,7 @@ "metadata": { "infracostCommand": "diff", "vcsBranch": "stub-branch", + "vcsBaseCommitSha": "stub-sha", "vcsCommitSha": "stub-sha", "vcsCommitAuthorName": "stub-author", "vcsCommitAuthorEmail": "stub@stub.com", diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden index 484e5d31c84..787f589a020 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_current_project_error/diff_with_compare_to_with_current_project_error.golden @@ -3,6 +3,7 @@ "metadata": { "infracostCommand": "diff", "vcsBranch": "stub-branch", + "vcsBaseCommitSha": "stub-sha", "vcsCommitSha": "stub-sha", "vcsCommitAuthorName": "stub-author", "vcsCommitAuthorEmail": "stub@stub.com", diff --git a/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden b/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden index afbbe5a03e5..bfaf3a54968 100644 --- a/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden +++ b/cmd/infracost/testdata/diff_with_compare_to_with_past_project_error/diff_with_compare_to_with_past_project_error.golden @@ -3,6 +3,7 @@ "metadata": { "infracostCommand": "diff", "vcsBranch": "stub-branch", + "vcsBaseCommitSha": "stub-sha", "vcsCommitSha": "stub-sha", "vcsCommitAuthorName": "stub-author", "vcsCommitAuthorEmail": "stub@stub.com", diff --git a/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden b/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden index 4e7305b7a09..e5ace3c0330 100644 --- a/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden +++ b/cmd/infracost/testdata/diff_with_free_resources_checksum/diff_with_free_resources_checksum.golden @@ -3,6 +3,7 @@ "metadata": { "infracostCommand": "diff", "vcsBranch": "stub-branch", + "vcsBaseCommitSha": "stub-sha", "vcsCommitSha": "stub-sha", "vcsCommitAuthorName": "stub-author", "vcsCommitAuthorEmail": "stub@stub.com", diff --git a/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden b/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden index 0d5639fb704..c30f2eb104e 100644 --- a/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden +++ b/cmd/infracost/testdata/diff_with_policy_data_upload/diff_with_policy_data_upload.golden @@ -3,6 +3,7 @@ "metadata": { "infracostCommand": "diff", "vcsBranch": "stub-branch", + "vcsBaseCommitSha": "stub-sha", "vcsCommitSha": "stub-sha", "vcsCommitAuthorName": "stub-author", "vcsCommitAuthorEmail": "stub@stub.com", diff --git a/cmd/infracost/testdata/example_diff_out.json b/cmd/infracost/testdata/example_diff_out.json new file mode 100644 index 00000000000..67ba1080cea --- /dev/null +++ b/cmd/infracost/testdata/example_diff_out.json @@ -0,0 +1,546 @@ +{ + "version": "0.2", + "currency": "USD", + "metadata": { + "infracostCommand": "breakdown", + "vcsBranch": "test", + "vcsBaseCommitSha": "base-sha", + "vcsCommitSha": "1234", + "vcsCommitAuthorName": "hugo", + "vcsCommitAuthorEmail": "hugo@test.com", + "vcsCommitTimestamp": "2021-10-11T22:41:00.144866-04:00", + "vcsCommitMessage": "mymessage", + "vcsRepositoryUrl": "https://github.com/infracost/infracost.git" + }, + "projects": [ + { + "name": "infracost/infracost/cmd/infracost/testdata", + "metadata": { + "path": "./cmd/infracost/testdata/", + "type": "terraform_dir", + "vcsSubPath": "cmd/infracost/testdata", + "terraformWorkspace": "default" + }, + "pastBreakdown": { + "resources": [], + "totalHourlyCost": "0", + "totalMonthlyCost": "0" + }, + "breakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "metadata": {}, + "hourlyCost": "1.017315068493150679", + "monthlyCost": "742.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64" + } + ], + "subresources": [ + { + "name": "root_block_device", + "resourceType": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "resourceType": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + }, + { + "name": "aws_instance.zero_cost_instance", + "resourceType": "aws_instance", + "metadata": {}, + "hourlyCost": "0.249315068493150679", + "monthlyCost": "182", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, reserved, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0", + "hourlyCost": "0", + "monthlyCost": "0" + } + ], + "subresources": [ + { + "name": "root_block_device", + "resourceType": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "resourceType": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + }, + { + "name": "aws_lambda_function.hello_world", + "resourceType": "aws_lambda_function", + "metadata": {}, + "hourlyCost": "0.59817465753424657534316749", + "monthlyCost": "436.6675", + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": "0.136986301369863", + "monthlyQuantity": "100", + "price": "0.2", + "hourlyCost": "0.02739726027397260273972", + "monthlyCost": "20" + }, + { + "name": "Duration", + "unit": "GB-seconds", + "hourlyQuantity": "34246.5753424657534247", + "monthlyQuantity": "25000000", + "price": "0.0000166667", + "hourlyCost": "0.57077739726027397260344749", + "monthlyCost": "416.6675" + } + ] + }, + { + "name": "aws_lambda_function.zero_cost_lambda", + "resourceType": "aws_lambda_function", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.2", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "Duration", + "unit": "GB-seconds", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0000166667", + "hourlyCost": "0", + "monthlyCost": "0" + } + ] + }, + { + "name": "aws_s3_bucket.usage", + "resourceType": "aws_s3_bucket", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "subresources": [ + { + "name": "Standard", + "resourceType": "Standard", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "costComponents": [ + { + "name": "Storage", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.023", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "PUT, COPY, POST, LIST requests", + "unit": "1k requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.005", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "GET, SELECT, and all other requests", + "unit": "1k requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0004", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "Select data scanned", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.002", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "Select data returned", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0007", + "hourlyCost": "0", + "monthlyCost": "0" + } + ] + } + ] + } + ], + "totalHourlyCost": "1.86480479452054793334316749", + "totalMonthlyCost": "1361.3075" + }, + "diff": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "metadata": {}, + "hourlyCost": "1.017315068493150679", + "monthlyCost": "742.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64" + } + ], + "subresources": [ + { + "name": "root_block_device", + "resourceType": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "resourceType": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + }, + { + "name": "aws_instance.zero_cost_instance", + "resourceType": "aws_instance", + "metadata": {}, + "hourlyCost": "0.249315068493150679", + "monthlyCost": "182", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, reserved, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0", + "hourlyCost": "0", + "monthlyCost": "0" + } + ], + "subresources": [ + { + "name": "root_block_device", + "resourceType": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5" + } + ] + }, + { + "name": "ebs_block_device[0]", + "resourceType": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125" + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52" + } + ] + } + ] + }, + { + "name": "aws_lambda_function.hello_world", + "resourceType": "aws_lambda_function", + "metadata": {}, + "hourlyCost": "0.59817465753424657534316749", + "monthlyCost": "436.6675", + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": "0.136986301369863", + "monthlyQuantity": "100", + "price": "0.2", + "hourlyCost": "0.02739726027397260273972", + "monthlyCost": "20" + }, + { + "name": "Duration", + "unit": "GB-seconds", + "hourlyQuantity": "34246.5753424657534247", + "monthlyQuantity": "25000000", + "price": "0.0000166667", + "hourlyCost": "0.57077739726027397260344749", + "monthlyCost": "416.6675" + } + ] + }, + { + "name": "aws_lambda_function.zero_cost_lambda", + "resourceType": "aws_lambda_function", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.2", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "Duration", + "unit": "GB-seconds", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0000166667", + "hourlyCost": "0", + "monthlyCost": "0" + } + ] + }, + { + "name": "aws_s3_bucket.usage", + "resourceType": "aws_s3_bucket", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "subresources": [ + { + "name": "Standard", + "resourceType": "Standard", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "costComponents": [ + { + "name": "Storage", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.023", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "PUT, COPY, POST, LIST requests", + "unit": "1k requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.005", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "GET, SELECT, and all other requests", + "unit": "1k requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0004", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "Select data scanned", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.002", + "hourlyCost": "0", + "monthlyCost": "0" + }, + { + "name": "Select data returned", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0007", + "hourlyCost": "0", + "monthlyCost": "0" + } + ] + } + ] + } + ], + "totalHourlyCost": "1.86480479452054793334316749", + "totalMonthlyCost": "1361.3075" + }, + "summary": { + "unsupportedResourceCounts": {} + } + } + ], + "totalHourlyCost": "1.86480479452054793334316749", + "totalMonthlyCost": "1361.3075", + "timeGenerated": "2021-10-11T22:41:00.144866-04:00", + "summary": { + "unsupportedResourceCounts": {} + } +} diff --git a/cmd/infracost/testdata/output_diff_format_json/output_diff_format_json.golden b/cmd/infracost/testdata/output_diff_format_json/output_diff_format_json.golden new file mode 100644 index 00000000000..5cd7019bd92 --- /dev/null +++ b/cmd/infracost/testdata/output_diff_format_json/output_diff_format_json.golden @@ -0,0 +1,588 @@ +{ + "version": "0.2", + "metadata": { + "infracostCommand": "output", + "vcsBranch": "test", + "vcsBaseCommitSha": "base-sha", + "vcsCommitSha": "1234", + "vcsCommitAuthorName": "hugo", + "vcsCommitAuthorEmail": "hugo@test.com", + "vcsCommitTimestamp": "REPLACED_TIME", + "vcsCommitMessage": "mymessage", + "vcsRepositoryUrl": "https://github.com/infracost/infracost.git" + }, + "currency": "USD", + "projects": [ + { + "name": "infracost/infracost/cmd/infracost/testdata", + "displayName": "", + "metadata": { + "path": "./cmd/infracost/testdata/", + "type": "terraform_dir", + "terraformWorkspace": "default", + "vcsSubPath": "cmd/infracost/testdata" + }, + "pastBreakdown": { + "resources": [], + "totalHourlyCost": "0", + "totalMonthlyCost": "0", + "totalMonthlyUsageCost": null + }, + "breakdown": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "metadata": {}, + "hourlyCost": "1.017315068493150679", + "monthlyCost": "742.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "resourceType": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "resourceType": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + }, + { + "name": "aws_instance.zero_cost_instance", + "resourceType": "aws_instance", + "metadata": {}, + "hourlyCost": "0.249315068493150679", + "monthlyCost": "182", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, reserved, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "resourceType": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "resourceType": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + }, + { + "name": "aws_lambda_function.hello_world", + "resourceType": "aws_lambda_function", + "metadata": {}, + "hourlyCost": "0.59817465753424657534316749", + "monthlyCost": "436.6675", + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": "0.136986301369863", + "monthlyQuantity": "100", + "price": "0.2", + "hourlyCost": "0.02739726027397260273972", + "monthlyCost": "20", + "priceNotFound": false + }, + { + "name": "Duration", + "unit": "GB-seconds", + "hourlyQuantity": "34246.5753424657534247", + "monthlyQuantity": "25000000", + "price": "0.0000166667", + "hourlyCost": "0.57077739726027397260344749", + "monthlyCost": "416.6675", + "priceNotFound": false + } + ] + }, + { + "name": "aws_lambda_function.zero_cost_lambda", + "resourceType": "aws_lambda_function", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.2", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "Duration", + "unit": "GB-seconds", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0000166667", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + } + ] + }, + { + "name": "aws_s3_bucket.usage", + "resourceType": "aws_s3_bucket", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "subresources": [ + { + "name": "Standard", + "resourceType": "Standard", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "costComponents": [ + { + "name": "Storage", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.023", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "PUT, COPY, POST, LIST requests", + "unit": "1k requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.005", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "GET, SELECT, and all other requests", + "unit": "1k requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0004", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "Select data scanned", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.002", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "Select data returned", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0007", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + } + ] + } + ] + } + ], + "totalHourlyCost": "1.86480479452054793334316749", + "totalMonthlyCost": "1361.3075", + "totalMonthlyUsageCost": null + }, + "diff": { + "resources": [ + { + "name": "aws_instance.web_app", + "resourceType": "aws_instance", + "metadata": {}, + "hourlyCost": "1.017315068493150679", + "monthlyCost": "742.64", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, on-demand, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0.768", + "hourlyCost": "0.768", + "monthlyCost": "560.64", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "resourceType": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "resourceType": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + }, + { + "name": "aws_instance.zero_cost_instance", + "resourceType": "aws_instance", + "metadata": {}, + "hourlyCost": "0.249315068493150679", + "monthlyCost": "182", + "costComponents": [ + { + "name": "Instance usage (Linux/UNIX, reserved, m5.4xlarge)", + "unit": "hours", + "hourlyQuantity": "1", + "monthlyQuantity": "730", + "price": "0", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + } + ], + "subresources": [ + { + "name": "root_block_device", + "resourceType": "root_block_device", + "metadata": {}, + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "costComponents": [ + { + "name": "Storage (general purpose SSD, gp2)", + "unit": "GB", + "hourlyQuantity": "0.0684931506849315", + "monthlyQuantity": "50", + "price": "0.1", + "hourlyCost": "0.00684931506849315", + "monthlyCost": "5", + "priceNotFound": false + } + ] + }, + { + "name": "ebs_block_device[0]", + "resourceType": "ebs_block_device[0]", + "metadata": {}, + "hourlyCost": "0.242465753424657529", + "monthlyCost": "177", + "costComponents": [ + { + "name": "Storage (provisioned IOPS SSD, io1)", + "unit": "GB", + "hourlyQuantity": "1.3698630136986301", + "monthlyQuantity": "1000", + "price": "0.125", + "hourlyCost": "0.1712328767123287625", + "monthlyCost": "125", + "priceNotFound": false + }, + { + "name": "Provisioned IOPS", + "unit": "IOPS", + "hourlyQuantity": "1.0958904109589041", + "monthlyQuantity": "800", + "price": "0.065", + "hourlyCost": "0.0712328767123287665", + "monthlyCost": "52", + "priceNotFound": false + } + ] + } + ] + }, + { + "name": "aws_lambda_function.hello_world", + "resourceType": "aws_lambda_function", + "metadata": {}, + "hourlyCost": "0.59817465753424657534316749", + "monthlyCost": "436.6675", + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": "0.136986301369863", + "monthlyQuantity": "100", + "price": "0.2", + "hourlyCost": "0.02739726027397260273972", + "monthlyCost": "20", + "priceNotFound": false + }, + { + "name": "Duration", + "unit": "GB-seconds", + "hourlyQuantity": "34246.5753424657534247", + "monthlyQuantity": "25000000", + "price": "0.0000166667", + "hourlyCost": "0.57077739726027397260344749", + "monthlyCost": "416.6675", + "priceNotFound": false + } + ] + }, + { + "name": "aws_lambda_function.zero_cost_lambda", + "resourceType": "aws_lambda_function", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "costComponents": [ + { + "name": "Requests", + "unit": "1M requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.2", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "Duration", + "unit": "GB-seconds", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0000166667", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + } + ] + }, + { + "name": "aws_s3_bucket.usage", + "resourceType": "aws_s3_bucket", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "subresources": [ + { + "name": "Standard", + "resourceType": "Standard", + "metadata": {}, + "hourlyCost": "0", + "monthlyCost": "0", + "costComponents": [ + { + "name": "Storage", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.023", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "PUT, COPY, POST, LIST requests", + "unit": "1k requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.005", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "GET, SELECT, and all other requests", + "unit": "1k requests", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0004", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "Select data scanned", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.002", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + }, + { + "name": "Select data returned", + "unit": "GB", + "hourlyQuantity": "0", + "monthlyQuantity": "0", + "price": "0.0007", + "hourlyCost": "0", + "monthlyCost": "0", + "priceNotFound": false + } + ] + } + ] + } + ], + "totalHourlyCost": "1.86480479452054793334316749", + "totalMonthlyCost": "1361.3075", + "totalMonthlyUsageCost": null + }, + "summary": { + "unsupportedResourceCounts": {} + } + } + ], + "totalHourlyCost": "1.86480479452054793334316749", + "totalMonthlyCost": "1361.3075", + "pastTotalHourlyCost": null, + "pastTotalMonthlyCost": null, + "diffTotalHourlyCost": null, + "diffTotalMonthlyCost": null, + "timeGenerated": "REPLACED_TIME", + "summary": { + "unsupportedResourceCounts": {} + } +} diff --git a/internal/output/metadata.go b/internal/output/metadata.go index 590faf2502a..aa70e410c41 100644 --- a/internal/output/metadata.go +++ b/internal/output/metadata.go @@ -11,6 +11,7 @@ type Metadata struct { InfracostCommand string `json:"infracostCommand"` Branch string `json:"vcsBranch"` + BaseCommitSHA string `json:"vcsBaseCommitSha,omitempty"` CommitSHA string `json:"vcsCommitSha"` CommitAuthorName string `json:"vcsCommitAuthorName"` CommitAuthorEmail string `json:"vcsCommitAuthorEmail"` @@ -38,6 +39,7 @@ func NewMetadata(ctx *config.RunContext) Metadata { m := Metadata{ InfracostCommand: ctx.CMD, Branch: ctx.VCSMetadata.Branch.Name, + BaseCommitSHA: ctx.VCSMetadata.BaseCommit.SHA, CommitSHA: ctx.VCSMetadata.Commit.SHA, CommitAuthorEmail: ctx.VCSMetadata.Commit.AuthorEmail, CommitAuthorName: ctx.VCSMetadata.Commit.AuthorName, diff --git a/internal/vcs/metadata.go b/internal/vcs/metadata.go index 1b05d296225..fb923eb869c 100644 --- a/internal/vcs/metadata.go +++ b/internal/vcs/metadata.go @@ -1056,6 +1056,7 @@ type Metadata struct { Remote Remote Branch Branch Commit Commit + BaseCommit Commit PullRequest *PullRequest Pipeline *Pipeline } diff --git a/schema/infracost.schema.json b/schema/infracost.schema.json index 25b76a34f9a..ceb4194a679 100644 --- a/schema/infracost.schema.json +++ b/schema/infracost.schema.json @@ -124,6 +124,9 @@ "vcsBranch": { "type": "string" }, + "vcsBaseCommitSha": { + "type": "string" + }, "vcsCommitSha": { "type": "string" }, From 307fad9161d9b9f255e2a7f1a5e8498f37d9545a Mon Sep 17 00:00:00 2001 From: Hugo Rut Date: Tue, 7 May 2024 08:57:59 +0200 Subject: [PATCH 50/50] fix: aws/azure failing tests (#3062) Commits the extended support costs for eks cluster and lightsail instance test. Changes the Azure AI services tests meter naming to fix prices not found. This also includes minor changes to the cognitive service pricing. --- internal/output/table.go | 5 ++- .../eks_cluster_test/eks_cluster_test.golden | 6 ++-- .../lightsail_instance_test.golden | 6 ++-- .../cognitive_account_test.golden | 28 ++++++++-------- .../azure/cognitive_account_speech.go | 33 ++++++++++--------- 5 files changed, 41 insertions(+), 37 deletions(-) diff --git a/internal/output/table.go b/internal/output/table.go index 1ab992441ac..1cbe17791d9 100644 --- a/internal/output/table.go +++ b/internal/output/table.go @@ -283,13 +283,16 @@ func buildCostComponentRows(t table.Writer, currency string, costComponents []Co c.Unit, ) + if c.PriceNotFound { + price = "not found" + } + t.AppendRow(table.Row{ label, price, price, price, }, table.RowConfig{AutoMerge: true, AlignAutoMerge: text.AlignLeft}) - } else { var tableRow table.Row tableRow = append(tableRow, label) diff --git a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden index 0c6895e183a..83c24672cbe 100644 --- a/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden +++ b/internal/providers/terraform/aws/testdata/eks_cluster_test/eks_cluster_test.golden @@ -8,7 +8,7 @@ └─ EKS cluster (extended support) 730 hours $438.00 aws_eks_cluster.extended_support["1.25"] - └─ EKS cluster 730 hours $73.00 + └─ EKS cluster (extended support) 730 hours $438.00 aws_eks_cluster.extended_support["1.26"] └─ EKS cluster 730 hours $73.00 @@ -25,7 +25,7 @@ aws_eks_cluster.my_aws_eks_cluster └─ EKS cluster 730 hours $73.00 - OVERALL TOTAL $1,314.00 + OVERALL TOTAL $1,679.00 *Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. @@ -36,5 +36,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $1,314 ┃ $0.00 ┃ $1,314 ┃ +┃ main ┃ $1,679 ┃ $0.00 ┃ $1,679 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden index 364412fb3ac..f94596c63fb 100644 --- a/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden +++ b/internal/providers/terraform/aws/testdata/lightsail_instance_test/lightsail_instance_test.golden @@ -2,12 +2,12 @@ Name Monthly Qty Unit Monthly Cost aws_lightsail_instance.linux1 - └─ Virtual server (Linux/UNIX) 730 hours $78.50 + └─ Virtual server (Linux/UNIX) 730 hours $82.42 aws_lightsail_instance.win1 └─ Virtual server (Windows) 730 hours $19.62 - OVERALL TOTAL $98.12 + OVERALL TOTAL $102.04 *Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. @@ -18,5 +18,5 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $98 ┃ $0.00 ┃ $98 ┃ +┃ main ┃ $102 ┃ $0.00 ┃ $102 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ \ No newline at end of file diff --git a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden index 5c5dde1db45..843588f84b1 100644 --- a/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden +++ b/internal/providers/terraform/azure/testdata/cognitive_account_test/cognitive_account_test.golden @@ -6,12 +6,12 @@ ├─ Speech to text (overage) 100 hours $50.00 ├─ Speech to text (connected container commitment) 50,000 hours $23,750.00 ├─ Speech to text (connected container overage) 100 hours $48.00 - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text batch Monthly cost depends on usage: $0.18 per hours ├─ Speech to text custom model (commitment) 50,000 hours $30,000.00 ├─ Speech to text custom model (overage) 100 hours $60.00 ├─ Speech to text custom model (connected container commitment) 50,000 hours $28,500.00 ├─ Speech to text custom model (connected container overage) 100 hours $56.50 - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.23 per hours ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours ├─ Speech to text enhanced add-ons (commitment) 50,000 hours $7,500.00 @@ -56,12 +56,12 @@ ├─ Speech to text (overage) 100 hours $65.00 ├─ Speech to text (connected container commitment) 10,000 hours $6,175.00 ├─ Speech to text (connected container overage) 100 hours $62.00 - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text batch Monthly cost depends on usage: $0.18 per hours ├─ Speech to text custom model (commitment) 10,000 hours $7,800.00 ├─ Speech to text custom model (overage) 100 hours $78.00 ├─ Speech to text custom model (connected container commitment) 10,000 hours $7,410.00 ├─ Speech to text custom model (connected container overage) 100 hours $73.72 - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.23 per hours ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours ├─ Speech to text enhanced add-ons (commitment) 10,000 hours $1,950.00 @@ -111,12 +111,12 @@ ├─ Speech to text (overage) 100 hours $80.00 ├─ Speech to text (connected container commitment) 2,000 hours $1,520.00 ├─ Speech to text (connected container overage) 100 hours $76.00 - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text batch Monthly cost depends on usage: $0.18 per hours ├─ Speech to text custom model (commitment) 2,000 hours $1,920.00 ├─ Speech to text custom model (overage) 100 hours $96.00 ├─ Speech to text custom model (connected container commitment) 2,000 hours $1,824.00 ├─ Speech to text custom model (connected container overage) 100 hours $90.86 - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.23 per hours ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours ├─ Speech to text enhanced add-ons (commitment) 2,000 hours $480.00 @@ -179,9 +179,9 @@ azurerm_cognitive_account.with_usage["SpeechServices-S0"] ├─ Speech to text 20 hours $20.00 - ├─ Speech to text batch 56 hours $20.16 + ├─ Speech to text batch 56 hours $10.08 ├─ Speech to text custom model 17 hours $20.40 - ├─ Speech to text custom model batch 44 hours $19.80 + ├─ Speech to text custom model batch 44 hours $9.90 ├─ Speech to text custom endpoint hosting 372 hours $20.00 ├─ Speech to text custom training 2 hours $20.00 ├─ Speech to text enhanced add-ons 67 hours $20.10 @@ -217,9 +217,9 @@ └─ Speech requests Monthly cost depends on usage: $5.50 per 1K transactions azurerm_cognitive_account.speech_with_commitment["invalid"] - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text batch Monthly cost depends on usage: $0.18 per hours ├─ Speech to text custom model Monthly cost depends on usage: $1.20 per hours - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.23 per hours ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours ├─ Speech to text enhanced add-ons Monthly cost depends on usage: $0.30 per hours @@ -251,9 +251,9 @@ azurerm_cognitive_account.without_usage["SpeechServices-S0"] ├─ Speech to text Monthly cost depends on usage: $1.00 per hours - ├─ Speech to text batch Monthly cost depends on usage: $0.36 per hours + ├─ Speech to text batch Monthly cost depends on usage: $0.18 per hours ├─ Speech to text custom model Monthly cost depends on usage: $1.20 per hours - ├─ Speech to text custom model batch Monthly cost depends on usage: $0.45 per hours + ├─ Speech to text custom model batch Monthly cost depends on usage: $0.23 per hours ├─ Speech to text custom endpoint hosting Monthly cost depends on usage: $0.05375 per hours ├─ Speech to text custom training Monthly cost depends on usage: $10.00 per hours ├─ Speech to text enhanced add-ons Monthly cost depends on usage: $0.30 per hours @@ -281,7 +281,7 @@ ├─ Customized training Monthly cost depends on usage: $3.00 per hour └─ Text analytics for health (5K-500K) Monthly cost depends on usage: $25.00 per 1K records - OVERALL TOTAL $314,896.73 + OVERALL TOTAL $314,876.75 *Usage costs can be estimated by updating Infracost Cloud settings, see docs for other options. @@ -295,7 +295,7 @@ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃ Project ┃ Baseline cost ┃ Usage cost* ┃ Total cost ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ -┃ main ┃ $314,897 ┃ $0.00 ┃ $314,897 ┃ +┃ main ┃ $314,877 ┃ $0.00 ┃ $314,877 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ Logs: diff --git a/internal/resources/azure/cognitive_account_speech.go b/internal/resources/azure/cognitive_account_speech.go index 9c6570d6349..fff96703ecd 100644 --- a/internal/resources/azure/cognitive_account_speech.go +++ b/internal/resources/azure/cognitive_account_speech.go @@ -4,10 +4,11 @@ import ( "fmt" "strings" + "github.com/shopspring/decimal" + "github.com/infracost/infracost/internal/logging" "github.com/infracost/infracost/internal/resources" "github.com/infracost/infracost/internal/schema" - "github.com/shopspring/decimal" ) var validSpeechCommitmentTierHrs = []int64{2_000, 10_000, 50_000} @@ -191,7 +192,7 @@ func (r *CognitiveAccountSpeech) costComponents() []*schema.CostComponent { } costComponents = append(costComponents, - r.s0HourlyCostComponent("Speech to text batch", "Speech to Text Batch", r.MonthlySpeechToTextBatchHrs), + r.s0HourlyCostComponent("Speech to text batch", "S1 Speech to Text Batch", r.MonthlySpeechToTextBatchHrs), ) if r.MonthlyCommitmentSpeechToTextCustomModelHrs != nil { @@ -205,9 +206,9 @@ func (r *CognitiveAccountSpeech) costComponents() []*schema.CostComponent { } costComponents = append(costComponents, []*schema.CostComponent{ - r.s0HourlyCostComponent("Speech to text custom model batch", "Custom Speech to Text Batch", r.MonthlySpeechToTextCustomModelBatchHrs), - r.s0CostComponent("Speech to text custom endpoint hosting", "Custom Speech Model Hosting Unit", floatPtrToDecimalPtr(r.MonthlySpeechToTextCustomEndpointHrs), "hours", 1, &schema.PriceFilter{Unit: strPtr("1/Hour")}), // This uses a different unit, so we don't want to filter the price by '1 Hour' - r.s0HourlyCostComponent("Speech to text custom training", "Custom Speech Training", r.MonthlySpeechToTextCustomTrainingHrs), + r.s0HourlyCostComponent("Speech to text custom model batch", "S1 Custom Speech to Text Batch", r.MonthlySpeechToTextCustomModelBatchHrs), + r.s0CostComponent("Speech to text custom endpoint hosting", "S1 Custom Speech Model Hosting Unit", floatPtrToDecimalPtr(r.MonthlySpeechToTextCustomEndpointHrs), "hours", 1, &schema.PriceFilter{Unit: strPtr("1/Hour")}), // This uses a different unit, so we don't want to filter the price by '1 Hour' + r.s0HourlyCostComponent("Speech to text custom training", "S1 Custom Speech Training", r.MonthlySpeechToTextCustomTrainingHrs), }...) if r.MonthlyCommitmentSpeechToTextEnhancedAddOnsHrs != nil { @@ -221,7 +222,7 @@ func (r *CognitiveAccountSpeech) costComponents() []*schema.CostComponent { } costComponents = append(costComponents, - r.s0HourlyCostComponent("Speech to text conversation transcription multi-channel audio", "Conversation Transcription Multichannel Audio", r.MonthlySpeechToTextConversationTranscriptionMultiChannelAudioHrs), + r.s0HourlyCostComponent("Speech to text conversation transcription multi-channel audio", "S1 Conversation Transcription Multichannel Audio", r.MonthlySpeechToTextConversationTranscriptionMultiChannelAudioHrs), ) // Text to speech @@ -240,14 +241,14 @@ func (r *CognitiveAccountSpeech) costComponents() []*schema.CostComponent { } } if (r.MonthlyCommitmentTextToSpeechNeuralCommitmentChars == nil && r.MonthlyConnectedContainerCommitmentTextToSpeechNeuralCommitmentChars == nil) || r.MonthlyTextToSpeechNeuralChars != nil { - costComponents = append(costComponents, r.s0CostComponent("Text to speech neural", "Neural Text To Speech Characters", intPtrToDecimalPtr(r.MonthlyTextToSpeechNeuralChars), "1M chars", 1_000_000, nil)) + costComponents = append(costComponents, r.s0CostComponent("Text to speech neural", "S1 Neural Text To Speech Characters", intPtrToDecimalPtr(r.MonthlyTextToSpeechNeuralChars), "1M chars", 1_000_000, nil)) } costComponents = append(costComponents, []*schema.CostComponent{ - r.s0HourlyCostComponent("Text to speech custom neural training", "Custom Neural Training", r.MonthlyTextToSpeechCustomNeuralTrainingHrs), - r.s0CostComponent("Text to speech custom neural", "Custom Neural Realtime Characters", intPtrToDecimalPtr(r.MonthlyTextToSpeechCustomNeuralChars), "1M chars", 1_000_000, nil), - r.s0CostComponent("Text to speech custom neural endpoint hosting", "Custom Neural Voice Model Hosting Unit", floatPtrToDecimalPtr(r.MonthlyTextToSpeechCustomNeuralEndpointHrs), "hours", 1, &schema.PriceFilter{Unit: strPtr("1/Hour")}), // This uses a different unit, so we don't want to filter the price by '1 Hour' - r.s0CostComponent("Text to speech long audio", "Neural Long Audio Characters", intPtrToDecimalPtr(r.MonthlyTextToSpeechLongAudioChars), "1M chars", 1_000_000, nil), + r.s0HourlyCostComponent("Text to speech custom neural training", "S1 Custom Neural Training", r.MonthlyTextToSpeechCustomNeuralTrainingHrs), + r.s0CostComponent("Text to speech custom neural", "S1 Custom Neural Realtime Characters", intPtrToDecimalPtr(r.MonthlyTextToSpeechCustomNeuralChars), "1M chars", 1_000_000, nil), + r.s0CostComponent("Text to speech custom neural endpoint hosting", "S1 Custom Neural Voice Model Hosting Unit", floatPtrToDecimalPtr(r.MonthlyTextToSpeechCustomNeuralEndpointHrs), "hours", 1, &schema.PriceFilter{Unit: strPtr("1/Hour")}), // This uses a different unit, so we don't want to filter the price by '1 Hour' + r.s0CostComponent("Text to speech long audio", "S1 Neural Long Audio Characters", intPtrToDecimalPtr(r.MonthlyTextToSpeechLongAudioChars), "1M chars", 1_000_000, nil), }...) costComponents = append(costComponents, r.personalVoiceCostComponents()...) @@ -255,18 +256,18 @@ func (r *CognitiveAccountSpeech) costComponents() []*schema.CostComponent { // Speech translation costComponents = append(costComponents, - r.s0HourlyCostComponent("Speech translation", "Speech Translation", r.MonthlySpeechTranslationHrs), + r.s0HourlyCostComponent("Speech translation", "S1 Speech Translation", r.MonthlySpeechTranslationHrs), ) // Speaker recognition costComponents = append(costComponents, []*schema.CostComponent{ - r.s0CostComponent("Speaker verification", "Speaker Verification Transactions", intPtrToDecimalPtr(r.MonthlySpeakerVerificationTransactions), "1K transactions", 1_000, nil), - r.s0CostComponent("Speaker identification", "Speaker Identification Transactions", intPtrToDecimalPtr(r.MonthlySpeakerIdentificationTransactions), "1K transactions", 1_000, nil), + r.s0CostComponent("Speaker verification", "S1 Speaker Verification Transactions", intPtrToDecimalPtr(r.MonthlySpeakerVerificationTransactions), "1K transactions", 1_000, nil), + r.s0CostComponent("Speaker identification", "S1 Speaker Identification Transactions", intPtrToDecimalPtr(r.MonthlySpeakerIdentificationTransactions), "1K transactions", 1_000, nil), }...) // Voice profiles costComponents = append(costComponents, - r.s0CostComponent("Voice profiles", "Voice Storage", intPtrToDecimalPtr(r.MonthlyVoiceProfiles), "1K profiles", 1_000, nil), + r.s0CostComponent("Voice profiles", "S1 Voice Storage", intPtrToDecimalPtr(r.MonthlyVoiceProfiles), "1K profiles", 1_000, nil), ) return costComponents @@ -331,7 +332,7 @@ func (r *CognitiveAccountSpeech) personalVoiceCostComponents() []*schema.CostCom AttributeFilters: []*schema.AttributeFilter{ {Key: "productName", Value: strPtr("Speech")}, {Key: "skuName", Value: strPtr("Text to Speech - Personal Voice")}, - {Key: "meterName", Value: strPtr("Voice Storage")}, + {Key: "meterName", Value: strPtr("Text to Speech - Personal Voice Voice Storage")}, }, }, },