Terraform Provider for Google Cloud Platform
This report summarizes scanner evidence for hashicorp/terraform-provider-google, a Go project with 2,671 GitHub stars. SynthScan examined 2,575,974 lines of code across 14978 source files, recording 5102 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 2.1 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 5061 finding(s).
Are imports declared and package/API names verified? 36 finding(s).
Are wrappers, guards, and repeated structures necessary? 8 finding(s).
Which changes need focused human review? 5102 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 5102 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | main.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/common_diff_suppress_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/utils_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/list_resource.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/labels.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/import.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/labels_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/layer7_ddos_defense_missing.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/common_operation_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/service_scope.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/self_link_helpers_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/convert.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/common_operation.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/common_operation.go | 181 | // The cloud resource manager API operation is an example of one of many | COMMENT |
| LOW | google/tpgresource/import_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/common_diff_suppress.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/customdiff.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/datasource_helpers.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/resource_test_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/field_helpers.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/hashcode.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/field_helpers_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/convert_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/regional_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/annotations.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/tpgresource/self_link_helpers.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/sweeper/gcp_sweeper_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/sweeper/hashi_sweeper_fork.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/sweeper/sweeper_inventory_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/sweeper/hashi_sweeper_fork_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/sweeper/gcp_sweeper.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/transport.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/header_transport.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/list_array_pages_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/base_url.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/config.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/retry_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/retry_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/error_retry_predicates_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/mutexkv.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/batcher_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/retry_transport.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/retry_transport.go | 21 | // especially if the expected state (operation done, resource ready, etc) | COMMENT |
| LOW | google/transport/error_retry_predicates.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/transport_test_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/common_polling.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/base_url_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/config_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/batcher.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/config_test_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/transport/retry_transport_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/acctest/vcr_utils_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/acctest/test_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/acctest/test_utils.go | 321 | // This is a Printf sibling (Nprintf; Named Printf), which handles strings like | COMMENT |
| LOW | google/acctest/tgc_utils_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/acctest/tgc_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/acctest/diff_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/acctest/vcr_utils.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | google/acctest/diff_utils_test.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| 4807 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | google/services/redis/resource_redis_cluster_test.go | 638 | // Step 1: Find the backup collection ID for this cluster | COMMENT |
| LOW | …ices/memorystore/resource_memorystore_instance_test.go | 1914 | // Step 1: Create instance with Customer Managed CAS | COMMENT |
| LOW | …/services/container/resource_container_cluster_test.go | 18871 | // Step 1: Create with Manual Config (ANP Off) | COMMENT |
| LOW | …/services/container/resource_container_cluster_test.go | 18887 | // Step 2: Remove Manual Config (Expect Replacement) | COMMENT |
| LOW | …/services/container/resource_container_cluster_test.go | 18907 | // Step 3: Enable ANP (Auto) (Expect Replacement Again) | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 2074 | // Step 3: Update to re-enable maintenance exclusion | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7447 | // Step 1: Create with Manual Config (ANP Off) | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7463 | // Step 2: Remove Manual Config (Expect Replacement) | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7482 | // Step 3: Enable ANP (Auto) (Expect Replacement Again) | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7530 | // Step 3: Flip ignore_node_count_changes to false and set node_count = 3 (matching GKE cloud state). | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7543 | // Step 4: Now that drift detection is active (flag is false in state), set node_count = 2. | COMMENT |
| LOW⚡ | google/services/compute/resource_compute_disk_test.go | 458 | // Step 1: Create disk with high performance | COMMENT |
| LOW⚡ | google/services/compute/resource_compute_disk_test.go | 466 | // Step 2: Decrease both simultaneously (The Atomic Fix) | COMMENT |
| LOW⚡ | …ces/compute/resource_compute_network_endpoints_test.go | 343 | // Step 1: Add E1 with IPv6_1 + PORT (VM1) | COMMENT |
| LOW⚡ | …ces/compute/resource_compute_network_endpoints_test.go | 353 | // Step 2: Add E2 with IPv6_2 + PORT (VM2) alongside E1 | COMMENT |
| LOW | …ces/compute/resource_compute_network_endpoints_test.go | 368 | // Step 3: Detach E2, verify E1 remains and Terraform distinguishes both entities | COMMENT |
| LOW | …ces/compute/resource_compute_network_endpoints_test.go | 383 | // Step 4: Dual-stack: E1 via IPv4 for VM1 and E2 via IPv6 for VM2 | COMMENT |
| LOW | …ces/compute/resource_compute_network_endpoints_test.go | 398 | // Step 5: Update E2's IP to IPv6 of VM1 while E1 remains IPv4 of VM1 | COMMENT |
| LOW | …ces/compute/resource_compute_network_endpoints_test.go | 413 | // Step 6: Remove all endpoints and verify no leftover NEs remain | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 725 | // Step 1: Create SA without endpoint_url (Required by API) | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 729 | // Step 2: Update with numerical ID-based endpoint_url | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 847 | // Step 1: Create the Service Attachment with limit = 1 | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 851 | // Step 2: Update the limit to 2 | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 943 | // Step 1: Create the resource with TWO projects in the accept list | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 947 | // Step 2: Update the resource by adding a THIRD project | COMMENT |
| LOW⚡ | …ices/compute/resource_compute_network_endpoint_test.go | 271 | // Step 1: Add E1 with IPv6_1 + PORT | COMMENT |
| LOW⚡ | …ices/compute/resource_compute_network_endpoint_test.go | 280 | // Step 2: Add E2 with IPv6_2 + PORT alongside E1 | COMMENT |
| LOW | …ices/compute/resource_compute_network_endpoint_test.go | 300 | // Step 3: Detach E2, ensuring E1 remains | COMMENT |
| LOW | …ices/compute/resource_compute_network_endpoint_test.go | 315 | // Step 4: Dual-stack - E1 via IPv4 for VM1 and E2 via IPv6 for VM2 | COMMENT |
| LOW | …ices/compute/resource_compute_network_endpoint_test.go | 335 | // Step 5: Dual-stack update - update E2 to IPv6 of VM1 while E1 is IPv4 of VM1 | COMMENT |
| LOW | …ices/compute/resource_compute_network_endpoint_test.go | 355 | // Step 6: Remove all endpoints and verify no leftover NEs remain | COMMENT |
| LOW⚡ | …e/services/compute/resource_compute_subnetwork_test.go | 754 | // Step 1: Create IPv4 Network and Subnetwork | COMMENT |
| LOW⚡ | …e/services/compute/resource_compute_subnetwork_test.go | 763 | // Step 2: Update Subnetwork to Dual Stack with IP Collection | COMMENT |
| LOW⚡ | …e/services/compute/resource_compute_subnetwork_test.go | 823 | // Step 1: Create IPv4 Network, Subnetwork and VM1 | COMMENT |
| LOW⚡ | …e/services/compute/resource_compute_subnetwork_test.go | 833 | // Step 2: Update Subnetwork to Dual Stack with IP Collection and Add VM2 (dual-stack) | COMMENT |
| LOW⚡ | …vices/compute/resource_compute_backend_service_test.go | 2939 | // Step 1: Explicitly set to a single space (simulating API state) | COMMENT |
| LOW⚡ | …vices/compute/resource_compute_backend_service_test.go | 2943 | // Step 2: Remove it from config (set to empty) | COMMENT |
| LOW | …/resource_chronicle_data_table_deletion_policy_test.go | 77 | // Step 1: Create table and a row, with Deletion policy FORCE. | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 46 | // Step 1: Create initial row | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 54 | // Step 2: Import Check | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 62 | // Step 3: Update only rowTimeToLive (updatable) -> Expect UPDATE | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 75 | // Step 4: Import Check | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 83 | // Step 5: Update only values (immutable) -> Expect REPLACE | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 96 | // Step 6: Import Check | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 104 | // Step 7: Update both rowTimeToLive (updatable) and values (immutable) -> Expect REPLACE | COMMENT |
| LOW | …es/chronicle/resource_chronicle_data_table_row_test.go | 117 | // Step 8: Final Import Check | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 50 | // Step 1: Basic creation | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 59 | // Step 2: Import check | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 66 | // Step 3: Update mutable fields (description, row_time_to_live) | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 80 | // Step 4: Import check after mutable update | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 87 | // Step 5: Attempt to update an immutable field (column_info.0.original_column) | COMMENT |
| LOW | …rvices/chronicle/resource_chronicle_data_table_test.go | 101 | // Step 6: Final import check after immutable change (Force New) | COMMENT |
| LOW⚡ | google/services/sql/resource_sql_database_test.go | 223 | // Step 2: Update activation_policy to NEVER | COMMENT |
| LOW⚡ | google/services/sql/resource_sql_database_test.go | 227 | // Step 3: Refresh to verify no errors | COMMENT |
| LOW⚡ | google/services/sql/resource_sql_database_test.go | 231 | // Step 4: Update activation_policy to ALWAYS so that post-test destroy code is able to delete the google_sql_databas | COMMENT |
| LOW⚡ | …le/services/sql/resource_sql_database_instance_test.go | 5423 | // Step 1: Create MYSQL_8_0 instance WITH BGD block in Step 1. | COMMENT |
| LOW⚡ | …le/services/sql/resource_sql_database_instance_test.go | 5432 | // Step 2: Switchover to TARGET with delete_old_source_on_destroy = false. | COMMENT |
| LOW⚡ | …le/services/sql/resource_sql_database_instance_test.go | 5547 | // Step 1: Create a MYSQL_8_0 instance with a BGD targeting MYSQL_8_4. | COMMENT |
| LOW⚡ | …le/services/sql/resource_sql_database_instance_test.go | 5557 | // Step 2: In one apply, remove the BGD block and upgrade the instance in place to MYSQL_8_4. | COMMENT |
| LOW | …le/services/sql/resource_sql_database_instance_test.go | 5244 | // Step 1: Create MYSQL_8_0 Blue instance via Terraform with no BGD block. | COMMENT |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | google/services/redis/resource_redis_cluster_test.go | 638 | // Step 1: Find the backup collection ID for this cluster | COMMENT |
| LOW | …ices/memorystore/resource_memorystore_instance_test.go | 1914 | // Step 1: Create instance with Customer Managed CAS | COMMENT |
| LOW | …/services/container/resource_container_cluster_test.go | 18871 | // Step 1: Create with Manual Config (ANP Off) | COMMENT |
| LOW | …/services/container/resource_container_cluster_test.go | 18887 | // Step 2: Remove Manual Config (Expect Replacement) | COMMENT |
| LOW | …/services/container/resource_container_cluster_test.go | 18907 | // Step 3: Enable ANP (Auto) (Expect Replacement Again) | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 2074 | // Step 3: Update to re-enable maintenance exclusion | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7447 | // Step 1: Create with Manual Config (ANP Off) | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7463 | // Step 2: Remove Manual Config (Expect Replacement) | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7482 | // Step 3: Enable ANP (Auto) (Expect Replacement Again) | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7530 | // Step 3: Flip ignore_node_count_changes to false and set node_count = 3 (matching GKE cloud state). | COMMENT |
| LOW | …ervices/container/resource_container_node_pool_test.go | 7543 | // Step 4: Now that drift detection is active (flag is false in state), set node_count = 2. | COMMENT |
| LOW⚡ | google/services/compute/resource_compute_disk_test.go | 458 | // Step 1: Create disk with high performance | COMMENT |
| LOW⚡ | google/services/compute/resource_compute_disk_test.go | 466 | // Step 2: Decrease both simultaneously (The Atomic Fix) | COMMENT |
| LOW⚡ | …ces/compute/resource_compute_network_endpoints_test.go | 343 | // Step 1: Add E1 with IPv6_1 + PORT (VM1) | COMMENT |
| LOW⚡ | …ces/compute/resource_compute_network_endpoints_test.go | 353 | // Step 2: Add E2 with IPv6_2 + PORT (VM2) alongside E1 | COMMENT |
| LOW | …ces/compute/resource_compute_network_endpoints_test.go | 368 | // Step 3: Detach E2, verify E1 remains and Terraform distinguishes both entities | COMMENT |
| LOW | …ces/compute/resource_compute_network_endpoints_test.go | 383 | // Step 4: Dual-stack: E1 via IPv4 for VM1 and E2 via IPv6 for VM2 | COMMENT |
| LOW | …ces/compute/resource_compute_network_endpoints_test.go | 398 | // Step 5: Update E2's IP to IPv6 of VM1 while E1 remains IPv4 of VM1 | COMMENT |
| LOW | …ces/compute/resource_compute_network_endpoints_test.go | 413 | // Step 6: Remove all endpoints and verify no leftover NEs remain | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 725 | // Step 1: Create SA without endpoint_url (Required by API) | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 729 | // Step 2: Update with numerical ID-based endpoint_url | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 847 | // Step 1: Create the Service Attachment with limit = 1 | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 851 | // Step 2: Update the limit to 2 | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 943 | // Step 1: Create the resource with TWO projects in the accept list | COMMENT |
| LOW⚡ | …es/compute/resource_compute_service_attachment_test.go | 947 | // Step 2: Update the resource by adding a THIRD project | COMMENT |
| LOW⚡ | …ices/compute/resource_compute_network_endpoint_test.go | 271 | // Step 1: Add E1 with IPv6_1 + PORT | COMMENT |
| LOW⚡ | …ices/compute/resource_compute_network_endpoint_test.go | 280 | // Step 2: Add E2 with IPv6_2 + PORT alongside E1 | COMMENT |
| LOW | …ices/compute/resource_compute_network_endpoint_test.go | 300 | // Step 3: Detach E2, ensuring E1 remains | COMMENT |
| LOW | …ices/compute/resource_compute_network_endpoint_test.go | 315 | // Step 4: Dual-stack - E1 via IPv4 for VM1 and E2 via IPv6 for VM2 | COMMENT |
| LOW | …ices/compute/resource_compute_network_endpoint_test.go | 335 | // Step 5: Dual-stack update - update E2 to IPv6 of VM1 while E1 is IPv4 of VM1 | COMMENT |
| LOW | …ices/compute/resource_compute_network_endpoint_test.go | 355 | // Step 6: Remove all endpoints and verify no leftover NEs remain | COMMENT |
| LOW⚡ | …e/services/compute/resource_compute_subnetwork_test.go | 754 | // Step 1: Create IPv4 Network and Subnetwork | COMMENT |
| LOW⚡ | …e/services/compute/resource_compute_subnetwork_test.go | 763 | // Step 2: Update Subnetwork to Dual Stack with IP Collection | COMMENT |
| LOW⚡ | …e/services/compute/resource_compute_subnetwork_test.go | 823 | // Step 1: Create IPv4 Network, Subnetwork and VM1 | COMMENT |
| LOW⚡ | …e/services/compute/resource_compute_subnetwork_test.go | 833 | // Step 2: Update Subnetwork to Dual Stack with IP Collection and Add VM2 (dual-stack) | COMMENT |
| LOW⚡ | …vices/compute/resource_compute_backend_service_test.go | 2939 | // Step 1: Explicitly set to a single space (simulating API state) | COMMENT |
| LOW⚡ | …vices/compute/resource_compute_backend_service_test.go | 2943 | // Step 2: Remove it from config (set to empty) | COMMENT |
| LOW | …/resource_chronicle_data_table_deletion_policy_test.go | 77 | // Step 1: Create table and a row, with Deletion policy FORCE. | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 46 | // Step 1: Create initial row | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 54 | // Step 2: Import Check | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 62 | // Step 3: Update only rowTimeToLive (updatable) -> Expect UPDATE | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 75 | // Step 4: Import Check | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 83 | // Step 5: Update only values (immutable) -> Expect REPLACE | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 96 | // Step 6: Import Check | COMMENT |
| LOW⚡ | …es/chronicle/resource_chronicle_data_table_row_test.go | 104 | // Step 7: Update both rowTimeToLive (updatable) and values (immutable) -> Expect REPLACE | COMMENT |
| LOW | …es/chronicle/resource_chronicle_data_table_row_test.go | 117 | // Step 8: Final Import Check | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 50 | // Step 1: Basic creation | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 59 | // Step 2: Import check | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 66 | // Step 3: Update mutable fields (description, row_time_to_live) | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 80 | // Step 4: Import check after mutable update | COMMENT |
| LOW⚡ | …rvices/chronicle/resource_chronicle_data_table_test.go | 87 | // Step 5: Attempt to update an immutable field (column_info.0.original_column) | COMMENT |
| LOW | …rvices/chronicle/resource_chronicle_data_table_test.go | 101 | // Step 6: Final import check after immutable change (Force New) | COMMENT |
| LOW⚡ | google/services/sql/resource_sql_database_test.go | 223 | // Step 2: Update activation_policy to NEVER | COMMENT |
| LOW⚡ | google/services/sql/resource_sql_database_test.go | 227 | // Step 3: Refresh to verify no errors | COMMENT |
| LOW⚡ | google/services/sql/resource_sql_database_test.go | 231 | // Step 4: Update activation_policy to ALWAYS so that post-test destroy code is able to delete the google_sql_databas | COMMENT |
| LOW⚡ | …le/services/sql/resource_sql_database_instance_test.go | 5423 | // Step 1: Create MYSQL_8_0 instance WITH BGD block in Step 1. | COMMENT |
| LOW⚡ | …le/services/sql/resource_sql_database_instance_test.go | 5432 | // Step 2: Switchover to TARGET with delete_old_source_on_destroy = false. | COMMENT |
| LOW⚡ | …le/services/sql/resource_sql_database_instance_test.go | 5547 | // Step 1: Create a MYSQL_8_0 instance with a BGD targeting MYSQL_8_4. | COMMENT |
| LOW⚡ | …le/services/sql/resource_sql_database_instance_test.go | 5557 | // Step 2: In one apply, remove the BGD block and upgrade the instance in place to MYSQL_8_4. | COMMENT |
| LOW | …le/services/sql/resource_sql_database_instance_test.go | 5244 | // Step 1: Create MYSQL_8_0 Blue instance via Terraform with no BGD block. | COMMENT |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | google/provider/provider_billing_project_test.go | 273 | # Create a new project and enable service APIs in those projects | COMMENT |
| MEDIUM⚡ | …vice_networking_vpc_service_controls_generated_test.go | 94 | # Create a VPC | COMMENT |
| MEDIUM⚡ | …vice_networking_vpc_service_controls_generated_test.go | 99 | # Create an IP address | COMMENT |
| MEDIUM⚡ | …vice_networking_vpc_service_controls_generated_test.go | 108 | # Create a private connection | COMMENT |
| MEDIUM⚡ | …source_service_networking_vpc_service_controls_test.go | 61 | # Create a VPC | COMMENT |
| MEDIUM⚡ | …source_service_networking_vpc_service_controls_test.go | 66 | # Create an IP address | COMMENT |
| MEDIUM⚡ | …source_service_networking_vpc_service_controls_test.go | 75 | # Create a private connection | COMMENT |
| MEDIUM | …/netapp/resource_netapp_storage_pool_generated_test.go | 100 | # Create a storage pool | COMMENT |
| MEDIUM | google/services/redis/resource_redis_cluster_test.go | 543 | # Create a GCS bucket for exporting Redis backups | COMMENT |
| MEDIUM | google/services/redis/resource_redis_cluster_test.go | 595 | # Create a Redis cluster that imports from the GCS bucket | COMMENT |
| MEDIUM | …ogle/services/dataplex/resource_dataplex_entry_test.go | 986 | # Define the table schema | COMMENT |
| MEDIUM | …ogle/services/dataplex/resource_dataplex_entry_test.go | 1125 | # Define the table schema | COMMENT |
| MEDIUM | …ces/dataplex/resource_dataplex_entry_generated_test.go | 414 | # Define the table schema | COMMENT |
| MEDIUM | …connect/resource_firebase_data_connect_service_test.go | 81 | # Create an FDC service | COMMENT |
| MEDIUM | …source_firebase_data_connect_service_generated_test.go | 101 | # Create a Firebase Data Connect service | COMMENT |
| MEDIUM | …source_firebase_data_connect_service_generated_test.go | 165 | # Create a Firebase Data Connect service | COMMENT |
| MEDIUM | …ices/memorystore/resource_memorystore_instance_test.go | 909 | # Create a GCS bucket for exporting Memorystore backups | COMMENT |
| MEDIUM | …es/storage/resource_storage_hmac_key_generated_test.go | 94 | # Create a new service account | COMMENT |
| MEDIUM | …es/storage/resource_storage_hmac_key_generated_test.go | 99 | #Create the HMAC key for the associated service account | COMMENT |
| MEDIUM | …set/resource_cloud_asset_folder_feed_generated_test.go | 98 | # Create a feed that sends notifications about network resource updates under a | COMMENT |
| MEDIUM | …source_cloud_asset_organization_feed_generated_test.go | 97 | # Create a feed that sends notifications about network resource updates under a | COMMENT |
| MEDIUM | …et/resource_cloud_asset_project_feed_generated_test.go | 96 | # Create a feed that sends notifications about network resource updates. | COMMENT |
| MEDIUM | …s/vmwareengine/resource_vmwareengine_datastore_test.go | 152 | # Create a filestore instance with delete protection enabled | COMMENT |
| MEDIUM | …s/vmwareengine/resource_vmwareengine_datastore_test.go | 171 | # Create a VmwareEngine Datastore, referencing the filestore instance | COMMENT |
| MEDIUM | …s/vmwareengine/resource_vmwareengine_datastore_test.go | 231 | # Create a network or use datasource to reference existing network | COMMENT |
| MEDIUM | …s/vmwareengine/resource_vmwareengine_datastore_test.go | 236 | # Create a Netapp storage pool | COMMENT |
| MEDIUM | …s/vmwareengine/resource_vmwareengine_datastore_test.go | 252 | # Create a netapp volume | COMMENT |
| MEDIUM | …s/vmwareengine/resource_vmwareengine_datastore_test.go | 264 | # Create a VmwareEngine Datastore, referencing the netapp volume | COMMENT |
| MEDIUM | …ces/vmwareengine/resource_vmwareengine_cluster_test.go | 141 | # Create a filestore instance with delete protection enabled | COMMENT |
| MEDIUM | …ces/vmwareengine/resource_vmwareengine_cluster_test.go | 212 | # Create a VmwareEngine Datastore, referencing the filestore instance | COMMENT |
| MEDIUM | …ces/vmwareengine/resource_vmwareengine_cluster_test.go | 283 | # Create a filestore instance with delete protection enabled | COMMENT |
| MEDIUM | …ces/vmwareengine/resource_vmwareengine_cluster_test.go | 355 | # Create a VmwareEngine Datastore, referencing the filestore instance | COMMENT |
| MEDIUM | …le/services/dataproc/resource_dataproc_cluster_test.go | 2150 | # Create a subnet with Private IP Access enabled to test | COMMENT |
| MEDIUM | examples/vpn/vpn.tf | 8 | # Create the two networks we want to join. They must have separate, internal | COMMENT |
| MEDIUM | examples/vpn/vpn.tf | 33 | # Create an outward facing static IP for each VPN that will be used by the | COMMENT |
| MEDIUM | examples/shared-vpc/main.tf | 109 | # Create the hosted network. | COMMENT |
| MEDIUM | examples/shared-vpc/main.tf | 137 | # Create a standalone network with the same firewall rules. | COMMENT |
| MEDIUM | examples/shared-vpc/main.tf | 161 | # Create a VM which hosts a web page stating its identity ("VM1") | COMMENT |
| MEDIUM | examples/shared-vpc/main.tf | 191 | # Create a VM which hosts a web page demonstrating the example networking. | COMMENT |
| MEDIUM | examples/shared-vpc/main.tf | 228 | # Create a VM which hosts a web page stating its identity ("standalone"). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …rvices/kms/data_source_google_kms_secret_asymmetric.go | 127 | result, err := client.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.AsymmetricDecrypt(cryptoKeyVersion, &req | CODE |
| CRITICAL | google/services/kms/resource_kms_crypto_key_test.go | 399 | response, err := kms.NewClient(config, config.UserAgent).Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.List | CODE |
| CRITICAL | google/services/kms/bootstrap_test_utils.go | 108 | cryptoKey, err := kmsClient.Projects.Locations.KeyRings.CryptoKeys.Get(keyName).Do() | CODE |
| CRITICAL | google/services/kms/bootstrap_test_utils.go | 125 | cryptoKey, err = kmsClient.Projects.Locations.KeyRings.CryptoKeys.Create(keyParent, &newKey). | CODE |
| CRITICAL | google/services/kms/bootstrap_test_utils.go | 141 | ckvResp, err := kmsClient.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.List(keyName).Do() | CODE |
| CRITICAL | …ervices/container/resource_container_node_pool_test.go | 7633 | op, err := gkeClient.Projects.Locations.Clusters.NodePools.SetSize(fqName, req).Do() | CODE |
| CRITICAL | google/services/container/container_operation.go | 99 | opGetCall := w.Service.Projects.Locations.Operations.Get(name) | CODE |
| CRITICAL | google/services/dataproc/dataproc_job_operation.go | 67 | job, err := w.Service.Projects.Regions.Jobs.Get(w.ProjectId, w.Region, w.JobId).Do() | CODE |
| CRITICAL | google/services/dataproc/dataproc_job_operation.go | 122 | job, err := w.Service.Projects.Regions.Jobs.Get(w.ProjectId, w.Region, w.JobId).Do() | CODE |
| CRITICAL | google/services/dataproc/dataproc_cluster_operation.go | 38 | return w.Service.Projects.Regions.Operations.Get(w.Op.Name).Do() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | google/test-fixtures/fake_account.json | 4 | "client_email": "foo@bar.com", | CODE |
| LOW | …/resource_essential_contacts_contact_generated_test.go | 98 | email = "foo@bar.com" | CODE |
| LOW⚡ | …rivileged_access_manager_entitlement_generated_test.go | 119 | "user@example.com", | CODE |
| LOW⚡ | …rivileged_access_manager_entitlement_generated_test.go | 122 | "user@example.com" | CODE |
| LOW⚡ | …rivileged_access_manager_entitlement_generated_test.go | 131 | "user@example.com" | CODE |
| LOW⚡ | …resource_privileged_access_manager_entitlement_test.go | 114 | admin_email_recipients = ["user@example.com"] | CODE |
| LOW⚡ | …resource_privileged_access_manager_entitlement_test.go | 115 | requester_email_recipients = ["user@example.com"] | CODE |
| LOW⚡ | …resource_privileged_access_manager_entitlement_test.go | 122 | approver_email_recipients = ["user@example.com"] | CODE |
| LOW | …rtexai/resource_vertex_ai_custom_job_generated_test.go | 301 | content = "placeholder" | CODE |
| LOW | …ompute/resource_compute_interconnect_generated_test.go | 106 | noc_contact_email = "user@example.com" | CODE |
| LOW | …gle/services/compute/resource_compute_instance_test.go | 10749 | subnetwork_project = "placeholder" | CODE |
| LOW | …rce_compute_interconnect_attachment_l2_enabled_test.go | 75 | noc_contact_email = "user@example.com" | CODE |
| LOW | …s/compute/resource_compute_interconnect_macsec_test.go | 84 | noc_contact_email = "user@example.com" | CODE |
| LOW | …s/compute/resource_compute_interconnect_macsec_test.go | 107 | noc_contact_email = "user@example.com" | CODE |
| LOW | …s/compute/resource_compute_interconnect_macsec_test.go | 169 | noc_contact_email = "user@example.com" | CODE |
| LOW | …s/compute/resource_compute_interconnect_macsec_test.go | 197 | noc_contact_email = "user@example.com" | CODE |
| LOW | …vices/biglake/resource_biglake_table_generated_test.go | 154 | "owner" = "John Doe" | CODE |
| LOW | …es/biglake/resource_biglake_database_generated_test.go | 121 | "owner": "John Doe" | CODE |
| LOW | …gle/services/biglake/resource_biglake_database_test.go | 93 | "owner": "Jane Doe" | CODE |
| LOW | …/resource_secure_source_manager_hook_generated_test.go | 188 | sensitive_query_string = "auth=fake_token" | CODE |
| LOW | …ger/resource_secure_source_manager_hook_update_test.go | 89 | sensitive_query_string = "auth=fake_token" | CODE |
| LOW | …ger/resource_secure_source_manager_hook_update_test.go | 122 | sensitive_query_string = "auth=fake_token" | CODE |
| LOW | …/dialogflowcx/resource_dialogflow_cx_generator_test.go | 103 | name = "placeholder" | CODE |
| LOW | …urce_monitoring_notification_channel_generated_test.go | 97 | email_address = "fake_email@blahblah.com" | CODE |
| LOW | …oring/resource_monitoring_notification_channel_test.go | 37 | Config: testAccMonitoringNotificationChannel_update("email", `email_address = "fake_email@blahblah.com"`, "true"), | CODE |
| LOW | …ors/resource_integration_connectors_connection_test.go | 993 | subject = "johndoe@example.org" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | google/services/agenticapplications/product.go | 18 | // Package agenticapplications contains resources, datasources, etc. for the agentic applications service. | COMMENT |
| MEDIUM | google/services/ces/ces_agent_test.go | 440 | // guardrails = [ | COMMENT |
| MEDIUM | …vertexai/resource_vertex_ai_rag_file_generated_test.go | 138 | # The RAG Engine service agent is created on first use of RAG Engine, so grant it | COMMENT |
| MEDIUM | …vertexai/resource_vertex_ai_rag_file_generated_test.go | 250 | # The RAG Engine service agent is created on first use of RAG Engine, so grant it | COMMENT |
| MEDIUM | …vertexai/resource_vertex_ai_rag_file_generated_test.go | 361 | # The RAG Engine service agent is created on first use of RAG Engine, so grant it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …gle/services/iam3/resource_iam_folder_access_policy.go | 0 | "conditions": { "iam.googleapis.com": { "expression": } } | STRING |
| HIGH | …rvices/iam3/resource_iam_organization_access_policy.go | 0 | "conditions": { "iam.googleapis.com": { "expression": } } | STRING |
| HIGH | …le/services/iam3/resource_iam_project_access_policy.go | 0 | "conditions": { "iam.googleapis.com": { "expression": } } | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | google/services/netapp/resource_netapp_volume.go | 67 | // If "/locations" is not found in either string, they can't be compared as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/example-versioned-module/main.tf | 38 | # Display outputs from each block | COMMENT |
| LOW | scripts/get_unit_test_pkgs.sh | 9 | # Check if any file in this directory has a test. | COMMENT |
| LOW | .github/reviewer-lottery.yml | 19 | # Set 0 to add all the reviewers (default: 0) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | google/services/ces/ces_agent_test.go | 456 | python_code = "def should_trigger_transfer_callback(callback_context): return True" | CODE |
| LOW | google/services/ces/ces_tool_test.go | 1074 | python_code = "def transform_function_updated(x: int) -> int: return x" | CODE |
| LOW | …ces/vmwareengine/resource_vmwareengine_cluster_test.go | 528 | // Unit test for function RemoveDatastoreMountConfigFieldFromUpdateMask() | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …le/services/resourcemanager/resource_google_project.go | 952 | // waits for service enablement status to propagate. Essentially, it waits until | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …vertexai/test-fixtures/mds_agent_src/metadata_agent.py | 10 | except Exception: | CODE |
| LOW | …ervices/vertexai/test-fixtures/agent_src/entrypoint.py | 22 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/services/bigtable/resource_bigtable_gc_policy_test.go | 246 | // TODO: Add test to verify no data loss | COMMENT |