diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4d36937..9304dc64 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,13 +26,13 @@ jobs: steps: ## sets up go based on the version - name: Install Go - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 + uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 with: go-version: ${{ matrix.go-version }} ## checks out our code locally, so we can work with the files - name: Checkout code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 ## runs go test ./... - name: Build @@ -43,6 +43,6 @@ jobs: run: go test ./... -coverprofile=./cover.out - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@4650159d642e33fdc30954ca22638caf0df6cac8 # v5.4.3 + uses: codecov/codecov-action@af09b5e394c93991b95a5e7646aeb90c1917f78f # v5.5.1 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 5c2907ee..a43c835b 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,11 +39,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@f53ec7c550f4c3cafe07061ed7fba6f002286003 # codeql-bundle-v2.22.2 + uses: github/codeql-action/init@17783bfb99b07f70fae080b654aed0c514057477 # codeql-bundle-v2.23.3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -57,7 +57,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@f53ec7c550f4c3cafe07061ed7fba6f002286003 # codeql-bundle-v2.22.2 + uses: github/codeql-action/autobuild@17783bfb99b07f70fae080b654aed0c514057477 # codeql-bundle-v2.23.3 # â„šī¸ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -70,4 +70,4 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@f53ec7c550f4c3cafe07061ed7fba6f002286003 # codeql-bundle-v2.22.2 + uses: github/codeql-action/analyze@17783bfb99b07f70fae080b654aed0c514057477 # codeql-bundle-v2.23.3 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index f119aa6f..f1328622 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -6,13 +6,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Install Go - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 + uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 with: go-version: 1.24.x - name: Restore cache - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} @@ -31,13 +31,13 @@ jobs: with: terraform_version: 1.5.4 - name: Checkout code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Install Go - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 + uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 with: go-version: ${{ matrix.go-version }} - name: Restore cache - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} @@ -51,8 +51,8 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Install Go - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 + uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 with: go-version: 1.24.x diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c19b76b3..c61d02ba 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,11 +11,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Unshallow run: git fetch --prune --unshallow - name: Set up Go - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 + uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 with: go-version: 1.24 - name: Import GPG key @@ -25,7 +25,7 @@ jobs: gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} passphrase: ${{ secrets.PASSPHRASE }} - name: Run GoReleaser - uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0 + uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6.4.0 with: version: latest args: release --clean @@ -41,7 +41,7 @@ jobs: needs: - goreleaser steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Publish to Registry uses: elgohr/Publish-Docker-Github-Action@32b6623ebb46c5fe6dcfc2281cfcd549a31366ce # v5 with: @@ -50,7 +50,7 @@ jobs: password: ${{ secrets.DOCKERHUB_PASSWORD }} tags: "latest,${{ github.ref_name }}" - name: Update Docker Hub README - uses: peter-evans/dockerhub-description@432a30c9e07499fd01da9f8a49f0faf9e0ca5b77 # v4.0.2 + uses: peter-evans/dockerhub-description@1b9a80c056b620d92cedb9d9b5a223409c68ddfa # v5.0.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} @@ -64,7 +64,7 @@ jobs: - goreleaser steps: - name: Repository Dispatch - uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3.0.0 + uses: peter-evans/repository-dispatch@5fc4efd1a4797ddb68ffd0714a238564e4cc0e6f # v4.0.0 with: token: ${{ secrets.PAT }} repository: jameswoolfenden/scoop diff --git a/.github/workflows/resources.yml b/.github/workflows/resources.yml index 1f76c7ee..3bf07482 100644 --- a/.github/workflows/resources.yml +++ b/.github/workflows/resources.yml @@ -11,13 +11,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Go - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 + uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0 with: go-version: ${{ matrix.go-version }} ## checks out our code locally, so we can work with the files - name: Checkout code - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 ## runs go test ./... - name: Build @@ -25,7 +25,7 @@ jobs: - name: Checkout AWS - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: repository: hashicorp/terraform-provider-aws path: aws @@ -34,7 +34,7 @@ jobs: run: ${{ github.workspace }}/pike parse -d ${{ github.workspace }}/aws -name aws - name: Checkout AZURERM - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: repository: hashicorp/terraform-provider-azurerm path: azurerm @@ -43,7 +43,7 @@ jobs: run: ${{ github.workspace }}/pike parse -d ${{ github.workspace }}/azurerm -name azurerm - name: Generate Google - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: repository: hashicorp/terraform-provider-google path: google diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 663f980a..87ceda51 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -13,7 +13,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0 + - uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v10.1.0 with: stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' days-before-stale: 30 diff --git a/bump.ps1 b/bump.ps1 old mode 100644 new mode 100755 diff --git a/go.mod b/go.mod index 37311ca9..e4e7e273 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,6 @@ require ( golang.org/x/oauth2 v0.30.0 google.golang.org/api v0.240.0 gopkg.in/ini.v1 v1.67.0 - ) require ( diff --git a/src/aws_datasource.go b/src/aws_datasource.go index 5653bd31..f4085bb1 100644 --- a/src/aws_datasource.go +++ b/src/aws_datasource.go @@ -608,6 +608,36 @@ var tFLookupDataAWS = map[string]interface{}{ "aws_dynamodb_tables": dataAwsDynamodbTables, "aws_ecr_images": dataAwsEcrImages, "aws_s3_access_point": dataAwsS3AccessPoint, + "aws_billing_views": dataAwsBillingViews, + "aws_media_convert_queue": dataAwsMediaConvertQueue, + "aws_memorydb_acl": dataAwsMemorydbAcl, + "aws_memorydb_cluster": dataAwsMemorydbCluster, + "aws_memorydb_parameter_group": dataAwsMemorydbParameterGroup, + "aws_memorydb_snapshot": dataAwsMemorydbSnapshot, + "aws_memorydb_subnet_group": dataAwsMemorydbSubnetGroup, + "aws_memorydb_user": dataAwsMemorydbUser, + "aws_securityhub_standards_control_associations": dataAwsSecurityhubStandardsControlAssociations, + "aws_workspaces_workspace": dataAwsWorkspacesWorkspace, + "aws_appconfig_application": dataAwsAppconfigApplication, + "aws_odb_cloud_autonomous_vm_cluster": dataAwsOdbCloudAutonomousVmCluster, + "aws_odb_cloud_autonomous_vm_clusters": dataAwsOdbCloudAutonomousVmClusters, + "aws_odb_cloud_exadata_infrastructure": dataAwsOdbCloudExadataInfrastructure, + "aws_odb_cloud_exadata_infrastructures": dataAwsOdbCloudExadataInfrastructures, + "aws_odb_cloud_vm_cluster": dataAwsOdbCloudVmCluster, + "aws_odb_cloud_vm_clusters": dataAwsOdbCloudVmClusters, + "aws_odb_db_node": dataAwsOdbDbNode, + "aws_odb_db_nodes": dataAwsOdbDbNodes, + "aws_odb_db_server": dataAwsOdbServer, + "aws_odb_db_servers": dataAwsOdbServers, + "aws_odb_db_system_shapes": dataAwsOdbDbSystemShapes, + "aws_odb_gi_versions": dataAwsOdbGiVersions, + "aws_odb_network": dataAwsOdbNetwork, + "aws_odb_network_peering_connection": dataAwsOdbNetworkPeeringConnection, + "aws_odb_network_peering_connections": dataAwsOdbNetworkPeeringConnections, + "aws_odb_networks": dataAwsOdbNetworks, + "aws_ecrpublic_images": dataAwsEcrPublicImages, + "aws_rds_global_cluster": dataAwsRdsGlobalCluster, + "aws_vpn_connection": dataAwsVpnConnection, } // GetAWSDataPermissions gets permissions required for datasource's. diff --git a/src/coverage/aws.md b/src/coverage/aws.md index 4a11223b..91a8c024 100644 --- a/src/coverage/aws.md +++ b/src/coverage/aws.md @@ -1,17 +1,72 @@ -# todo aws +# AWS Resource Status -Resource percentage coverage 99.21 -Datasource percentage coverage 100.00 +| Terraform | Coverage % | Resources | Total Resources | +|------------|------------|-----------|-----------------| +| Resources | 95.96 | 1498 | 1561 | +| Datasource | 100.00 | 628 | 628 | +```shell +./resource.ps1 aws_appsync_api +./resource.ps1 aws_appsync_channel_namespace ./resource.ps1 aws_bedrockagent_flow +./resource.ps1 aws_bedrockagentcore_agent_runtime +./resource.ps1 aws_bedrockagentcore_agent_runtime_endpoint +./resource.ps1 aws_bedrockagentcore_api_key_credential_provider +./resource.ps1 aws_bedrockagentcore_browser +./resource.ps1 aws_bedrockagentcore_code_interpreter +./resource.ps1 aws_bedrockagentcore_gateway +./resource.ps1 aws_bedrockagentcore_gateway_target +./resource.ps1 aws_bedrockagentcore_memory +./resource.ps1 aws_bedrockagentcore_memory_strategy +./resource.ps1 aws_bedrockagentcore_oauth2_credential_provider +./resource.ps1 aws_bedrockagentcore_token_vault_cmk +./resource.ps1 aws_bedrockagentcore_workload_identity ./resource.ps1 aws_cognito_log_delivery_configuration +./resource.ps1 aws_cognito_managed_login_branding ./resource.ps1 aws_connect_phone_number_contact_flow_association +./resource.ps1 aws_controltower_baseline +./resource.ps1 aws_ec2_allowed_images_settings +./resource.ps1 aws_fis_target_account_configuration ./resource.ps1 aws_fsx_s3_access_point_attachment +./resource.ps1 aws_invoicing_invoice_unit +./resource.ps1 aws_lakeformation_identity_center_configuration +./resource.ps1 aws_lakeformation_lf_tag_expression ./resource.ps1 aws_nat_gateway_eip_association ./resource.ps1 aws_networkfirewall_firewall_transit_gateway_attachment_accepter +./resource.ps1 aws_networkfirewall_vpc_endpoint_association +./resource.ps1 aws_networkflowmonitor_monitor +./resource.ps1 aws_networkflowmonitor_scope +./resource.ps1 aws_observabilityadmin_centralization_rule_for_organization +./resource.ps1 aws_odb_cloud_autonomous_vm_cluster +./resource.ps1 aws_odb_cloud_exadata_infrastructure +./resource.ps1 aws_odb_cloud_vm_cluster +./resource.ps1 aws_odb_network +./resource.ps1 aws_odb_network_peering_connection ./resource.ps1 aws_prometheus_query_logging_configuration +./resource.ps1 aws_prometheus_resource_policy +./resource.ps1 aws_quicksight_custom_permissions ./resource.ps1 aws_quicksight_ip_restriction ./resource.ps1 aws_quicksight_key_registration +./resource.ps1 aws_quicksight_role_custom_permission +./resource.ps1 aws_quicksight_user_custom_permission ./resource.ps1 aws_s3_bucket_metadata_configuration +./resource.ps1 aws_timestreaminfluxdb_db_cluster +./resource.ps1 aws_transfer_host_key +./resource.ps1 aws_transfer_web_app +./resource.ps1 aws_transfer_web_app_customization ./resource.ps1 aws_vpc_route_server_endpoint ./resource.ps1 aws_vpc_route_server_peer +./resource.ps1 aws_wafv2_web_acl_rule_group_association +./resource.ps1 aws_workspacesweb_browser_settings_association +./resource.ps1 aws_workspacesweb_data_protection_settings_association +./resource.ps1 aws_workspacesweb_identity_provider +./resource.ps1 aws_workspacesweb_ip_access_settings_association +./resource.ps1 aws_workspacesweb_network_settings_association +./resource.ps1 aws_workspacesweb_portal +./resource.ps1 aws_workspacesweb_session_logger +./resource.ps1 aws_workspacesweb_session_logger_association +./resource.ps1 aws_workspacesweb_trust_store +./resource.ps1 aws_workspacesweb_trust_store_association +./resource.ps1 aws_workspacesweb_user_access_logging_settings_association +./resource.ps1 aws_workspacesweb_user_settings_association +``` diff --git a/src/coverage/azure.md b/src/coverage/azure.md index 843a7192..c991e42e 100755 --- a/src/coverage/azure.md +++ b/src/coverage/azure.md @@ -1,8 +1,11 @@ -# todo azure +# Azure Resource Status -Resource percentage coverage 4.47 -Datasource percentage coverage 33.24 +| Terraform | Coverage % | Resources | Total Resources | +|------------|------------|-----------|-----------------| +| Resources | 4.39 | 49 | 1115 | +| Datasource | 30.65 | 122 | 398 | +```shell ./resource.ps1 azurerm_aadb2c_directory ./resource.ps1 azurerm_active_directory_domain_service ./resource.ps1 azurerm_active_directory_domain_service_replica_set @@ -57,10 +60,15 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_api_management_product_policy ./resource.ps1 azurerm_api_management_product_tag ./resource.ps1 azurerm_api_management_redis_cache +./resource.ps1 azurerm_api_management_standalone_gateway ./resource.ps1 azurerm_api_management_subscription ./resource.ps1 azurerm_api_management_tag ./resource.ps1 azurerm_api_management_user ./resource.ps1 azurerm_api_management_workspace +./resource.ps1 azurerm_api_management_workspace_api_version_set +./resource.ps1 azurerm_api_management_workspace_certificate +./resource.ps1 azurerm_api_management_workspace_policy +./resource.ps1 azurerm_api_management_workspace_policy_fragment ./resource.ps1 azurerm_app_configuration_feature ./resource.ps1 azurerm_app_configuration_key ./resource.ps1 azurerm_app_service_active_slot @@ -242,6 +250,7 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_data_factory_credential_service_principal ./resource.ps1 azurerm_data_factory_credential_user_managed_identity ./resource.ps1 azurerm_data_factory_custom_dataset +./resource.ps1 azurerm_data_factory_customer_managed_key ./resource.ps1 azurerm_data_factory_data_flow ./resource.ps1 azurerm_data_factory_dataset_azure_blob ./resource.ps1 azurerm_data_factory_dataset_azure_sql_table @@ -360,6 +369,7 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_eventgrid_event_subscription ./resource.ps1 azurerm_eventgrid_namespace ./resource.ps1 azurerm_eventgrid_partner_configuration +./resource.ps1 azurerm_eventgrid_partner_namespace ./resource.ps1 azurerm_eventgrid_partner_registration ./resource.ps1 azurerm_eventgrid_system_topic ./resource.ps1 azurerm_eventgrid_system_topic_event_subscription @@ -543,6 +553,8 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_managed_application_definition ./resource.ps1 azurerm_managed_disk_sas_token ./resource.ps1 azurerm_managed_lustre_file_system +./resource.ps1 azurerm_managed_redis +./resource.ps1 azurerm_managed_redis_geo_replication ./resource.ps1 azurerm_management_group_policy_assignment ./resource.ps1 azurerm_management_group_policy_exemption ./resource.ps1 azurerm_management_group_policy_remediation @@ -568,6 +580,7 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_mobile_network_site ./resource.ps1 azurerm_mobile_network_slice ./resource.ps1 azurerm_mongo_cluster +./resource.ps1 azurerm_mongo_cluster_firewall_rule ./resource.ps1 azurerm_monitor_aad_diagnostic_setting ./resource.ps1 azurerm_monitor_action_group ./resource.ps1 azurerm_monitor_activity_log_alert @@ -653,9 +666,12 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_network_manager_connectivity_configuration ./resource.ps1 azurerm_network_manager_deployment ./resource.ps1 azurerm_network_manager_ipam_pool +./resource.ps1 azurerm_network_manager_ipam_pool_static_cidr ./resource.ps1 azurerm_network_manager_management_group_connection ./resource.ps1 azurerm_network_manager_network_group ./resource.ps1 azurerm_network_manager_routing_configuration +./resource.ps1 azurerm_network_manager_routing_rule +./resource.ps1 azurerm_network_manager_routing_rule_collection ./resource.ps1 azurerm_network_manager_scope_connection ./resource.ps1 azurerm_network_manager_security_admin_configuration ./resource.ps1 azurerm_network_manager_static_member @@ -673,8 +689,13 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_notification_hub_authorization_rule ./resource.ps1 azurerm_notification_hub_namespace ./resource.ps1 azurerm_oracle_autonomous_database +./resource.ps1 azurerm_oracle_autonomous_database_backup +./resource.ps1 azurerm_oracle_autonomous_database_clone_from_backup +./resource.ps1 azurerm_oracle_autonomous_database_clone_from_database ./resource.ps1 azurerm_oracle_cloud_vm_cluster ./resource.ps1 azurerm_oracle_exadata_infrastructure +./resource.ps1 azurerm_oracle_exascale_database_storage_vault +./resource.ps1 azurerm_oracle_resource_anchor ./resource.ps1 azurerm_orbital_contact ./resource.ps1 azurerm_orbital_contact_profile ./resource.ps1 azurerm_orbital_spacecraft @@ -705,6 +726,7 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_postgresql_firewall_rule ./resource.ps1 azurerm_postgresql_flexible_server ./resource.ps1 azurerm_postgresql_flexible_server_active_directory_administrator +./resource.ps1 azurerm_postgresql_flexible_server_backup ./resource.ps1 azurerm_postgresql_flexible_server_configuration ./resource.ps1 azurerm_postgresql_flexible_server_database ./resource.ps1 azurerm_postgresql_flexible_server_firewall_rule @@ -847,7 +869,6 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_site_recovery_vmware_replication_policy_association ./resource.ps1 azurerm_snapshot ./resource.ps1 azurerm_source_control_token -./resource.ps1 azurerm_spatial_anchors_account ./resource.ps1 azurerm_spring_cloud_accelerator ./resource.ps1 azurerm_spring_cloud_active_deployment ./resource.ps1 azurerm_spring_cloud_api_portal @@ -1057,7 +1078,7 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_api_connection -type data ./resource.ps1 azurerm_api_management_subscription -type data ./resource.ps1 azurerm_arc_resource_bridge_appliance -type data -./resource.ps1 azurerm_attestation -type data +./resource.ps1 azurerm_attestation_provider -type data ./resource.ps1 azurerm_automation_runbook -type data ./resource.ps1 azurerm_billing_enrollment_account_scope -type data ./resource.ps1 azurerm_billing_mca_account_scope -type data @@ -1078,8 +1099,8 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_consumption_budget_resource_group -type data ./resource.ps1 azurerm_consumption_budget_subscription -type data ./resource.ps1 azurerm_container_app -type data -./resource.ps1 azurerm_container_app_environment. -type data -./resource.ps1 azurerm_container_app_environment_certificate. -type data +./resource.ps1 azurerm_container_app_environment -type data +./resource.ps1 azurerm_container_app_environment_certificate -type data ./resource.ps1 azurerm_container_app_environment_dapr_component. -type data ./resource.ps1 azurerm_container_group -type data ./resource.ps1 azurerm_container_registry -type data @@ -1090,6 +1111,7 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_cosmosdb_mongo_database -type data ./resource.ps1 azurerm_cosmosdb_restorable_database_accounts -type data ./resource.ps1 azurerm_cosmosdb_sql_database -type data +./resource.ps1 azurerm_cosmosdb_sql_role_definition -type data ./resource.ps1 azurerm_dashboard_grafana -type data ./resource.ps1 azurerm_data_factory -type data ./resource.ps1 azurerm_data_factory_trigger_schedule -type data @@ -1105,6 +1127,7 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_data_share_dataset_kusto_database -type data ./resource.ps1 azurerm_database_migration_project -type data ./resource.ps1 azurerm_database_migration_service -type data +./resource.ps1 azurerm_databox_edge_device -type data ./resource.ps1 azurerm_databricks_access_connector -type data ./resource.ps1 azurerm_databricks_workspace -type data ./resource.ps1 azurerm_databricks_workspace_private_endpoint_connection -type data @@ -1141,10 +1164,12 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_elastic_san_volume_snapshot -type data ./resource.ps1 azurerm_eventgrid_domain -type data ./resource.ps1 azurerm_eventgrid_domain_topic -type data +./resource.ps1 azurerm_eventgrid_partner_namespace -type data ./resource.ps1 azurerm_eventgrid_partner_registration -type data ./resource.ps1 azurerm_eventgrid_system_topic -type data ./resource.ps1 azurerm_eventgrid_topic -type data ./resource.ps1 azurerm_eventhub -type data +./resource.ps1 azurerm_eventhub_authorization_rule -type data ./resource.ps1 azurerm_eventhub_cluster -type data ./resource.ps1 azurerm_eventhub_consumer_group -type data ./resource.ps1 azurerm_eventhub_namespace -type data @@ -1158,6 +1183,7 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_firewall_policy -type data ./resource.ps1 azurerm_function_app -type data ./resource.ps1 azurerm_function_app_host_keys -type data +./resource.ps1 azurerm_graph_services_account -type data ./resource.ps1 azurerm_hdinsight_cluster -type data ./resource.ps1 azurerm_healthcare_dicom_service -type data ./resource.ps1 azurerm_healthcare_fhir_service -type data @@ -1199,9 +1225,23 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_managed_api -type data ./resource.ps1 azurerm_managed_application_definition -type data ./resource.ps1 azurerm_managed_disk -type data +./resource.ps1 azurerm_managed_disks -type data +./resource.ps1 azurerm_managed_redis -type data ./resource.ps1 azurerm_management_group -type data ./resource.ps1 azurerm_management_group_template_deployment -type data ./resource.ps1 azurerm_maps_account -type data +./resource.ps1 azurerm_marketplace_agreement -type data +./resource.ps1 azurerm_mobile_network -type data +./resource.ps1 azurerm_mobile_network_attached_data_network -type data +./resource.ps1 azurerm_mobile_network_data_network -type data +./resource.ps1 azurerm_mobile_network_packet_core_control_plane -type data +./resource.ps1 azurerm_mobile_network_packet_core_data_plane -type data +./resource.ps1 azurerm_mobile_network_service -type data +./resource.ps1 azurerm_mobile_network_sim -type data +./resource.ps1 azurerm_mobile_network_sim_group -type data +./resource.ps1 azurerm_mobile_network_sim_policy -type data +./resource.ps1 azurerm_mobile_network_site -type data +./resource.ps1 azurerm_mobile_network_slice -type data ./resource.ps1 azurerm_monitor_action_group -type data ./resource.ps1 azurerm_monitor_data_collection_endpoint -type data ./resource.ps1 azurerm_monitor_data_collection_rule -type data @@ -1215,9 +1255,12 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_mssql_managed_database -type data ./resource.ps1 azurerm_mssql_managed_instance -type data ./resource.ps1 azurerm_mssql_server -type data +./resource.ps1 azurerm_mysql_flexible_server -type data ./resource.ps1 azurerm_nat_gateway -type data ./resource.ps1 azurerm_netapp_account -type data ./resource.ps1 azurerm_netapp_account_encryption -type data +./resource.ps1 azurerm_netapp_backup_policy -type data +./resource.ps1 azurerm_netapp_backup_vault -type data ./resource.ps1 azurerm_netapp_pool -type data ./resource.ps1 azurerm_netapp_snapshot -type data ./resource.ps1 azurerm_netapp_snapshot_policy -type data @@ -1227,8 +1270,10 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_netapp_volume_quota_rule -type data ./resource.ps1 azurerm_network_ddos_protection_plan -type data ./resource.ps1 azurerm_network_interface -type data +./resource.ps1 azurerm_network_manager -type data ./resource.ps1 azurerm_network_manager_connectivity_configuration -type data ./resource.ps1 azurerm_network_manager_ipam_pool -type data +./resource.ps1 azurerm_network_manager_network_group -type data ./resource.ps1 azurerm_network_security_group -type data ./resource.ps1 azurerm_network_service_tags -type data ./resource.ps1 azurerm_nginx_api_key -type data @@ -1240,12 +1285,18 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_oracle_adbs_character_sets -type data ./resource.ps1 azurerm_oracle_adbs_national_character_sets -type data ./resource.ps1 azurerm_oracle_autonomous_database -type data +./resource.ps1 azurerm_oracle_autonomous_database_backup -type data +./resource.ps1 azurerm_oracle_autonomous_database_backups -type data +./resource.ps1 azurerm_oracle_autonomous_database_clone_from_backup -type data +./resource.ps1 azurerm_oracle_autonomous_database_clone_from_database -type data ./resource.ps1 azurerm_oracle_cloud_vm_cluster -type data ./resource.ps1 azurerm_oracle_db_nodes -type data ./resource.ps1 azurerm_oracle_db_servers -type data ./resource.ps1 azurerm_oracle_db_system_shapes -type data ./resource.ps1 azurerm_oracle_exadata_infrastructure -type data +./resource.ps1 azurerm_oracle_exascale_database_storage_vault -type data ./resource.ps1 azurerm_oracle_gi_versions -type data +./resource.ps1 azurerm_oracle_resource_anchor -type data ./resource.ps1 azurerm_orchestrated_virtual_machine_scale_set -type data ./resource.ps1 azurerm_palo_alto_local_rulestack -type data ./resource.ps1 azurerm_platform_image -type data @@ -1281,18 +1332,20 @@ Datasource percentage coverage 33.24 ./resource.ps1 azurerm_recovery_services_vault -type data ./resource.ps1 azurerm_role_assignments -type data ./resource.ps1 azurerm_role_management_policy -type data +./resource.ps1 azurerm_search_service -type data ./resource.ps1 azurerm_sentinel_alert_rule_anomaly -type data ./resource.ps1 azurerm_servicebus_namespace_disaster_recovery_config -type data ./resource.ps1 azurerm_servicebus_topic_authorization_rule -type data +./resource.ps1 azurerm_site_recovery_replication_recovery_plan -type data ./resource.ps1 azurerm_stack_hci_storage_path -type data ./resource.ps1 azurerm_static_web_app -type data ./resource.ps1 azurerm_storage_queue -type data ./resource.ps1 azurerm_storage_table -type data +./resource.ps1 azurerm_storage_table_entities -type data ./resource.ps1 azurerm_system_center_virtual_machine_manager_inventory_items -type data ./resource.ps1 azurerm_trusted_signing_account -type data ./resource.ps1 azurerm_virtual_desktop_application_group -type data ./resource.ps1 azurerm_virtual_desktop_workspace -type data ./resource.ps1 azurerm_virtual_network_peering -type data ./resource.ps1 azurerm_vpn_server_configuration -type data -./resource.ps1 netapp_backup_policy -type data -./resource.ps1 netapp_backup_vault -type data +``` diff --git a/src/coverage/coverage.go b/src/coverage/coverage.go index b2237a09..a70dcd66 100644 --- a/src/coverage/coverage.go +++ b/src/coverage/coverage.go @@ -19,7 +19,7 @@ type members struct { func coverageAWS() error { data := importMembers("../parse/aws-members.json") missing := members{} - target := "" + target := "```shell\n" for _, myData := range data.Resources { if temp := pike.AwsLookup(myData); temp == nil { @@ -38,11 +38,9 @@ func coverageAWS() error { } } } + target += "```\n" - Prepend := "# todo aws \n\n" - - Prepend += fmt.Sprintf("Resource percentage coverage %3.2f \n", percent(missing.Resources, data.Resources)) - Prepend += fmt.Sprintf("Datasource percentage coverage %3.2f \n\n", percent(missing.DataSources, data.DataSources)) + Prepend := resourceTable(missing, data, "AWS") target = Prepend + target err := os.WriteFile("aws.md", []byte(target), 0o700) @@ -65,7 +63,7 @@ func (e *fileWriteError) Error() string { func coverageAzure() error { data := importMembers("../parse/azurerm-members.json") missing := members{} - target := "" + target := "```shell\n" for _, myData := range data.Resources { if temp := pike.AzureLookup(myData); temp == nil { @@ -80,12 +78,9 @@ func coverageAzure() error { target += "./resource.ps1 " + myData + " -type data\n" } } + target += "```\n" - Prepend := "# todo azure \n\n" - - Prepend += fmt.Sprintf("Resource percentage coverage %3.2f \n", percent(missing.Resources, data.Resources)) - Prepend += fmt.Sprintf("Datasource percentage coverage %3.2f \n\n", percent(missing.DataSources, data.DataSources)) - + Prepend := resourceTable(missing, data, "Azure") target = Prepend + target err := os.WriteFile("azure.md", []byte(target), 0o700) @@ -100,7 +95,7 @@ func coverageAzure() error { func coverageGcp() error { data := importMembers("../parse/google-members.json") missing := members{} - target := "" + target := "```shell\n" for _, myData := range data.Resources { if temp := pike.GCPLookup(myData); temp == nil { @@ -115,11 +110,9 @@ func coverageGcp() error { target += "./resource.ps1 " + myData + " -type data\n" } } + target += "```\n" - Prepend := "# todo google \n\n" - - Prepend += fmt.Sprintf("Resource percentage coverage %3.2f \n", percent(missing.Resources, data.Resources)) - Prepend += fmt.Sprintf("Datasource percentage coverage %3.2f \n\n", percent(missing.DataSources, data.DataSources)) + Prepend := resourceTable(missing, data, "Google") target = Prepend + target err := os.WriteFile("google.md", []byte(target), 0o700) @@ -132,6 +125,19 @@ func coverageGcp() error { return nil } +func resourceTable(missing members, data members, cloud string) string { + Prepend := fmt.Sprintf("# %s Resource Status\n\n", cloud) + Prepend += fmt.Sprintf("| Terraform | Coverage %% | Resources | Total Resources |\n") + Prepend += fmt.Sprintf("|------------|------------|-----------|-----------------|\n") + Prepend += fmt.Sprintf("| Resources | %3.2f | %5d | %5d |\n", + percent(missing.Resources, data.Resources), + len(data.Resources)-len(missing.Resources), len(data.Resources)) + Prepend += fmt.Sprintf("| Datasource | %3.2f | %5d | %5d |\n\n", + percent(missing.DataSources, data.DataSources), + len(data.DataSources)-len(missing.DataSources), len(data.DataSources)) + return Prepend +} + func importMembers(targetMembers string) members { fileName, _ := filepath.Abs(targetMembers) file, _ := os.ReadFile(fileName) diff --git a/src/coverage/google.md b/src/coverage/google.md index e18929c7..2275cfd5 100755 --- a/src/coverage/google.md +++ b/src/coverage/google.md @@ -1,8 +1,11 @@ -# todo google +# Google Resource Status -Resource percentage coverage 58.92 -Datasource percentage coverage 100.00 +| Terraform | Coverage % | Resources | Total Resources | +|------------|------------|-----------|-----------------| +| Resources | 62.39 | 783 | 1255 | +| Datasource | 99.01 | 399 | 403 | +```shell ./resource.ps1 google_access_context_manager_access_level_condition ./resource.ps1 google_access_context_manager_service_perimeter_dry_run_egress_policy ./resource.ps1 google_access_context_manager_service_perimeter_dry_run_ingress_policy @@ -15,16 +18,19 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_active_directory_peering ./resource.ps1 google_apigee_addons_config ./resource.ps1 google_apigee_api +./resource.ps1 google_apigee_api_deployment ./resource.ps1 google_apigee_api_product ./resource.ps1 google_apigee_app_group ./resource.ps1 google_apigee_control_plane_access ./resource.ps1 google_apigee_developer +./resource.ps1 google_apigee_developer_app ./resource.ps1 google_apigee_dns_zone ./resource.ps1 google_apigee_env_keystore ./resource.ps1 google_apigee_envgroup ./resource.ps1 google_apigee_envgroup_attachment ./resource.ps1 google_apigee_environment ./resource.ps1 google_apigee_environment_addons_config +./resource.ps1 google_apigee_environment_api_revision_deployment ./resource.ps1 google_apigee_environment_keyvaluemaps ./resource.ps1 google_apigee_environment_keyvaluemaps_entries ./resource.ps1 google_apigee_instance @@ -46,9 +52,14 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_app_engine_service_network_settings ./resource.ps1 google_app_engine_service_split_traffic ./resource.ps1 google_app_engine_standard_app_version +./resource.ps1 google_artifact_registry_package ./resource.ps1 google_artifact_registry_vpcsc_config ./resource.ps1 google_assured_workloads_workload ./resource.ps1 google_bigquery_analytics_hub_data_exchange_subscription +./resource.ps1 google_bigquery_datapolicyv2_data_policy +./resource.ps1 google_bigquery_datapolicyv2_data_policy_iam_binding +./resource.ps1 google_bigquery_datapolicyv2_data_policy_iam_member +./resource.ps1 google_bigquery_datapolicyv2_data_policy_iam_policy ./resource.ps1 google_billing_subaccount ./resource.ps1 google_binary_authorization_attestor ./resource.ps1 google_binary_authorization_policy @@ -57,8 +68,14 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_certificate_manager_certificate_issuance_config ./resource.ps1 google_certificate_manager_certificate_map ./resource.ps1 google_certificate_manager_certificate_map_entry -./resource.ps1 google_certificate_manager_dns_authorization ./resource.ps1 google_certificate_manager_trust_config +./resource.ps1 google_ces_agent +./resource.ps1 google_ces_app +./resource.ps1 google_ces_deployment +./resource.ps1 google_ces_example +./resource.ps1 google_ces_guardrail +./resource.ps1 google_ces_tool +./resource.ps1 google_ces_toolset ./resource.ps1 google_cloud_asset_folder_feed ./resource.ps1 google_cloud_asset_organization_feed ./resource.ps1 google_cloud_asset_project_feed @@ -67,6 +84,9 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_cloud_ids_endpoint ./resource.ps1 google_cloud_quotas_quota_adjuster_settings ./resource.ps1 google_cloud_quotas_quota_preference +./resource.ps1 google_cloud_security_compliance_cloud_control +./resource.ps1 google_cloud_security_compliance_framework +./resource.ps1 google_cloud_security_compliance_framework_deployment ./resource.ps1 google_cloud_tasks_queue ./resource.ps1 google_cloudbuild_bitbucket_server_config ./resource.ps1 google_cloudbuild_worker_pool @@ -139,6 +159,7 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_compute_region_commitment ./resource.ps1 google_compute_region_disk ./resource.ps1 google_compute_region_disk_resource_policy_attachment +./resource.ps1 google_compute_region_health_aggregation_policy ./resource.ps1 google_compute_region_instance_group_manager ./resource.ps1 google_compute_region_instance_template ./resource.ps1 google_compute_region_network_endpoint @@ -198,68 +219,38 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_database_migration_service_migration_job ./resource.ps1 google_database_migration_service_private_connection ./resource.ps1 google_dataflow_flex_template_job -./resource.ps1 google_dataproc_autoscaling_policy -./resource.ps1 google_dataproc_batch -./resource.ps1 google_dataproc_cluster +./resource.ps1 google_dataplex_entry_link ./resource.ps1 google_dataproc_gdc_application_environment ./resource.ps1 google_dataproc_gdc_service_instance ./resource.ps1 google_dataproc_gdc_spark_application -./resource.ps1 google_dataproc_job ./resource.ps1 google_dataproc_metastore_federation ./resource.ps1 google_dataproc_metastore_service -./resource.ps1 google_dataproc_session_template -./resource.ps1 google_dataproc_workflow_template ./resource.ps1 google_datastream_connection_profile ./resource.ps1 google_datastream_private_connection ./resource.ps1 google_datastream_stream -./resource.ps1 google_deployment_manager_deployment ./resource.ps1 google_developer_connect_insights_config -./resource.ps1 google_dialogflow_agent -./resource.ps1 google_dialogflow_cx_agent -./resource.ps1 google_dialogflow_cx_entity_type -./resource.ps1 google_dialogflow_cx_environment -./resource.ps1 google_dialogflow_cx_flow -./resource.ps1 google_dialogflow_cx_generative_settings -./resource.ps1 google_dialogflow_cx_generator -./resource.ps1 google_dialogflow_cx_intent -./resource.ps1 google_dialogflow_cx_page -./resource.ps1 google_dialogflow_cx_security_settings -./resource.ps1 google_dialogflow_cx_tool -./resource.ps1 google_dialogflow_cx_version -./resource.ps1 google_dialogflow_cx_webhook -./resource.ps1 google_dialogflow_encryption_spec -./resource.ps1 google_dialogflow_entity_type -./resource.ps1 google_dialogflow_fulfillment -./resource.ps1 google_dialogflow_intent +./resource.ps1 google_discovery_engine_acl_config +./resource.ps1 google_discovery_engine_assistant ./resource.ps1 google_discovery_engine_chat_engine ./resource.ps1 google_discovery_engine_cmek_config +./resource.ps1 google_discovery_engine_control +./resource.ps1 google_discovery_engine_data_connector ./resource.ps1 google_discovery_engine_data_store +./resource.ps1 google_discovery_engine_license_config ./resource.ps1 google_discovery_engine_recommendation_engine ./resource.ps1 google_discovery_engine_schema ./resource.ps1 google_discovery_engine_search_engine ./resource.ps1 google_discovery_engine_sitemap ./resource.ps1 google_discovery_engine_target_site +./resource.ps1 google_discovery_engine_user_store ./resource.ps1 google_dns_response_policy ./resource.ps1 google_dns_response_policy_rule ./resource.ps1 google_document_ai_processor ./resource.ps1 google_document_ai_processor_default_version ./resource.ps1 google_document_ai_warehouse_document_schema ./resource.ps1 google_document_ai_warehouse_location -./resource.ps1 google_edgecontainer_cluster -./resource.ps1 google_edgecontainer_node_pool -./resource.ps1 google_edgecontainer_vpn_connection -./resource.ps1 google_edgenetwork_interconnect_attachment -./resource.ps1 google_edgenetwork_network -./resource.ps1 google_edgenetwork_subnet ./resource.ps1 google_endpoints_service ./resource.ps1 google_essential_contacts_contact -./resource.ps1 google_eventarc_channel -./resource.ps1 google_eventarc_enrollment -./resource.ps1 google_eventarc_google_api_source -./resource.ps1 google_eventarc_google_channel_config -./resource.ps1 google_eventarc_message_bus -./resource.ps1 google_eventarc_pipeline -./resource.ps1 google_eventarc_trigger ./resource.ps1 google_filestore_backup ./resource.ps1 google_filestore_instance ./resource.ps1 google_filestore_snapshot @@ -283,23 +274,12 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_firestore_document ./resource.ps1 google_firestore_field ./resource.ps1 google_firestore_index +./resource.ps1 google_firestore_user_creds ./resource.ps1 google_folder ./resource.ps1 google_folder_access_approval_settings ./resource.ps1 google_folder_iam_audit_config ./resource.ps1 google_folder_organization_policy ./resource.ps1 google_folder_service_identity -./resource.ps1 google_gemini_code_repository_index -./resource.ps1 google_gemini_code_tools_setting -./resource.ps1 google_gemini_code_tools_setting_binding -./resource.ps1 google_gemini_data_sharing_with_google_setting -./resource.ps1 google_gemini_data_sharing_with_google_setting_binding -./resource.ps1 google_gemini_gemini_gcp_enablement_setting -./resource.ps1 google_gemini_gemini_gcp_enablement_setting_binding -./resource.ps1 google_gemini_logging_setting -./resource.ps1 google_gemini_logging_setting_binding -./resource.ps1 google_gemini_release_channel_setting -./resource.ps1 google_gemini_release_channel_setting_binding -./resource.ps1 google_gemini_repository_group ./resource.ps1 google_gke_backup_backup_channel ./resource.ps1 google_gke_backup_backup_plan ./resource.ps1 google_gke_backup_restore_channel @@ -334,12 +314,9 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_iam_organizations_policy_binding ./resource.ps1 google_iam_principal_access_boundary_policy ./resource.ps1 google_iam_projects_policy_binding +./resource.ps1 google_iam_workforce_pool_provider_scim_tenant ./resource.ps1 google_iam_workload_identity_pool_managed_identity ./resource.ps1 google_iam_workload_identity_pool_namespace -./resource.ps1 google_iap_brand -./resource.ps1 google_iap_client -./resource.ps1 google_iap_settings -./resource.ps1 google_iap_tunnel_dest_group ./resource.ps1 google_identity_platform_config ./resource.ps1 google_identity_platform_default_supported_idp_config ./resource.ps1 google_identity_platform_inbound_saml_config @@ -355,27 +332,24 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_integrations_client ./resource.ps1 google_kms_autokey_config ./resource.ps1 google_kms_ekm_connection +./resource.ps1 google_kms_folder_kaj_policy_config +./resource.ps1 google_kms_organization_kaj_policy_config +./resource.ps1 google_kms_project_kaj_policy_config ./resource.ps1 google_logging_billing_account_bucket_config ./resource.ps1 google_logging_folder_bucket_config ./resource.ps1 google_logging_organization_bucket_config ./resource.ps1 google_logging_project_bucket_config ./resource.ps1 google_looker_instance ./resource.ps1 google_lustre_instance -./resource.ps1 google_managed_kafka_acl -./resource.ps1 google_managed_kafka_cluster -./resource.ps1 google_managed_kafka_connect_cluster -./resource.ps1 google_managed_kafka_connector -./resource.ps1 google_managed_kafka_topic ./resource.ps1 google_memorystore_instance_desired_user_created_endpoints ./resource.ps1 google_migration_center_group ./resource.ps1 google_migration_center_preference_set ./resource.ps1 google_ml_engine_model -./resource.ps1 google_model_armor_floorsetting -./resource.ps1 google_model_armor_template ./resource.ps1 google_netapp_active_directory ./resource.ps1 google_netapp_backup ./resource.ps1 google_netapp_backup_policy ./resource.ps1 google_netapp_backup_vault +./resource.ps1 google_netapp_host_group ./resource.ps1 google_netapp_kmsconfig ./resource.ps1 google_netapp_storage_pool ./resource.ps1 google_netapp_volume @@ -389,12 +363,14 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_network_connectivity_regional_endpoint ./resource.ps1 google_network_connectivity_service_connection_policy ./resource.ps1 google_network_connectivity_spoke +./resource.ps1 google_network_management_organization_vpc_flow_logs_config ./resource.ps1 google_network_management_vpc_flow_logs_config ./resource.ps1 google_network_security_address_group ./resource.ps1 google_network_security_authorization_policy ./resource.ps1 google_network_security_authz_policy ./resource.ps1 google_network_security_backend_authentication_config ./resource.ps1 google_network_security_client_tls_policy +./resource.ps1 google_network_security_dns_threat_detector ./resource.ps1 google_network_security_firewall_endpoint ./resource.ps1 google_network_security_firewall_endpoint_association ./resource.ps1 google_network_security_gateway_security_policy @@ -405,6 +381,7 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_network_security_intercept_endpoint_group_association ./resource.ps1 google_network_security_mirroring_deployment ./resource.ps1 google_network_security_mirroring_deployment_group +./resource.ps1 google_network_security_mirroring_endpoint ./resource.ps1 google_network_security_mirroring_endpoint_group ./resource.ps1 google_network_security_mirroring_endpoint_group_association ./resource.ps1 google_network_security_security_profile @@ -423,13 +400,18 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_network_services_lb_route_extension ./resource.ps1 google_network_services_lb_traffic_extension ./resource.ps1 google_network_services_mesh +./resource.ps1 google_network_services_multicast_domain ./resource.ps1 google_network_services_service_binding ./resource.ps1 google_network_services_service_lb_policies ./resource.ps1 google_network_services_tcp_route ./resource.ps1 google_network_services_tls_route +./resource.ps1 google_network_services_wasm_plugin +./resource.ps1 google_observability_trace_scope ./resource.ps1 google_oracle_database_autonomous_database ./resource.ps1 google_oracle_database_cloud_exadata_infrastructure ./resource.ps1 google_oracle_database_cloud_vm_cluster +./resource.ps1 google_oracle_database_db_system +./resource.ps1 google_oracle_database_exascale_db_storage_vault ./resource.ps1 google_oracle_database_odb_network ./resource.ps1 google_oracle_database_odb_subnet ./resource.ps1 google_org_policy_custom_constraint @@ -443,10 +425,17 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_parameter_manager_parameter_version ./resource.ps1 google_parameter_manager_regional_parameter ./resource.ps1 google_parameter_manager_regional_parameter_version +./resource.ps1 google_privileged_access_manager_settings ./resource.ps1 google_public_ca_external_account_key ./resource.ps1 google_recaptcha_enterprise_key ./resource.ps1 google_resource_manager_capability ./resource.ps1 google_resource_manager_lien +./resource.ps1 google_saas_runtime_release +./resource.ps1 google_saas_runtime_rollout_kind +./resource.ps1 google_saas_runtime_saas +./resource.ps1 google_saas_runtime_tenant +./resource.ps1 google_saas_runtime_unit +./resource.ps1 google_saas_runtime_unit_kind ./resource.ps1 google_scc_event_threat_detection_custom_module ./resource.ps1 google_scc_folder_custom_module ./resource.ps1 google_scc_folder_notification_config @@ -473,9 +462,7 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_scc_v2_project_mute_config ./resource.ps1 google_scc_v2_project_notification_config ./resource.ps1 google_scc_v2_project_scc_big_query_export -./resource.ps1 google_secure_source_manager_branch_rule -./resource.ps1 google_secure_source_manager_instance -./resource.ps1 google_secure_source_manager_repository +./resource.ps1 google_secure_source_manager_hook ./resource.ps1 google_security_scanner_scan_config ./resource.ps1 google_securityposture_posture ./resource.ps1 google_service_networking_peered_dns_domain @@ -491,8 +478,8 @@ Datasource percentage coverage 100.00 ./resource.ps1 google_storage_object_acl ./resource.ps1 google_storage_transfer_agent_pool ./resource.ps1 google_storage_transfer_job -./resource.ps1 google_vertex_ai_deployment_resource_pool -./resource.ps1 google_vertex_ai_endpoint_with_model_garden_deployment -./resource.ps1 google_vertex_ai_index_endpoint_deployed_index -./resource.ps1 google_vpc_access_connector -./resource.ps1 google_workbench_instance +./resource.ps1 google_artifact_registry_python_packages -type data +./resource.ps1 google_cloud_identity_policy -type data +./resource.ps1 google_compute_reservation_block -type data +./resource.ps1 google_compute_reservation_sub_block -type data +``` diff --git a/src/files_datasource.go b/src/files_datasource.go index f69c2b05..fc15840f 100644 --- a/src/files_datasource.go +++ b/src/files_datasource.go @@ -1614,3 +1614,93 @@ var dataAwsEcrImages []byte //go:embed mapping/aws/data/s3/aws_s3_access_point.json var dataAwsS3AccessPoint []byte + +//go:embed mapping/aws/data/billing/aws_billing_views.json +var dataAwsBillingViews []byte + +//go:embed mapping/aws/data/mediaconvert/aws_media_convert_queue.json +var dataAwsMediaConvertQueue []byte + +//go:embed mapping/aws/data/memorydb/aws_memorydb_acl.json +var dataAwsMemorydbAcl []byte + +//go:embed mapping/aws/data/memorydb/aws_memorydb_cluster.json +var dataAwsMemorydbCluster []byte + +//go:embed mapping/aws/data/memorydb/aws_memorydb_parameter_group.json +var dataAwsMemorydbParameterGroup []byte + +//go:embed mapping/aws/data/memorydb/aws_memorydb_snapshot.json +var dataAwsMemorydbSnapshot []byte + +//go:embed mapping/aws/data/memorydb/aws_memorydb_subnet_group.json +var dataAwsMemorydbSubnetGroup []byte + +//go:embed mapping/aws/data/memorydb/aws_memorydb_user.json +var dataAwsMemorydbUser []byte + +//go:embed mapping/aws/data/securityhub/aws_securityhub_standards_control_associations.json +var dataAwsSecurityhubStandardsControlAssociations []byte + +//go:embed mapping/aws/data/workspaces/aws_workspaces_workspace.json +var dataAwsWorkspacesWorkspace []byte + +//go:embed mapping/aws/data/appconfig/aws_appconfig_application.json +var dataAwsAppconfigApplication []byte + +//go:embed mapping/aws/data/odb/aws_odb_cloud_autonomous_vm_cluster.json +var dataAwsOdbCloudAutonomousVmCluster []byte + +//go:embed mapping/aws/data/odb/aws_odb_cloud_autonomous_vm_clusters.json +var dataAwsOdbCloudAutonomousVmClusters []byte + +//go:embed mapping/aws/data/odb/aws_odb_cloud_exadata_infrastructure.json +var dataAwsOdbCloudExadataInfrastructure []byte + +//go:embed mapping/aws/data/odb/aws_odb_cloud_exadata_infrastructures.json +var dataAwsOdbCloudExadataInfrastructures []byte + +//go:embed mapping/aws/data/odb/aws_odb_cloud_vm_cluster.json +var dataAwsOdbCloudVmCluster []byte + +//go:embed mapping/aws/data/odb/aws_odb_cloud_vm_clusters.json +var dataAwsOdbCloudVmClusters []byte + +//go:embed mapping/aws/data/odb/aws_odb_db_node.json +var dataAwsOdbDbNode []byte + +//go:embed mapping/aws/data/odb/aws_odb_db_nodes.json +var dataAwsOdbDbNodes []byte + +//go:embed mapping/aws/data/odb/aws_odb_db_server.json +var dataAwsOdbServer []byte + +//go:embed mapping/aws/data/odb/aws_odb_db_servers.json +var dataAwsOdbServers []byte + +//go:embed mapping/aws/data/odb/aws_odb_db_system_shapes.json +var dataAwsOdbDbSystemShapes []byte + +//go:embed mapping/aws/data/odb/aws_odb_gi_versions.json +var dataAwsOdbGiVersions []byte + +//go:embed mapping/aws/data/odb/aws_odb_network.json +var dataAwsOdbNetwork []byte + +//go:embed mapping/aws/data/odb/aws_odb_network_peering_connection.json +var dataAwsOdbNetworkPeeringConnection []byte + +//go:embed mapping/aws/data/odb/aws_odb_network_peering_connections.json +var dataAwsOdbNetworkPeeringConnections []byte + +//go:embed mapping/aws/data/odb/aws_odb_networks.json +var dataAwsOdbNetworks []byte + +//go:embed mapping/aws/data/ecr-public/aws_ecrpublic_images.json +var dataAwsEcrPublicImages []byte + +//go:embed mapping/aws/data/rds/aws_rds_global_cluster.json +var dataAwsRdsGlobalCluster []byte + +//go:embed mapping/aws/data/ec2/aws_vpn_connection.json +var dataAwsVpnConnection []byte diff --git a/src/files_gcp.go b/src/files_gcp.go index 4704cea3..236176c1 100644 --- a/src/files_gcp.go +++ b/src/files_gcp.go @@ -1962,3 +1962,237 @@ var googleIamWorkforcePoolProvider []byte //go:embed mapping/google/resource/iam.googleapis.com/google_iam_workforce_pool_provider_key.json var googleIamWorkforcePoolProviderKey []byte + +//go:embed mapping/google/resource/dataproc/google_dataproc_autoscaling_policy.json +var googleDataprocAutoscalingPolicy []byte + +//go:embed mapping/google/resource/dataproc/google_dataproc_batch.json +var googleDataprocBatch []byte + +//go:embed mapping/google/resource/dataproc/google_dataproc_cluster.json +var googleDataprocCluster []byte + +//go:embed mapping/google/resource/dataproc/google_dataproc_job.json +var googleDataprocJob []byte + +//go:embed mapping/google/resource/dataproc/google_dataproc_session_template.json +var googleDataprocSessionTemplate []byte + +//go:embed mapping/google/resource/dataproc/google_dataproc_workflow_template.json +var googleDataprocWorkflowTemplate []byte + +//go:embed mapping/google/resource/deploymentmanager/google_deployment_manager_deployment.json +var googleDeploymentManagerDeployment []byte + +//go:embed mapping/google/resource/edgecontainer/google_edgecontainer_cluster.json +var googleEdgecontainerCluster []byte + +//go:embed mapping/google/resource/edgecontainer/google_edgecontainer_node_pool.json +var googleEdgecontainerNodePool []byte + +//go:embed mapping/google/resource/edgecontainer/google_edgecontainer_vpn_connection.json +var googleEdgecontainerVpnConnection []byte + +//go:embed mapping/google/resource/edgenetwork/google_edgenetwork_interconnect_attachment.json +var googleEdgecontainerInterconnectAttachment []byte + +//go:embed mapping/google/resource/edgenetwork/google_edgenetwork_network.json +var googleEdgecontainerNetwork []byte + +//go:embed mapping/google/resource/edgenetwork/google_edgenetwork_subnet.json +var googleEdgecontainerSubnet []byte + +//go:embed mapping/google/resource/eventarc/google_eventarc_channel.json +var googleEventarcChannel []byte + +//go:embed mapping/google/resource/eventarc/google_eventarc_enrollment.json +var googleEventarcEnrollment []byte + +//go:embed mapping/google/resource/eventarc/google_eventarc_google_api_source.json +var googleEventarcGoogleApiSource []byte + +//go:embed mapping/google/resource/eventarc/google_eventarc_google_channel_config.json +var googleEventarcGoogleChannelConfig []byte + +//go:embed mapping/google/resource/eventarc/google_eventarc_message_bus.json +var googleEventarcMessageBus []byte + +//go:embed mapping/google/resource/eventarc/google_eventarc_pipeline.json +var googleEventarcPipeline []byte + +//go:embed mapping/google/resource/eventarc/google_eventarc_trigger.json +var googleEventarcTrigger []byte + +//go:embed mapping/google/resource/securesourcemanager/google_secure_source_manager_branch_rule.json +var googleSecureSourceManagerBranchRule []byte + +//go:embed mapping/google/resource/securesourcemanager/google_secure_source_manager_instance.json +var googleSecureSourceManagerInstance []byte + +//go:embed mapping/google/resource/securesourcemanager/google_secure_source_manager_repository.json +var googleSecureSourceManagerRepository []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_agent.json +var googleDialogflowAgent []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_conversation_profile.json +var googleDialogflowConversationProfile []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_agent.json +var googleDialogflowCxAgent []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_entity_type.json +var googleDialogflowCxEntityType []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_environment.json +var googleDialogflowCxEnvironment []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_flow.json +var googleDialogflowCxFlow []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_generative_settings.json +var googleDialogflowCxGenerativeSettings []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_generator.json +var googleDialogflowCxGenerator []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_intent.json +var googleDialogflowCxIntent []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_page.json +var googleDialogflowCxPage []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_playbook.json +var googleDialogflowCxPlaybook []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_security_settings.json +var googleDialogflowCxSecuritySettings []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_tool.json +var googleDialogflowCxTool []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_version.json +var googleDialogflowCxVersion []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_cx_webhook.json +var googleDialogflowCxWebhook []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_encryption_spec.json +var googleDialogflowEncryptionSpec []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_entity_type.json +var googleDialogflowEntityType []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_fulfillment.json +var googleDialogflowFulfillment []byte + +//go:embed mapping/google/resource/dialogflow/google_dialogflow_intent.json +var googleDialogflowIntent []byte + +//go:embed mapping/google/resource/managedkafka/google_managed_kafka_cluster.json +var googleManagedKafkaCluster []byte + +//go:embed mapping/google/resource/managedkafka/google_managed_kafka_connect_cluster.json +var googleManagedKafkaConnectCluster []byte + +//go:embed mapping/google/resource/managedkafka/google_managed_kafka_connector.json +var googleManagedKafkaConnector []byte + +//go:embed mapping/google/resource/managedkafka/google_managed_kafka_topic.json +var googleManagedKafkaTopics []byte + +//go:embed mapping/google/resource/modelarmor/google_model_armor_floorsetting.json +var googleModelArmorFloorsetting []byte + +//go:embed mapping/google/resource/modelarmor/google_model_armor_template.json +var googleModelArmorTemplate []byte + +//go:embed mapping/google/resource/managedkafka/google_managed_kafka_acl.json +var googleManagedKafkaAcl []byte + +//go:embed mapping/google/resource/certificatemanager/google_certificate_manager_dns_authorization.json +var googleCertificateManagerDnsAuthorization []byte + +//go:embed mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_binding.json +var googleIapWebRegionForwardingRuleServiceIamBinding []byte + +//go:embed mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_member.json +var googleIapWebRegionForwardingRuleServiceIamMember []byte + +//go:embed mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_policy.json +var googleIapWebRegionForwardingRuleServiceIamPolicy []byte + +//go:embed mapping/google/resource/iap/google_iap_settings.json +var googleIapSettings []byte + +//go:embed mapping/google/resource/iap/google_iap_tunnel_dest_group.json +var googleIapTunnelDestGroup []byte + +//go:embed mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_binding.json +var googleIapWebForwardingRuleServiceIamBinding []byte + +//go:embed mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_member.json +var googleIapWebForwardingRuleServiceIamMember []byte + +//go:embed mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_policy.json +var googleIapWebForwardingRuleServiceIamPolicy []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_code_repository_index.json +var googleGeminiCodeRepositoryIndex []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_code_tools_setting.json +var googleGeminiCodeToolsSetting []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_code_tools_setting_binding.json +var googleGeminiCodeToolsSettingBinding []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_data_sharing_with_google_setting.json +var googleGeminiDataSharingWithGoogleSetting []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_data_sharing_with_google_setting_binding.json +var googleGeminiDataSharingWithGoogleSettingBinding []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_gemini_gcp_enablement_setting.json +var googleGeminiGeminiGcpEnablementSetting []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_gemini_gcp_enablement_setting_binding.json +var googleGeminiGeminiGcpEnablementSettingBinding []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_logging_setting.json +var googleGeminiLoggingSetting []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_logging_setting_binding.json +var googleGeminiLoggingSettingBinding []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_release_channel_setting.json +var googleGeminiReleaseChannelSetting []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_release_channel_setting_binding.json +var googleGeminiReleaseChannelSettingBinding []byte + +//go:embed mapping/google/resource/cloudaicompanion/google_gemini_repository_group.json +var googleGeminiRepositoryGroup []byte + +//go:embed mapping/google/resource/aiplatform/google_vertex_ai_cache_config.json +var googleVertexAiCacheConfig []byte + +//go:embed mapping/google/resource/aiplatform/google_vertex_ai_deployment_resource_pool.json +var googleVertexAiDeploymentResourcePool []byte + +//go:embed mapping/google/resource/aiplatform/google_vertex_ai_rag_engine_config.json +var googleVertexAiRagEngineConfig []byte + +//go:embed mapping/google/resource/aiplatform/google_vertex_ai_reasoning_engine.json +var googleVertexAiReasoningEngine []byte + +//go:embed mapping/google/resource/vpcaccess/google_vpc_access_connector.json +var googleVpcAccessConnector []byte + +//go:embed mapping/google/resource/notebooks/google_workbench_instance.json +var googleWorkbenchInstance []byte + +//go:embed mapping/google/resource/aiplatform/google_vertex_ai_endpoint_with_model_garden_deployment.json +var googleVertexAiEndpointWithModelGardenDeployment []byte + +//go:embed mapping/google/resource/aiplatform/google_vertex_ai_index_endpoint_deployed_index.json +var googleVertexAiIndexEndpointDeployedIndex []byte diff --git a/src/files_gcp_datasource.go b/src/files_gcp_datasource.go index f758046b..fdd48fc0 100644 --- a/src/files_gcp_datasource.go +++ b/src/files_gcp_datasource.go @@ -939,3 +939,60 @@ var dataGoogleArtifactRegistryDockerImages []byte //go:embed mapping/google/data/iam.googleapis.com/google_iam_workforce_pool_iam_policy.json var dataGoogleIamWorkforcePoolIamPolicy []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_repositories.json +var dataGoogleArtifactRegistryRepositories []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_version.json +var dataGoogleArtifactRegistryVersion []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_versions.json +var dataGoogleArtifactRegistryVersions []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_npm_package.json +var dataGoogleArtifactRegistryNpmPackage []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_tags.json +var dataGoogleArtifactRegistryTags []byte + +//go:embed mapping/google/data/iap/google_iap_web_region_forwarding_rule_service_iam_policy.json +var dataGoogleIapWebRegionForwardingRuleServiceIamPolicy []byte + +//go:embed mapping/google/data/certificatemanager/google_certificate_manager_dns_authorization.json +var dataGoogleCertificateManagerDnsAuthorization []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_python_package.json +var dataGoogleArtifactRegistryPythonPackage []byte + +//go:embed mapping/google/data/backupdr/google_backup_dr_backup_plan_associations.json +var dataGoogleBackupDrPlanAssociations []byte + +//go:embed mapping/google/data/backupdr/google_backup_dr_data_source_reference.json +var dataGoogleBackupDrDataSourceReference []byte + +//go:embed mapping/google/data/backupdr/google_backup_dr_data_source_references.json +var dataGoogleBackupDrDataSourceReferences []byte + +//go:embed mapping/google/data/bigquery/google_bigquery_datapolicyv2_data_policy_iam_policy.json +var dataGoogleBigqueryDatapolicyv2DataPolicyIamPolicy []byte + +//go:embed mapping/google/data/iap/google_iap_web_forwarding_rule_service_iam_policy.json +var dataGoogleIapForwardingRuleServiceIamPolicy []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_maven_artifact.json +var dataGoogleArtifactRegistryMavenArtifact []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_maven_artifacts.json +var dataGoogleArtifactRegistryMavenArtifacts []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_npm_packages.json +var dataGoogleArtifactRegistryNpmPackages []byte + +//go:embed mapping/google/data/compute/google_compute_interconnect_location.json +var dataGoogleComputeInterconnectLocation []byte + +//go:embed mapping/google/data/compute/google_compute_interconnect_locations.json +var dataGoogleComputeInterconnectLocations []byte + +//go:embed mapping/google/data/artifactregistry/google_artifact_registry_packages.json +var dataGoogleArtifactRegistryPackages []byte diff --git a/src/gcp.go b/src/gcp.go index 77e66a5b..4193c863 100644 --- a/src/gcp.go +++ b/src/gcp.go @@ -82,13 +82,33 @@ var gCPTfLookup = map[string]interface{}{ "google_apigee_environment_iam_binding": googleApigeeEnvironmentIamBinding, "google_apigee_environment_iam_member": googleApigeeEnvironmentIamMember, "google_apigee_environment_iam_policy": googleApigeeEnvironmentIamPolicy, + "google_apihub_api_hub_instance": googleApihubInstance, + "google_apihub_curation": googleApihubCuration, + "google_apihub_host_project_registration": googleApihubHostProjectRegistration, + "google_apihub_plugin": googleApihubPlugin, + "google_apihub_plugin_instance": googleApihubPluginInstance, + "google_apphub_application": googleApphubApplication, + "google_apphub_service": googleApphubService, + "google_apphub_service_project_attachment": googleApphubServiceProjectAttachment, + "google_apphub_workload": googleApphubWorkload, "google_artifact_registry_repository": googleArtifactRegistryRepository, "google_artifact_registry_repository_iam_binding": googleArtifactRegistryRepositoryIamBinding, "google_artifact_registry_repository_iam_member": googleArtifactRegistryRepositoryIamMember, "google_artifact_registry_repository_iam_policy": googleArtifactRegistryRepositoryIamPolicy, + "google_backup_dr_backup_plan": googleBackupDRBackupPlan, + "google_backup_dr_backup_plan_association": googleBackupDRBackupPlanAssociation, + "google_backup_dr_backup_vault": googleBackupDRBackupVault, + "google_backup_dr_management_server": googleBackupDRManagementServer, + "google_backup_dr_service_config": googleBackupDRServiceConfig, + "google_beyondcorp_app_connection": googleBeyondcorpAppConnection, + "google_beyondcorp_app_connector": googleBeyondcorpAppConnector, + "google_beyondcorp_app_gateway": googleBeyondcorpAppGateway, + "google_beyondcorp_application": googleBeyondcorpApplication, "google_beyondcorp_application_iam_binding": googleBeyondcorpApplicationIamBinding, "google_beyondcorp_application_iam_member": googleBeyondcorpApplicationIamMember, "google_beyondcorp_application_iam_policy": googleBeyondcorpApplicationIamPolicy, + "google_beyondcorp_security_gateway": googleBeyondcorpSecurityGateway, + "google_beyondcorp_security_gateway_application": googleBeyondcorpSecurityGatewayApplication, "google_beyondcorp_security_gateway_application_iam_binding": googleBeyondcorpSecurityGatewayApplicationIamBinding, "google_beyondcorp_security_gateway_application_iam_member": googleBeyondcorpSecurityGatewayApplicationIamMember, "google_beyondcorp_security_gateway_application_iam_policy": googleBeyondcorpSecurityGatewayApplicationIamPolicy, @@ -141,6 +161,7 @@ var gCPTfLookup = map[string]interface{}{ "google_bigtable_instance_iam_policy": googleBigTableInstanceIam, "google_bigtable_logical_view": googleBigtableLogicalView, "google_bigtable_materialized_view": googleBigtableMaterializedView, + "google_bigtable_schema_bundle": googleBigtableSchemaBundle, "google_bigtable_table": googleBigtableTable, "google_bigtable_table_iam_binding": googleBigTableTableIam, "google_bigtable_table_iam_member": googleBigTableTableIam, @@ -148,9 +169,18 @@ var gCPTfLookup = map[string]interface{}{ "google_billing_account_iam_binding": googleBillingAccountIamBinding, "google_billing_account_iam_member": googleBillingAccountIamMember, "google_billing_account_iam_policy": googleBillingAccountIamPolicy, + "google_billing_budget": googleBillingBudget, + "google_billing_project_info": googleBillingProjectInfo, "google_binary_authorization_attestor_iam_binding": googleBinaryAuthorizationAttestorIamBinding, "google_binary_authorization_attestor_iam_member": googleBinaryAuthorizationAttestorIamMember, "google_binary_authorization_attestor_iam_policy": googleBinaryAuthorizationAttestorIamPolicy, + "google_chronicle_data_access_label": googleChronicleDataAccessLabel, + "google_chronicle_data_access_scope": googleChronicleDataAccessScope, + "google_chronicle_reference_list": googleChronicleReferenceList, + "google_chronicle_retrohunt": googleChronicleRetrohunt, + "google_chronicle_rule": googleChronicleRule, + "google_chronicle_rule_deployment": googleChronicleRuleDeployment, + "google_chronicle_watchlist": googleChronicleWatchlist, "google_cloud_run_domain_mapping": googleCloudRunDomainMapping, "google_cloud_run_service": googleCloudRunService, "google_cloud_run_service_iam_binding": googleCloudRunServiceIamBinding, @@ -199,10 +229,14 @@ var gCPTfLookup = map[string]interface{}{ "google_colab_runtime_template_iam_member": googleColabRuntimeTemplateIamMember, "google_colab_runtime_template_iam_policy": googleColabRuntimeTemplateIamPolicy, "google_composer_environment": googleComposerEnvironment, + "google_composer_user_workloads_config_map": googleComposerUserWorkloadsConfigMap, + "google_composer_user_workloads_secret": googleComposerUserWorkloadsSecret, "google_compute_address": googleComputeAddress, + "google_compute_backend_bucket": googleComputeBackendBucket, "google_compute_backend_bucket_iam_binding": googleComputeBackendBucketIamBinding, "google_compute_backend_bucket_iam_member": googleComputeBackendBucketIamMember, "google_compute_backend_bucket_iam_policy": googleComputeBackendBucketIamPolicy, + "google_compute_backend_service": googleComputeBackendService, "google_compute_backend_service_iam_binding": googleComputeBackendServiceIamBinding, "google_compute_backend_service_iam_member": googleComputeBackendServiceIamMember, "google_compute_backend_service_iam_policy": googleComputeBackendServiceIamPolicy, @@ -210,7 +244,13 @@ var gCPTfLookup = map[string]interface{}{ "google_compute_disk_iam_member": googleComputeDiskIamMember, "google_compute_disk_iam_policy": googleComputeDiskIamPolicy, "google_compute_firewall": googleComputeFirewall, + "google_compute_forwarding_rule": googleComputeForwardingRule, "google_compute_global_address": googleComputeGlobalAddress, + "google_compute_global_forwarding_rule": googleComputeGlobalForwardingRule, + "google_compute_global_network_endpoint_group": googleComputeGlobalNetworkEndpointGroup, + "google_compute_health_check": googleComputeHealthcheck, + "google_compute_http_health_check": googleComputeHttpHealthCheck, + "google_compute_https_health_check": googleComputeHttpsHealthCheck, "google_compute_image_iam_binding": googleComputeImageIamBinding, "google_compute_image_iam_member": googleComputeImageIamMember, "google_compute_image_iam_policy": googleComputeImageIamPolicy, @@ -229,14 +269,23 @@ var gCPTfLookup = map[string]interface{}{ "google_compute_machine_image_iam_member": googleComputeMachineImageIamMember, "google_compute_machine_image_iam_policy": googleComputeMachineImageIamPolicy, "google_compute_network": googleComputeNetwork, + "google_compute_network_attachment": googleComputeNetworkAttachment, + "google_compute_network_endpoint_group": googleComputeNetworkEndpointGroup, "google_compute_project_metadata_item": googleComputeProjectMetadataItem, + "google_compute_region_backend_service": googleComputeRgionBackendService, "google_compute_region_backend_service_iam_binding": googleComputeRegionBackendServiceIamBinding, "google_compute_region_backend_service_iam_member": googleComputeRegionBackendServiceIamMember, "google_compute_region_backend_service_iam_policy": googleComputeRegionBackendServiceIamPolicy, "google_compute_region_disk_iam_binding": googleComputeRegionDiskIamBinding, "google_compute_region_disk_iam_member": googleComputeRegionDiskIamMember, "google_compute_region_disk_iam_policy": googleComputeRegionDiskIamPolicy, + "google_compute_region_health_check": googleComputeRegioHealthCheck, + "google_compute_region_network_endpoint_group": googleComputeRegionNetworkEndpointGroup, "google_compute_region_ssl_certificate": googleComputeRegionSslCertificate, + "google_compute_region_target_http_proxy": googleComputeRegionTargetHttpProxy, + "google_compute_region_target_https_proxy": googleComputeRegionTargetHttpsProxy, + "google_compute_region_target_tcp_proxy": googleComputeRegionTargetTcpProxy, + "google_compute_region_url_map": googleComputeRegionUrlMap, "google_compute_security_policy": googleComputeSecurityPolicy, "google_compute_snapshot_iam_binding": googleComputeSnapshotIamBinding, "google_compute_snapshot_iam_member": googleComputeSnapshotIamMember, @@ -248,6 +297,11 @@ var gCPTfLookup = map[string]interface{}{ "google_compute_subnetwork_iam_binding": googleComputeSubnetworkIamBinding, "google_compute_subnetwork_iam_member": googleComputeSubnetworkIamMember, "google_compute_subnetwork_iam_policy": googleComputeSubnetworkIamPolicy, + "google_compute_target_http_proxy": googleComputeTargetHttpProxy, + "google_compute_target_https_proxy": googleComputeTargetHttpsProxy, + "google_compute_url_map": googleComputeUrlMap, + "google_contact_center_insights_analysis_rule": googleContactCenterInsightsAnalysisRule, + "google_contact_center_insights_view": googleContactCenterInsightsView, "google_container_analysis_note_iam_binding": googleContainerAnalysisNoteIamBinding, "google_container_analysis_note_iam_member": googleContainerAnalysisNoteIamMember, "google_container_analysis_note_iam_policy": googleContainerAnalysisNoteIamPolicy, @@ -274,9 +328,14 @@ var gCPTfLookup = map[string]interface{}{ "google_data_fusion_instance_iam_binding": googleDataFusionInstanceIamBinding, "google_data_fusion_instance_iam_member": googleDataFusionInstanceIamMember, "google_data_fusion_instance_iam_policy": googleDataFusionInstanceIamPolicy, + "google_dataflow_job": googleDataflowJob, + "google_dataform_repository": googleDataformRepository, "google_dataform_repository_iam_binding": googleDataformRepositoryIamBinding, "google_dataform_repository_iam_member": googleDataformRepositoryIamMember, "google_dataform_repository_iam_policy": googleDataformRepositoryIamPolicy, + "google_dataform_repository_release_config": googleDataformRepositoryReleaseConfig, + "google_dataform_repository_workflow_config": googleDataformRepositoryWorkflowConfig, + "google_dataplex_aspect_type": googleDataplexAspectType, "google_dataplex_aspect_type_iam_binding": googleDataplexAspectTypeIamBinding, "google_dataplex_aspect_type_iam_member": googleDataplexAspectTypeIamMember, "google_dataplex_aspect_type_iam_policy": googleDataplexAspectTypeIamPolicy, @@ -288,9 +347,12 @@ var gCPTfLookup = map[string]interface{}{ "google_dataplex_datascan_iam_binding": googleDataplexDatascanIamBinding, "google_dataplex_datascan_iam_member": googleDataplexDatascanIamMember, "google_dataplex_datascan_iam_policy": googleDataplexDatascanIamPolicy, + "google_dataplex_entry": googleDataplexEntry, + "google_dataplex_entry_group": googleDataplexEntryGroup, "google_dataplex_entry_group_iam_binding": googleDataplexEntryGroupIamBinding, "google_dataplex_entry_group_iam_member": googleDataplexEntryGroupIamMember, "google_dataplex_entry_group_iam_policy": googleDataplexEntryGroupIamPolicy, + "google_dataplex_entry_type": googleDataplexEntryType, "google_dataplex_entry_type_iam_binding": googleDataplexEntryTypeIamBinding, "google_dataplex_entry_type_iam_member": googleDataplexEntryTypeIamMember, "google_dataplex_entry_type_iam_policy": googleDataplexEntryTypeIamPolicy, @@ -300,21 +362,28 @@ var gCPTfLookup = map[string]interface{}{ "google_dataplex_glossary_iam_member": googleDataplexGlossaryIamMember, "google_dataplex_glossary_iam_policy": googleDataplexGlossaryIamPolicy, "google_dataplex_glossary_term": googleDataplexGlossaryTerm, + "google_dataplex_lake": googleDataplexLake, "google_dataplex_lake_iam_binding": googleDataplexLakeIamBinding, "google_dataplex_lake_iam_member": googleDataplexLakeIamMember, "google_dataplex_lake_iam_policy": googleDataplexLakeIamPolicy, + "google_dataplex_task": googleDataplexTask, "google_dataplex_task_iam_binding": googleDataplexLakeIamBinding, "google_dataplex_task_iam_member": googleDataplexTaskIamMember, "google_dataplex_task_iam_policy": googleDataplexTaskIamPolicy, + "google_dataplex_zone": googleDataplexZone, "google_dataplex_zone_iam_binding": googleDataplexZoneIamBinding, "google_dataplex_zone_iam_member": googleDataplexZoneIamMember, "google_dataplex_zone_iam_policy": googleDataplexLakeIamPolicy, + "google_dataproc_autoscaling_policy": googleDataprocAutoscalingPolicy, "google_dataproc_autoscaling_policy_iam_binding": googleDataprocAutoscalingPolicyIamBinding, "google_dataproc_autoscaling_policy_iam_member": googleDataprocAutoscalingPolicyIamMember, "google_dataproc_autoscaling_policy_iam_policy": googleDataprocAutoscalingPolicyIamPolicy, + "google_dataproc_batch": googleDataprocBatch, + "google_dataproc_cluster": googleDataprocCluster, "google_dataproc_cluster_iam_binding": googleDataprocClusterIamBinding, "google_dataproc_cluster_iam_member": googleDataprocClusterIamMember, "google_dataproc_cluster_iam_policy": googleDataprocClusterIamPolicy, + "google_dataproc_job": googleDataprocJob, "google_dataproc_job_iam_binding": googleDataprocJobIamBinding, "google_dataproc_job_iam_member": googleDataprocJobIamMember, "google_dataproc_job_iam_policy": googleDataprocJobIamPolicy, @@ -330,19 +399,57 @@ var gCPTfLookup = map[string]interface{}{ "google_dataproc_metastore_table_iam_binding": googleDataprocMetastoreTableIamBinding, "google_dataproc_metastore_table_iam_member": googleDataprocMetastoreTableIamMember, "google_dataproc_metastore_table_iam_policy": googleDataprocMetastoreTableIamPolicy, + "google_dataproc_session_template": googleDataprocSessionTemplate, + "google_dataproc_workflow_template": googleDataprocWorkflowTemplate, "google_default_service_accounts": googleDefaultServiceAccounts, + "google_deployment_manager_deployment": googleDeploymentManagerDeployment, + "google_developer_connect_account_connector": googleDeveloperConnectAccountConnector, + "google_developer_connect_connection": googleDeveloperConnectConnection, + "google_developer_connect_git_repository_link": googleDeveloperConnectGitRepositoryLink, + "google_dialogflow_agent": googleDialogflowAgent, + "google_dialogflow_conversation_profile": googleDialogflowConversationProfile, + "google_dialogflow_cx_agent": googleDialogflowCxAgent, + "google_dialogflow_cx_entity_type": googleDialogflowCxEntityType, + "google_dialogflow_cx_environment": googleDialogflowCxEnvironment, + "google_dialogflow_cx_flow": googleDialogflowCxFlow, + "google_dialogflow_cx_generative_settings": googleDialogflowCxGenerativeSettings, + "google_dialogflow_cx_generator": googleDialogflowCxGenerator, + "google_dialogflow_cx_intent": googleDialogflowCxIntent, + "google_dialogflow_cx_page": googleDialogflowCxPage, + "google_dialogflow_cx_playbook": googleDialogflowCxPlaybook, + "google_dialogflow_cx_security_settings": googleDialogflowCxSecuritySettings, + "google_dialogflow_cx_tool": googleDialogflowCxTool, + "google_dialogflow_cx_version": googleDialogflowCxVersion, + "google_dialogflow_cx_webhook": googleDialogflowCxWebhook, + "google_dialogflow_encryption_spec": googleDialogflowEncryptionSpec, + "google_dialogflow_entity_type": googleDialogflowEntityType, + "google_dialogflow_fulfillment": googleDialogflowFulfillment, + "google_dialogflow_intent": googleDialogflowIntent, "google_dns_managed_zone": googleDnsmanagedZone, "google_dns_managed_zone_iam_binding": googleDNSManagedZoneIamBinding, "google_dns_managed_zone_iam_member": googleDNSManagedZoneIamMember, "google_dns_managed_zone_iam_policy": googleDNSManagedZoneIamPolicy, "google_dns_policy": googleDNSPolicy, "google_dns_record_set": googleDNSRecordSet, + "google_edgecontainer_cluster": googleEdgecontainerCluster, + "google_edgecontainer_node_pool": googleEdgecontainerNodePool, + "google_edgecontainer_vpn_connection": googleEdgecontainerVpnConnection, + "google_edgenetwork_interconnect_attachment": googleEdgecontainerInterconnectAttachment, + "google_edgenetwork_network": googleEdgecontainerNetwork, + "google_edgenetwork_subnet": googleEdgecontainerSubnet, "google_endpoints_service_consumers_iam_binding": googleEndpointsServiceConsumersIamBinding, "google_endpoints_service_consumers_iam_member": googleEndpointsServiceConsumersIamMember, "google_endpoints_service_consumers_iam_policy": googleEndpointsServiceConsumersIamPolicy, "google_endpoints_service_iam_binding": googleEndpointsServiceIamBinding, "google_endpoints_service_iam_member": googleEndpointsServiceIamMember, "google_endpoints_service_iam_policy": googleEndpointsServiceIamPolicy, + "google_eventarc_channel": googleEventarcChannel, + "google_eventarc_enrollment": googleEventarcEnrollment, + "google_eventarc_google_api_source": googleEventarcGoogleApiSource, + "google_eventarc_google_channel_config": googleEventarcGoogleChannelConfig, + "google_eventarc_message_bus": googleEventarcMessageBus, + "google_eventarc_pipeline": googleEventarcPipeline, + "google_eventarc_trigger": googleEventarcTrigger, "google_firebase_android_app": googleFirebaseAndroidApp, "google_firebase_apple_app": googleFirebaseAppleApp, "google_firebase_database_instance": googleFirebaseDatabaseInstance, @@ -392,6 +499,12 @@ var gCPTfLookup = map[string]interface{}{ "google_healthcare_hl7_v2_store_iam_binding": googleHealthcareHl7V2StoreIamBinding, "google_healthcare_hl7_v2_store_iam_member": googleHealthcareHl7V2StoreIamMember, "google_healthcare_hl7_v2_store_iam_policy": googleHealthcareHl7V2StoreIamPolicy, + "google_iam_workforce_pool": googleIamWorkforcePool, + "google_iam_workforce_pool_iam_binding": googleIamWorkforcePoolIamBinding, + "google_iam_workforce_pool_iam_member": googleIamWorkforcePoolIamMember, + "google_iam_workforce_pool_iam_policy": googleIamWorkforcePoolIamPolicy, + "google_iam_workforce_pool_provider": googleIamWorkforcePoolProvider, + "google_iam_workforce_pool_provider_key": googleIamWorkforcePoolProviderKey, "google_iam_workload_identity_pool": googleIamWorkloadIdentityPool, "google_iam_workload_identity_pool_iam_binding": googleIamWorkloadIdentityPoolIamBinding, "google_iam_workload_identity_pool_iam_member": googleIamWorkloadIdentityPoolIamMember, @@ -445,36 +558,85 @@ var gCPTfLookup = map[string]interface{}{ "google_kms_key_ring_iam_policy": googleKmsKeyRingIamPolicy, "google_kms_key_ring_import_job": googleKmsKeyRingImportJob, "google_kms_secret_ciphertext": googleKmsSecretCiphertext, + "google_logging_billing_account_exclusion": googleLoggingBillingAccountExclusion, + "google_logging_billing_account_sink": googleLoggingBillingAccountSink, + "google_logging_folder_exclusion": googleLoggingFolderExclusion, + "google_logging_folder_settings": googleLoggingFolderSettings, + "google_logging_folder_sink": googleLoggingFolderSink, + "google_logging_linked_dataset": googleLoggingLinkedDataset, + "google_logging_log_scope": googleLoggingLogScope, + "google_logging_log_view": googleLoggingLogView, "google_logging_log_view_iam_binding": googleLoggingLogViewIamBinding, "google_logging_log_view_iam_member": googleLoggingLogViewIamMember, "google_logging_log_view_iam_policy": googleLoggingLogViewIamPolicy, + "google_logging_metric": googleLoggingMetric, + "google_logging_organization_exclusion": googleLoggingOrganizationExclusion, + "google_logging_organization_settings": googleLoggingOrganizationSettings, + "google_logging_organization_sink": googleLoggingOrganizationSink, + "google_logging_project_exclusion": googleLoggingProjectExclusion, + "google_logging_project_sink": googleLoggingProjectSink, + "google_managed_kafka_acl": googleManagedKafkaAcl, + "google_managed_kafka_cluster": googleManagedKafkaCluster, + "google_managed_kafka_connect_cluster": googleManagedKafkaConnectCluster, + "google_managed_kafka_connector": googleManagedKafkaConnector, + "google_managed_kafka_topic": googleManagedKafkaTopics, + "google_memcache_instance": googleMemcacheInstance, + "google_memorystore_instance": googleMemorystoreInstance, + "google_model_armor_floorsetting": googleModelArmorFloorsetting, + "google_model_armor_template": googleModelArmorTemplate, + "google_monitoring_alert_policy": googleMonitoringAlertPolicy, + "google_monitoring_custom_service": googleMonitoringCustomService, + "google_monitoring_dashboard": googleMonitoringDashboard, + "google_monitoring_group": googleMonitoringGroup, + "google_monitoring_metric_descriptor": googleMonitoringMetricDescriptor, + "google_monitoring_monitored_project": googleMonitoringMonitoredProject, + "google_monitoring_notification_channel": googleMonitoringNotificationChannel, + "google_monitoring_service": googleMonitoringService, + "google_monitoring_slo": googleMonitoringSLO, + "google_monitoring_uptime_check_config": googleMonitoringUptimeCheckConfig, "google_network_security_address_group_iam_binding": googleNetworkSecurityAddressGroupIamBinding, "google_network_security_address_group_iam_member": googleNetworkSecurityAddressGroupIamMember, "google_network_security_address_group_iam_policy": googleNetworkSecurityAddressGroupIamPolicy, + "google_notebooks_environment": googleNotebooksEnvironment, + "google_notebooks_instance": googleNotebooksInstance, "google_notebooks_instance_iam_binding": googleNotebooksInstanceIamBinding, "google_notebooks_instance_iam_member": googleNotebooksInstanceIamMember, "google_notebooks_instance_iam_policy": googleNotebooksInstanceIamPolicy, + "google_notebooks_runtime": googleNotebooksRuntime, "google_notebooks_runtime_iam_binding": googleNotebooksRuntimeIamBinding, "google_notebooks_runtime_iam_member": googleNotebooksRuntimeIamMember, "google_notebooks_runtime_iam_policy": googleNotebooksRuntimeIamPolicy, "google_organization_iam_binding": googleOrganizationIamBinding, "google_organization_iam_member": googleOrganizationIamMember, "google_organization_iam_policy": googleOrganizationIamPolicy, + "google_os_config_guest_policies": googleOsConfigGuestPolicies, + "google_os_config_os_policy_assignment": googleOsConfigOsPolicyAssignment, + "google_os_config_patch_deployment": googleOsConfigPatchDeployment, + "google_os_config_v2_policy_orchestrator": googleOsConfigV2PolicyOrchestrator, + "google_os_config_v2_policy_orchestrator_for_folder": googleOsConfigV2PolicyOrchestratorForFolder, + "google_os_config_v2_policy_orchestrator_for_organization": googleOsConfigV2PolicyOrchestratorForOrganization, + "google_parallelstore_instance": googleParallelstoreInstance, "google_privateca_ca_pool": googlePrivateCaPool, "google_privateca_ca_pool_iam_binding": googlePrivateCaPoolIamBinding, "google_privateca_ca_pool_iam_member": googlePrivateCaPoolIamMember, "google_privateca_ca_pool_iam_policy": googlePrivateCaPoolIamPolicy, + "google_privateca_certificate": googlePrivatecaCertificate, + "google_privateca_certificate_authority": googlePrivatecaCertificateAuthority, "google_privateca_certificate_template": googlePrivatecaCertificateTemplate, "google_privateca_certificate_template_iam_binding": googlePrivatecaCertificateTemplateIamBinding, "google_privateca_certificate_template_iam_member": googlePrivatecaCertificateTemplateIamMember, "google_privateca_certificate_template_iam_policy": googlePrivatecaCertificateTemplateIamPolicy, "google_privileged_access_manager_entitlement": googlePrivilegedAccessManagerEntitlement, + "google_project": gooleProject, + "google_project_access_approval_settings": googleProjectAccessApprovalSettings, "google_project_default_service_accounts": googleProjectDefaultServiceAccounts, "google_project_iam_audit_config": googleProjectIamAuditConfig, "google_project_iam_binding": googleProjectIamBinding, "google_project_iam_custom_role": googleProjectIamCustomRole, "google_project_iam_member": googleProjectIamBinding, + "google_project_iam_member_remove": googleProjectIamMemberRemove, "google_project_iam_policy": googleProjectIamPolicy, + "google_project_organization_policy": googleProjectOrganizationPolicy, "google_project_service": googleProjectService, "google_project_service_identity": placeholder, "google_project_services": placeholder, @@ -494,14 +656,20 @@ var gCPTfLookup = map[string]interface{}{ "google_pubsub_topic_iam_binding": googlePubsubTopicIam, "google_pubsub_topic_iam_member": googlePubsubTopicIam, "google_pubsub_topic_iam_policy": googlePubsubTopicIam, + "google_redis_cluster": googleRedisCluster, + "google_redis_cluster_user_created_connections": googleRedisClusterUserCreatedConnections, "google_redis_instance": googleRedisInstance, + "google_runtimeconfig_config": googleRuntimeconfigConfig, "google_runtimeconfig_config_iam_binding": googleRuntimeconfigConfigIamBinding, "google_runtimeconfig_config_iam_member": googleRuntimeconfigConfigIamMember, "google_runtimeconfig_config_iam_policy": googleRuntimeconfigConfigIamPolicy, + "google_runtimeconfig_variable": googleRuntimeconfigVariable, "google_scc_source_iam_binding": googleSccSourceIamBinding, "google_scc_source_iam_member": googleSccSourceIamMember, + "google_scc_source_iam_policy": googleSccSourceIamPolicy, "google_scc_v2_organization_source_iam_binding": googleSccV2OrganizationSourceIamBinding, "google_scc_v2_organization_source_iam_member": googleSccV2OrganizationSourceIamMember, + "google_scc_v2_organization_source_iam_policy": googleSccV2OrganizationSourceIamPolicy, "google_secret_manager_regional_secret": googleSecretManagerRegionalSecret, "google_secret_manager_regional_secret_iam_binding": googleSecretManagerRegionalSecretsIamBinding, "google_secret_manager_regional_secret_iam_member": googleSecretManagerRegionalSecretIamMember, @@ -512,9 +680,12 @@ var gCPTfLookup = map[string]interface{}{ "google_secret_manager_secret_iam_member": googleSecretManagerSecretIam, "google_secret_manager_secret_iam_policy": googleSecretManagerSecretIam, "google_secret_manager_secret_version": googleSecretManagerSecretVersion, + "google_secure_source_manager_branch_rule": googleSecureSourceManagerBranchRule, + "google_secure_source_manager_instance": googleSecureSourceManagerInstance, "google_secure_source_manager_instance_iam_binding": googleSecureSourceManagerInstanceIamBinding, "google_secure_source_manager_instance_iam_member": googleSecureSourceManagerInstanceIamMember, "google_secure_source_manager_instance_iam_policy": googleSecureSourceManagerInstanceIamPolicy, + "google_secure_source_manager_repository": googleSecureSourceManagerRepository, "google_secure_source_manager_repository_iam_binding": googleSecureSourceManagerRepositoryIamBinding, "google_secure_source_manager_repository_iam_member": googleSecureSourceManagerRepositoryIamMember, "google_secure_source_manager_repository_iam_policy": googleSecureSourceManagerRepositoryIamPolicy, @@ -533,6 +704,8 @@ var gCPTfLookup = map[string]interface{}{ "google_service_directory_service_iam_member": googleServiceDirectoryServiceIamMember, "google_service_directory_service_iam_policy": googleServiceDirectoryServiceIamPolicy, "google_service_networking_connection": googleServiceNetworkingConnection, + "google_site_verification_owner": placeholder, + "google_site_verification_web_resource": placeholder, "google_sourcerepo_repository": googleSourcerepoRepository, "google_sourcerepo_repository_iam_binding": googleSourcerepoRepositoryIamBinding, "google_sourcerepo_repository_iam_member": googleSourcerepoRepositoryIamMember, @@ -550,6 +723,7 @@ var gCPTfLookup = map[string]interface{}{ "google_spanner_instance_partition": googleSpannerInstancePartition, "google_sql_database": googleSQLDatabase, "google_sql_database_instance": googleSQLDatabaseInstance, + "google_sql_ssl_cert": googleSqlSslCert, "google_sql_user": googleSQLUser, "google_storage_bucket": googleStorageBucket, "google_storage_bucket_access_control": googleStorageBucketAccessControl, @@ -558,6 +732,9 @@ var gCPTfLookup = map[string]interface{}{ "google_storage_bucket_iam_member": googleStorageBucketIamMember, "google_storage_bucket_iam_policy": googleStorageBucketIamPolicy, "google_storage_bucket_object": googleStorageBucketObject, + "google_storage_control_folder_intelligence_config": googleStorageControlFolderIntelligenceConfig, + "google_storage_control_organization_intelligence_config": googleStorageControlOrganizationIntelligenceConfig, + "google_storage_control_project_intelligence_config": googleStorageControlProjectIntelligenceConfig, "google_storage_default_object_access_control": googleStorageDefaultObjectAccessControl, "google_storage_default_object_acl": googleStorageDefaultObjectACL, "google_storage_hmac_key": googleStorageHmacKey, @@ -566,12 +743,21 @@ var gCPTfLookup = map[string]interface{}{ "google_storage_managed_folder_iam_member": googleStorageManagedFolderIamMember, "google_storage_managed_folder_iam_policy": googleStorageManagedFolderIamPolicy, "google_storage_object_access_control": googleStorageObjectAccessControl, + "google_tags_location_tag_binding": googleTagsLocationTagBinding, + "google_tags_tag_binding": googleTagsTagBinding, + "google_tags_tag_key": googleTagsTagKey, "google_tags_tag_key_iam_binding": googleTagsTagKeyIamBinding, "google_tags_tag_key_iam_member": googleTagsTagKeyIamMember, "google_tags_tag_key_iam_policy": googleTagsTagKeyIamPolicy, + "google_tags_tag_value": googleTagsTagValue, "google_tags_tag_value_iam_binding": googleTagsTagValueIamBinding, "google_tags_tag_value_iam_member": googleTagsTagValueIamMember, "google_tags_tag_value_iam_policy": googleTagsTagValueIamPolicy, + "google_tpu_node": googleTpuNode, + "google_tpu_v2_queued_resource": googleTpuV2QueuedResource, + "google_tpu_v2_vm": googleTpuV2Vm, + "google_transcoder_job": googleTranscoderJob, + "google_transcoder_job_template": googleTranscoderJobTemplate, "google_vertex_ai_dataset": googleVertexAiDataset, "google_vertex_ai_endpoint": googleVertexAiEndpoint, "google_vertex_ai_endpoint_iam_binding": googleVertexAiEndpointIam, @@ -603,114 +789,6 @@ var gCPTfLookup = map[string]interface{}{ "google_vertex_ai_index_endpoint": googleVertexAiIndexEndpoint, "google_vertex_ai_metadata_store": googleVertexAiMetadataStore, "google_vertex_ai_tensorboard": googleVertexAiTensorboard, - "google_workbench_instance_iam_binding": googleWorkbenchInstanceIamBinding, - "google_workbench_instance_iam_member": googleWorkbenchInstanceIamMember, - "google_workbench_instance_iam_policy": googleWorkbenchInstanceIamPolicy, - "google_workstations_workstation_config_iam_binding": googleWorkstationsWorkstationConfigIamBinding, - "google_workstations_workstation_config_iam_member": googleWorkstationsWorkstationConfigIamMember, - "google_workstations_workstation_config_iam_policy": googleWorkstationsWorkstationConfigIamPolicy, - "google_workstations_workstation_iam_binding": googleWorkstationsWorkstationIamBinding, - "google_workstations_workstation_iam_member": googleWorkstationsWorkstationIamMember, - "google_workstations_workstation_iam_policy": googleWorkstationsWorkstationIamPolicy, - "google_scc_source_iam_policy": googleSccSourceIamPolicy, - "google_scc_v2_organization_source_iam_policy": googleSccV2OrganizationSourceIamPolicy, - "google_tags_location_tag_binding": googleTagsLocationTagBinding, - "google_tags_tag_binding": googleTagsTagBinding, - "google_tags_tag_key": googleTagsTagKey, - "google_tags_tag_value": googleTagsTagValue, - "google_storage_control_folder_intelligence_config": googleStorageControlFolderIntelligenceConfig, - "google_storage_control_organization_intelligence_config": googleStorageControlOrganizationIntelligenceConfig, - "google_storage_control_project_intelligence_config": googleStorageControlProjectIntelligenceConfig, - "google_site_verification_web_resource": placeholder, - "google_site_verification_owner": placeholder, - "google_runtimeconfig_config": googleRuntimeconfigConfig, - "google_runtimeconfig_variable": googleRuntimeconfigVariable, - "google_redis_cluster": googleRedisCluster, - "google_redis_cluster_user_created_connections": googleRedisClusterUserCreatedConnections, - "google_project": gooleProject, - "google_project_access_approval_settings": googleProjectAccessApprovalSettings, - "google_project_iam_member_remove": googleProjectIamMemberRemove, - "google_project_organization_policy": googleProjectOrganizationPolicy, - "google_compute_forwarding_rule": googleComputeForwardingRule, - "google_compute_global_forwarding_rule": googleComputeGlobalForwardingRule, - "google_compute_health_check": googleComputeHealthcheck, - "google_compute_http_health_check": googleComputeHttpHealthCheck, - "google_compute_https_health_check": googleComputeHttpsHealthCheck, - "google_compute_region_backend_service": googleComputeRgionBackendService, - "google_compute_region_health_check": googleComputeRegioHealthCheck, - "google_compute_region_target_http_proxy": googleComputeRegionTargetHttpProxy, - "google_compute_region_target_https_proxy": googleComputeRegionTargetHttpsProxy, - "google_compute_region_target_tcp_proxy": googleComputeRegionTargetTcpProxy, - "google_compute_region_url_map": googleComputeRegionUrlMap, - "google_compute_target_http_proxy": googleComputeTargetHttpProxy, - "google_compute_target_https_proxy": googleComputeTargetHttpsProxy, - "google_compute_url_map": googleComputeUrlMap, - "google_compute_backend_service": googleComputeBackendService, - "google_compute_backend_bucket": googleComputeBackendBucket, - "google_compute_global_network_endpoint_group": googleComputeGlobalNetworkEndpointGroup, - "google_compute_network_endpoint_group": googleComputeNetworkEndpointGroup, - "google_compute_region_network_endpoint_group": googleComputeRegionNetworkEndpointGroup, - "google_dataflow_job": googleDataflowJob, - "google_dataform_repository": googleDataformRepository, - "google_dataform_repository_release_config": googleDataformRepositoryReleaseConfig, - "google_dataform_repository_workflow_config": googleDataformRepositoryWorkflowConfig, - "google_compute_network_attachment": googleComputeNetworkAttachment, - "google_notebooks_environment": googleNotebooksEnvironment, - "google_notebooks_instance": googleNotebooksInstance, - "google_notebooks_runtime": googleNotebooksRuntime, - "google_logging_billing_account_exclusion": googleLoggingBillingAccountExclusion, - "google_logging_billing_account_sink": googleLoggingBillingAccountSink, - "google_logging_folder_exclusion": googleLoggingFolderExclusion, - "google_logging_folder_settings": googleLoggingFolderSettings, - "google_logging_folder_sink": googleLoggingFolderSink, - "google_logging_linked_dataset": googleLoggingLinkedDataset, - "google_logging_log_scope": googleLoggingLogScope, - "google_logging_log_view": googleLoggingLogView, - "google_logging_metric": googleLoggingMetric, - "google_logging_organization_exclusion": googleLoggingOrganizationExclusion, - "google_logging_organization_settings": googleLoggingOrganizationSettings, - "google_logging_organization_sink": googleLoggingOrganizationSink, - "google_logging_project_exclusion": googleLoggingProjectExclusion, - "google_logging_project_sink": googleLoggingProjectSink, - "google_monitoring_alert_policy": googleMonitoringAlertPolicy, - "google_monitoring_custom_service": googleMonitoringCustomService, - "google_monitoring_dashboard": googleMonitoringDashboard, - "google_monitoring_group": googleMonitoringGroup, - "google_monitoring_metric_descriptor": googleMonitoringMetricDescriptor, - "google_monitoring_monitored_project": googleMonitoringMonitoredProject, - "google_monitoring_notification_channel": googleMonitoringNotificationChannel, - "google_monitoring_service": googleMonitoringService, - "google_monitoring_slo": googleMonitoringSLO, - "google_monitoring_uptime_check_config": googleMonitoringUptimeCheckConfig, - "google_backup_dr_backup_plan": googleBackupDRBackupPlan, - "google_backup_dr_backup_plan_association": googleBackupDRBackupPlanAssociation, - "google_backup_dr_backup_vault": googleBackupDRBackupVault, - "google_backup_dr_management_server": googleBackupDRManagementServer, - "google_backup_dr_service_config": googleBackupDRServiceConfig, - "google_beyondcorp_app_connection": googleBeyondcorpAppConnection, - "google_beyondcorp_app_connector": googleBeyondcorpAppConnector, - "google_beyondcorp_app_gateway": googleBeyondcorpAppGateway, - "google_beyondcorp_application": googleBeyondcorpApplication, - "google_beyondcorp_security_gateway": googleBeyondcorpSecurityGateway, - "google_beyondcorp_security_gateway_application": googleBeyondcorpSecurityGatewayApplication, - "google_billing_budget": googleBillingBudget, - "google_billing_project_info": googleBillingProjectInfo, - "google_apihub_api_hub_instance": googleApihubInstance, - "google_apihub_curation": googleApihubCuration, - "google_apihub_host_project_registration": googleApihubHostProjectRegistration, - "google_apihub_plugin": googleApihubPlugin, - "google_apihub_plugin_instance": googleApihubPluginInstance, - "google_apphub_application": googleApphubApplication, - "google_apphub_service": googleApphubService, - "google_apphub_service_project_attachment": googleApphubServiceProjectAttachment, - "google_apphub_workload": googleApphubWorkload, - "google_dataplex_aspect_type": googleDataplexAspectType, - "google_dataplex_entry": googleDataplexEntry, - "google_dataplex_entry_group": googleDataplexEntryGroup, - "google_dataplex_entry_type": googleDataplexEntryType, - "google_dataplex_lake": googleDataplexLake, - "google_dataplex_task": googleDataplexTask, - "google_dataplex_zone": googleDataplexZone, "google_vmwareengine_cluster": googleVmwareengineCluster, "google_vmwareengine_external_access_rule": googleVmwareengineExternalAccessRule, "google_vmwareengine_external_address": googleVmwareengineExternalAddress, @@ -719,46 +797,48 @@ var gCPTfLookup = map[string]interface{}{ "google_vmwareengine_network_policy": googleVmwareengineNetworkPolicy, "google_vmwareengine_private_cloud": googleVmwareenginePrivateCloud, "google_vmwareengine_subnet": googleVmwareengineSubnet, + "google_workbench_instance_iam_binding": googleWorkbenchInstanceIamBinding, + "google_workbench_instance_iam_member": googleWorkbenchInstanceIamMember, + "google_workbench_instance_iam_policy": googleWorkbenchInstanceIamPolicy, "google_workflows_workflow": googleWorkflowsWorkflow, "google_workstations_workstation": googleWorkstationsWorkstation, "google_workstations_workstation_cluster": googleWorkstationsWorkstationCluster, "google_workstations_workstation_config": googleWorkstationsWorkstationConfig, - "google_chronicle_data_access_label": googleChronicleDataAccessLabel, - "google_chronicle_data_access_scope": googleChronicleDataAccessScope, - "google_chronicle_reference_list": googleChronicleReferenceList, - "google_chronicle_retrohunt": googleChronicleRetrohunt, - "google_chronicle_rule": googleChronicleRule, - "google_chronicle_rule_deployment": googleChronicleRuleDeployment, - "google_chronicle_watchlist": googleChronicleWatchlist, - "google_composer_user_workloads_config_map": googleComposerUserWorkloadsConfigMap, - "google_composer_user_workloads_secret": googleComposerUserWorkloadsSecret, - "google_contact_center_insights_analysis_rule": googleContactCenterInsightsAnalysisRule, - "google_contact_center_insights_view": googleContactCenterInsightsView, - "google_developer_connect_account_connector": googleDeveloperConnectAccountConnector, - "google_developer_connect_connection": googleDeveloperConnectConnection, - "google_developer_connect_git_repository_link": googleDeveloperConnectGitRepositoryLink, - "google_bigtable_schema_bundle": googleBigtableSchemaBundle, - "google_memcache_instance": googleMemcacheInstance, - "google_memorystore_instance": googleMemorystoreInstance, - "google_os_config_guest_policies": googleOsConfigGuestPolicies, - "google_os_config_os_policy_assignment": googleOsConfigOsPolicyAssignment, - "google_os_config_patch_deployment": googleOsConfigPatchDeployment, - "google_os_config_v2_policy_orchestrator": googleOsConfigV2PolicyOrchestrator, - "google_os_config_v2_policy_orchestrator_for_folder": googleOsConfigV2PolicyOrchestratorForFolder, - "google_os_config_v2_policy_orchestrator_for_organization": googleOsConfigV2PolicyOrchestratorForOrganization, - "google_parallelstore_instance": googleParallelstoreInstance, - "google_privateca_certificate": googlePrivatecaCertificate, - "google_privateca_certificate_authority": googlePrivatecaCertificateAuthority, - "google_sql_ssl_cert": googleSqlSslCert, - "google_tpu_node": googleTpuNode, - "google_tpu_v2_queued_resource": googleTpuV2QueuedResource, - "google_tpu_v2_vm": googleTpuV2Vm, - "google_transcoder_job": googleTranscoderJob, - "google_transcoder_job_template": googleTranscoderJobTemplate, - "google_iam_workforce_pool": googleIamWorkforcePool, - "google_iam_workforce_pool_iam_binding": googleIamWorkforcePoolIamBinding, - "google_iam_workforce_pool_iam_member": googleIamWorkforcePoolIamMember, - "google_iam_workforce_pool_iam_policy": googleIamWorkforcePoolIamPolicy, - "google_iam_workforce_pool_provider": googleIamWorkforcePoolProvider, - "google_iam_workforce_pool_provider_key": googleIamWorkforcePoolProviderKey, + "google_workstations_workstation_config_iam_binding": googleWorkstationsWorkstationConfigIamBinding, + "google_workstations_workstation_config_iam_member": googleWorkstationsWorkstationConfigIamMember, + "google_workstations_workstation_config_iam_policy": googleWorkstationsWorkstationConfigIamPolicy, + "google_workstations_workstation_iam_binding": googleWorkstationsWorkstationIamBinding, + "google_workstations_workstation_iam_member": googleWorkstationsWorkstationIamMember, + "google_workstations_workstation_iam_policy": googleWorkstationsWorkstationIamPolicy, + "google_certificate_manager_dns_authorization": googleCertificateManagerDnsAuthorization, + "google_iap_web_region_forwarding_rule_service_iam_binding": googleIapWebRegionForwardingRuleServiceIamBinding, + "google_iap_web_region_forwarding_rule_service_iam_member": googleIapWebRegionForwardingRuleServiceIamMember, + "google_iap_web_region_forwarding_rule_service_iam_policy": googleIapWebRegionForwardingRuleServiceIamPolicy, + "google_iap_brand": placeholder, //being deprecated + "google_iap_client": placeholder, //being deprecated + "google_iap_settings": googleIapSettings, + "google_iap_tunnel_dest_group": googleIapTunnelDestGroup, + "google_iap_web_forwarding_rule_service_iam_binding": googleIapWebForwardingRuleServiceIamBinding, + "google_iap_web_forwarding_rule_service_iam_member": googleIapWebForwardingRuleServiceIamMember, + "google_iap_web_forwarding_rule_service_iam_policy": googleIapWebForwardingRuleServiceIamPolicy, + "google_gemini_code_repository_index": googleGeminiCodeRepositoryIndex, + "google_gemini_code_tools_setting": googleGeminiCodeToolsSetting, + "google_gemini_code_tools_setting_binding": googleGeminiCodeToolsSettingBinding, + "google_gemini_data_sharing_with_google_setting": googleGeminiDataSharingWithGoogleSetting, + "google_gemini_data_sharing_with_google_setting_binding": googleGeminiDataSharingWithGoogleSettingBinding, + "google_gemini_gemini_gcp_enablement_setting": googleGeminiGeminiGcpEnablementSetting, + "google_gemini_gemini_gcp_enablement_setting_binding": googleGeminiGeminiGcpEnablementSettingBinding, + "google_gemini_logging_setting": googleGeminiLoggingSetting, + "google_gemini_logging_setting_binding": googleGeminiLoggingSettingBinding, + "google_gemini_release_channel_setting": googleGeminiReleaseChannelSetting, + "google_gemini_release_channel_setting_binding": googleGeminiReleaseChannelSettingBinding, + "google_gemini_repository_group": googleGeminiRepositoryGroup, + "google_vertex_ai_cache_config": googleVertexAiCacheConfig, + "google_vertex_ai_deployment_resource_pool": googleVertexAiDeploymentResourcePool, + "google_vertex_ai_rag_engine_config": googleVertexAiRagEngineConfig, + "google_vertex_ai_reasoning_engine": googleVertexAiReasoningEngine, + "google_vpc_access_connector": googleVpcAccessConnector, + "google_workbench_instance": googleWorkbenchInstance, + "google_vertex_ai_endpoint_with_model_garden_deployment": googleVertexAiEndpointWithModelGardenDeployment, + "google_vertex_ai_index_endpoint_deployed_index": googleVertexAiIndexEndpointDeployedIndex, } diff --git a/src/gcp_datasource.go b/src/gcp_datasource.go index 0dfd1fb3..56a9a275 100644 --- a/src/gcp_datasource.go +++ b/src/gcp_datasource.go @@ -404,6 +404,25 @@ func GCPDataLookup(result string) interface{} { "google_storage_insights_dataset_config": dataGoogleStorageInsightsDatasetConfig, "google_artifact_registry_docker_images": dataGoogleArtifactRegistryDockerImages, "google_iam_workforce_pool_iam_policy": dataGoogleIamWorkforcePoolIamPolicy, + "google_artifact_registry_repositories": dataGoogleArtifactRegistryRepositories, + "google_artifact_registry_version": dataGoogleArtifactRegistryVersion, + "google_artifact_registry_versions": dataGoogleArtifactRegistryVersions, + "google_artifact_registry_npm_package": dataGoogleArtifactRegistryNpmPackage, + "google_artifact_registry_tags": dataGoogleArtifactRegistryTags, + "google_iap_web_region_forwarding_rule_service_iam_policy": dataGoogleIapWebRegionForwardingRuleServiceIamPolicy, + "google_certificate_manager_dns_authorization": dataGoogleCertificateManagerDnsAuthorization, + "google_artifact_registry_python_package": dataGoogleArtifactRegistryPythonPackage, + "google_backup_dr_backup_plan_associations": dataGoogleBackupDrPlanAssociations, + "google_backup_dr_data_source_reference": dataGoogleBackupDrDataSourceReference, + "google_backup_dr_data_source_references": dataGoogleBackupDrDataSourceReferences, + "google_bigquery_datapolicyv2_data_policy_iam_policy": dataGoogleBigqueryDatapolicyv2DataPolicyIamPolicy, + "google_iap_web_forwarding_rule_service_iam_policy": dataGoogleIapForwardingRuleServiceIamPolicy, + "google_artifact_registry_maven_artifact": dataGoogleArtifactRegistryMavenArtifact, + "google_artifact_registry_maven_artifacts": dataGoogleArtifactRegistryMavenArtifacts, + "google_artifact_registry_npm_packages": dataGoogleArtifactRegistryNpmPackages, + "google_compute_interconnect_location": dataGoogleComputeInterconnectLocation, + "google_compute_interconnect_locations": dataGoogleComputeInterconnectLocations, + "google_artifact_registry_packages": dataGoogleArtifactRegistryPackages, } return TFLookup[result] diff --git a/src/gcp_policy_test.go b/src/gcp_policy_test.go index a2dabef4..16fdab3d 100644 --- a/src/gcp_policy_test.go +++ b/src/gcp_policy_test.go @@ -10,7 +10,7 @@ import ( func TestGCPPolicy(t *testing.T) { t.Parallel() - os.Setenv("GCP_PROJECT", "pike-412922") + _ = os.Setenv("GCP_PROJECT", "pike-412922") type args struct { permissions []string } @@ -66,9 +66,9 @@ func TestGetCurrentProject_EnvironmentVariables(t *testing.T) { // Clean up after test defer func() { - os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) - os.Setenv("GOOGLE_PROJECT", originalGoogleProject) - os.Setenv("GCP_PROJECT", originalGcpProject) + _ = os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) + _ = os.Setenv("GOOGLE_PROJECT", originalGoogleProject) + _ = os.Setenv("GCP_PROJECT", originalGcpProject) }() tests := []struct { @@ -101,19 +101,19 @@ func TestGetCurrentProject_EnvironmentVariables(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { // Clear all environment variables - os.Unsetenv("GOOGLE_CLOUD_PROJECT") - os.Unsetenv("GOOGLE_PROJECT") - os.Unsetenv("GCP_PROJECT") + _ = os.Unsetenv("GOOGLE_CLOUD_PROJECT") + _ = os.Unsetenv("GOOGLE_PROJECT") + _ = os.Unsetenv("GCP_PROJECT") // Set test values if tt.googleCloudProject != "" { - os.Setenv("GOOGLE_CLOUD_PROJECT", tt.googleCloudProject) + _ = os.Setenv("GOOGLE_CLOUD_PROJECT", tt.googleCloudProject) } if tt.googleProject != "" { - os.Setenv("GOOGLE_PROJECT", tt.googleProject) + _ = os.Setenv("GOOGLE_PROJECT", tt.googleProject) } if tt.gcpProject != "" { - os.Setenv("GCP_PROJECT", tt.gcpProject) + _ = os.Setenv("GCP_PROJECT", tt.gcpProject) } project, err := getCurrentProject() @@ -138,27 +138,27 @@ func TestGetCurrentProject_GcloudConfigFile(t *testing.T) { // Clean up after test defer func() { - os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) - os.Setenv("GOOGLE_PROJECT", originalGoogleProject) - os.Setenv("GCP_PROJECT", originalGcpProject) - os.Setenv("HOME", originalHome) - os.Setenv("APPDATA", originalAppData) + _ = os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) + _ = os.Setenv("GOOGLE_PROJECT", originalGoogleProject) + _ = os.Setenv("GCP_PROJECT", originalGcpProject) + _ = os.Setenv("HOME", originalHome) + _ = os.Setenv("APPDATA", originalAppData) }() // Clear environment variables to force config file reading - os.Unsetenv("GOOGLE_CLOUD_PROJECT") - os.Unsetenv("GOOGLE_PROJECT") - os.Unsetenv("GCP_PROJECT") + _ = os.Unsetenv("GOOGLE_CLOUD_PROJECT") + _ = os.Unsetenv("GOOGLE_PROJECT") + _ = os.Unsetenv("GCP_PROJECT") // Create temporary directory structure tempDir := t.TempDir() var configPath string if runtime.GOOS != "windows" { - os.Setenv("HOME", tempDir) + _ = os.Setenv("HOME", tempDir) configPath = filepath.Join(tempDir, ".config", "gcloud", "configurations", "config_default") } else { - os.Setenv("APPDATA", tempDir) + _ = os.Setenv("APPDATA", tempDir) configPath = filepath.Join(tempDir, "gcloud", "configurations", "config_default") } @@ -201,15 +201,15 @@ func TestGetCurrentProject_EmptyEnvironmentVariables(t *testing.T) { // Clean up after test defer func() { - os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) - os.Setenv("GOOGLE_PROJECT", originalGoogleProject) - os.Setenv("GCP_PROJECT", originalGcpProject) + _ = os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) + _ = os.Setenv("GOOGLE_PROJECT", originalGoogleProject) + _ = os.Setenv("GCP_PROJECT", originalGcpProject) }() // Test empty string environment variables (should be treated as not set) - os.Setenv("GOOGLE_CLOUD_PROJECT", "") - os.Setenv("GOOGLE_PROJECT", "") - os.Setenv("GCP_PROJECT", "") + _ = os.Setenv("GOOGLE_CLOUD_PROJECT", "") + _ = os.Setenv("GOOGLE_PROJECT", "") + _ = os.Setenv("GCP_PROJECT", "") // This will likely fail due to no credentials or config file, but we're testing the logic _, err := getCurrentProject() @@ -229,26 +229,26 @@ func TestGetCurrentProject_MissingConfigFile(t *testing.T) { // Clean up after test defer func() { - os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) - os.Setenv("GOOGLE_PROJECT", originalGoogleProject) - os.Setenv("GCP_PROJECT", originalGcpProject) - os.Setenv("HOME", originalHome) - os.Setenv("APPDATA", originalAppData) + _ = os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) + _ = os.Setenv("GOOGLE_PROJECT", originalGoogleProject) + _ = os.Setenv("GCP_PROJECT", originalGcpProject) + _ = os.Setenv("HOME", originalHome) + _ = os.Setenv("APPDATA", originalAppData) }() // Clear environment variables - os.Unsetenv("GOOGLE_CLOUD_PROJECT") - os.Unsetenv("GOOGLE_PROJECT") - os.Unsetenv("GCP_PROJECT") + _ = os.Unsetenv("GOOGLE_CLOUD_PROJECT") + _ = os.Unsetenv("GOOGLE_PROJECT") + _ = os.Unsetenv("GCP_PROJECT") // Set HOME/APPDATA to non-existent directory tempDir := t.TempDir() nonExistentDir := filepath.Join(tempDir, "nonexistent") if runtime.GOOS != "windows" { - os.Setenv("HOME", nonExistentDir) + _ = os.Setenv("HOME", nonExistentDir) } else { - os.Setenv("APPDATA", nonExistentDir) + _ = os.Setenv("APPDATA", nonExistentDir) } _, err := getCurrentProject() @@ -267,27 +267,27 @@ func TestGetCurrentProject_InvalidConfigFile(t *testing.T) { // Clean up after test defer func() { - os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) - os.Setenv("GOOGLE_PROJECT", originalGoogleProject) - os.Setenv("GCP_PROJECT", originalGcpProject) - os.Setenv("HOME", originalHome) - os.Setenv("APPDATA", originalAppData) + _ = os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) + _ = os.Setenv("GOOGLE_PROJECT", originalGoogleProject) + _ = os.Setenv("GCP_PROJECT", originalGcpProject) + _ = os.Setenv("HOME", originalHome) + _ = os.Setenv("APPDATA", originalAppData) }() // Clear environment variables - os.Unsetenv("GOOGLE_CLOUD_PROJECT") - os.Unsetenv("GOOGLE_PROJECT") - os.Unsetenv("GCP_PROJECT") + _ = os.Unsetenv("GOOGLE_CLOUD_PROJECT") + _ = os.Unsetenv("GOOGLE_PROJECT") + _ = os.Unsetenv("GCP_PROJECT") // Create temporary directory structure tempDir := t.TempDir() var configPath string if runtime.GOOS != "windows" { - os.Setenv("HOME", tempDir) + _ = os.Setenv("HOME", tempDir) configPath = filepath.Join(tempDir, ".config", "gcloud", "configurations", "config_default") } else { - os.Setenv("APPDATA", tempDir) + _ = os.Setenv("APPDATA", tempDir) configPath = filepath.Join(tempDir, "gcloud", "configurations", "config_default") } @@ -324,27 +324,27 @@ func TestGetCurrentProject_ConfigFileWithoutProject(t *testing.T) { // Clean up after test defer func() { - os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) - os.Setenv("GOOGLE_PROJECT", originalGoogleProject) - os.Setenv("GCP_PROJECT", originalGcpProject) - os.Setenv("HOME", originalHome) - os.Setenv("APPDATA", originalAppData) + _ = os.Setenv("GOOGLE_CLOUD_PROJECT", originalGoogleCloudProject) + _ = os.Setenv("GOOGLE_PROJECT", originalGoogleProject) + _ = os.Setenv("GCP_PROJECT", originalGcpProject) + _ = os.Setenv("HOME", originalHome) + _ = os.Setenv("APPDATA", originalAppData) }() // Clear environment variables - os.Unsetenv("GOOGLE_CLOUD_PROJECT") - os.Unsetenv("GOOGLE_PROJECT") - os.Unsetenv("GCP_PROJECT") + _ = os.Unsetenv("GOOGLE_CLOUD_PROJECT") + _ = os.Unsetenv("GOOGLE_PROJECT") + _ = os.Unsetenv("GCP_PROJECT") // Create temporary directory structure tempDir := t.TempDir() var configPath string if runtime.GOOS != "windows" { - os.Setenv("HOME", tempDir) + _ = os.Setenv("HOME", tempDir) configPath = filepath.Join(tempDir, ".config", "gcloud", "configurations", "config_default") } else { - os.Setenv("APPDATA", tempDir) + _ = os.Setenv("APPDATA", tempDir) configPath = filepath.Join(tempDir, "gcloud", "configurations", "config_default") } diff --git a/src/mapping/aws/data/appconfig/aws_appconfig_application.json b/src/mapping/aws/data/appconfig/aws_appconfig_application.json new file mode 100644 index 00000000..d1cdcebd --- /dev/null +++ b/src/mapping/aws/data/appconfig/aws_appconfig_application.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "appconfig:ListApplications" + ] + } +] diff --git a/src/mapping/aws/data/billing/aws_billing_views.json b/src/mapping/aws/data/billing/aws_billing_views.json new file mode 100644 index 00000000..349f67c9 --- /dev/null +++ b/src/mapping/aws/data/billing/aws_billing_views.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "billing:ListBillingViews" + ] + } +] diff --git a/src/mapping/aws/data/ec2/aws_vpn_connection.json b/src/mapping/aws/data/ec2/aws_vpn_connection.json new file mode 100644 index 00000000..8d297004 --- /dev/null +++ b/src/mapping/aws/data/ec2/aws_vpn_connection.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "ec2:DescribeVpnConnections" + ] + } +] diff --git a/src/mapping/aws/data/ecr-public/aws_ecrpublic_images.json b/src/mapping/aws/data/ecr-public/aws_ecrpublic_images.json new file mode 100644 index 00000000..007d998a --- /dev/null +++ b/src/mapping/aws/data/ecr-public/aws_ecrpublic_images.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "ecr-public:DescribeImages" + ] + } +] diff --git a/src/mapping/aws/data/mediaconvert/aws_media_convert_queue.json b/src/mapping/aws/data/mediaconvert/aws_media_convert_queue.json new file mode 100644 index 00000000..39894073 --- /dev/null +++ b/src/mapping/aws/data/mediaconvert/aws_media_convert_queue.json @@ -0,0 +1,14 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "mediaconvert:GetQueue", + "mediaconvert:ListTagsForResource" + ] + } +] diff --git a/src/mapping/aws/data/memorydb/aws_memorydb_acl.json b/src/mapping/aws/data/memorydb/aws_memorydb_acl.json new file mode 100644 index 00000000..4105d11d --- /dev/null +++ b/src/mapping/aws/data/memorydb/aws_memorydb_acl.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "memorydb:DescribeACLs" + ] + } +] diff --git a/src/mapping/aws/data/memorydb/aws_memorydb_cluster.json b/src/mapping/aws/data/memorydb/aws_memorydb_cluster.json new file mode 100644 index 00000000..c71d85b7 --- /dev/null +++ b/src/mapping/aws/data/memorydb/aws_memorydb_cluster.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "memorydb:DescribeClusters" + ] + } +] diff --git a/src/mapping/aws/data/memorydb/aws_memorydb_parameter_group.json b/src/mapping/aws/data/memorydb/aws_memorydb_parameter_group.json new file mode 100644 index 00000000..86534bb6 --- /dev/null +++ b/src/mapping/aws/data/memorydb/aws_memorydb_parameter_group.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "memorydb:DescribeParameterGroups" + ] + } +] diff --git a/src/mapping/aws/data/memorydb/aws_memorydb_snapshot.json b/src/mapping/aws/data/memorydb/aws_memorydb_snapshot.json new file mode 100644 index 00000000..e566c281 --- /dev/null +++ b/src/mapping/aws/data/memorydb/aws_memorydb_snapshot.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "memorydb:DescribeSnapshots" + ] + } +] diff --git a/src/mapping/aws/data/memorydb/aws_memorydb_subnet_group.json b/src/mapping/aws/data/memorydb/aws_memorydb_subnet_group.json new file mode 100644 index 00000000..42557913 --- /dev/null +++ b/src/mapping/aws/data/memorydb/aws_memorydb_subnet_group.json @@ -0,0 +1,14 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "memorydb:DescribeSubnetGroups", + "memorydb:ListTags" + ] + } +] diff --git a/src/mapping/aws/data/memorydb/aws_memorydb_user.json b/src/mapping/aws/data/memorydb/aws_memorydb_user.json new file mode 100644 index 00000000..d02d86d1 --- /dev/null +++ b/src/mapping/aws/data/memorydb/aws_memorydb_user.json @@ -0,0 +1,14 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "memorydb:DescribeUser", + "memorydb:DescribeUsers" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_cloud_autonomous_vm_cluster.json b/src/mapping/aws/data/odb/aws_odb_cloud_autonomous_vm_cluster.json new file mode 100644 index 00000000..8801ad3e --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_cloud_autonomous_vm_cluster.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:GetCloudAutonomousVmCluster" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_cloud_autonomous_vm_clusters.json b/src/mapping/aws/data/odb/aws_odb_cloud_autonomous_vm_clusters.json new file mode 100644 index 00000000..d6618a15 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_cloud_autonomous_vm_clusters.json @@ -0,0 +1,13 @@ +[ + { + "apply": [ + "odb:ListCloudAutonomousVmClusters" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_cloud_exadata_infrastructure.json b/src/mapping/aws/data/odb/aws_odb_cloud_exadata_infrastructure.json new file mode 100644 index 00000000..82a5d5b9 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_cloud_exadata_infrastructure.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:GetCloudExadataInfrastructure" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_cloud_exadata_infrastructures.json b/src/mapping/aws/data/odb/aws_odb_cloud_exadata_infrastructures.json new file mode 100644 index 00000000..c1bf5b45 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_cloud_exadata_infrastructures.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:ListCloudExadataInfrastructures" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_cloud_vm_cluster.json b/src/mapping/aws/data/odb/aws_odb_cloud_vm_cluster.json new file mode 100644 index 00000000..ab260bb3 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_cloud_vm_cluster.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:GetCloudVmCluster" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_cloud_vm_clusters.json b/src/mapping/aws/data/odb/aws_odb_cloud_vm_clusters.json new file mode 100644 index 00000000..62411a36 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_cloud_vm_clusters.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:ListCloudVmClusters" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_db_node.json b/src/mapping/aws/data/odb/aws_odb_db_node.json new file mode 100644 index 00000000..a0623069 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_db_node.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:GetDbNode" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_db_nodes.json b/src/mapping/aws/data/odb/aws_odb_db_nodes.json new file mode 100644 index 00000000..25958de7 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_db_nodes.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:ListDbNodes" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_db_server.json b/src/mapping/aws/data/odb/aws_odb_db_server.json new file mode 100644 index 00000000..f0ac70e7 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_db_server.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:GetDbServer" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_db_servers.json b/src/mapping/aws/data/odb/aws_odb_db_servers.json new file mode 100644 index 00000000..b1f3353b --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_db_servers.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:ListDbServers" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_db_system_shapes.json b/src/mapping/aws/data/odb/aws_odb_db_system_shapes.json new file mode 100644 index 00000000..242f5197 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_db_system_shapes.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:ListDbSystemShapes" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_gi_versions.json b/src/mapping/aws/data/odb/aws_odb_gi_versions.json new file mode 100644 index 00000000..1d081824 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_gi_versions.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:ListGiVersions" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_network.json b/src/mapping/aws/data/odb/aws_odb_network.json new file mode 100644 index 00000000..f35f18b9 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_network.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:GetOdbNetwork" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_network_peering_connection.json b/src/mapping/aws/data/odb/aws_odb_network_peering_connection.json new file mode 100644 index 00000000..af5cab86 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_network_peering_connection.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:GetOdbPeeringConnection" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_network_peering_connections.json b/src/mapping/aws/data/odb/aws_odb_network_peering_connections.json new file mode 100644 index 00000000..a20f3921 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_network_peering_connections.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:ListOdbPeeringConnections" + ] + } +] diff --git a/src/mapping/aws/data/odb/aws_odb_networks.json b/src/mapping/aws/data/odb/aws_odb_networks.json new file mode 100644 index 00000000..b30f96b4 --- /dev/null +++ b/src/mapping/aws/data/odb/aws_odb_networks.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "odb:ListOdbNetworks" + ] + } +] diff --git a/src/mapping/aws/data/rds/aws_rds_global_cluster.json b/src/mapping/aws/data/rds/aws_rds_global_cluster.json new file mode 100644 index 00000000..ca56de67 --- /dev/null +++ b/src/mapping/aws/data/rds/aws_rds_global_cluster.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "rds:DescribeGlobalClusters" + ] + } +] diff --git a/src/mapping/aws/data/securityhub/aws_securityhub_standards_control_associations.json b/src/mapping/aws/data/securityhub/aws_securityhub_standards_control_associations.json new file mode 100644 index 00000000..87efd3b5 --- /dev/null +++ b/src/mapping/aws/data/securityhub/aws_securityhub_standards_control_associations.json @@ -0,0 +1,14 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "securityhub:ListStandardsControlAssociations", + "securityhub:DescribeStandardsControls" + ] + } +] diff --git a/src/mapping/aws/data/workspaces/aws_workspaces_workspace.json b/src/mapping/aws/data/workspaces/aws_workspaces_workspace.json new file mode 100644 index 00000000..19b29c26 --- /dev/null +++ b/src/mapping/aws/data/workspaces/aws_workspaces_workspace.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "workspaces:DescribeWorkspaces" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_maven_artifact.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_maven_artifact.json new file mode 100644 index 00000000..ddb1f11f --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_maven_artifact.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.mavenartifacts.list" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_maven_artifacts.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_maven_artifacts.json new file mode 100644 index 00000000..ddb1f11f --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_maven_artifacts.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.mavenartifacts.list" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_npm_package.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_npm_package.json new file mode 100644 index 00000000..41734918 --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_npm_package.json @@ -0,0 +1,14 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.npmpackages.get", + "artifactregistry.npmpackages.list" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_npm_packages.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_npm_packages.json new file mode 100644 index 00000000..24f09962 --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_npm_packages.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.npmpackages.list" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_packages.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_packages.json new file mode 100644 index 00000000..b84e9205 --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_packages.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.packages.list" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_python_package.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_python_package.json new file mode 100644 index 00000000..ae771808 --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_python_package.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.pythonpackages.list" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_repositories.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_repositories.json new file mode 100644 index 00000000..798dcfba --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_repositories.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.repositories.list" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_tags.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_tags.json new file mode 100644 index 00000000..802bc9f8 --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_tags.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.tags.list" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_version.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_version.json new file mode 100644 index 00000000..f3593703 --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_version.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.versions.get" + ] + } +] diff --git a/src/mapping/google/data/artifactregistry/google_artifact_registry_versions.json b/src/mapping/google/data/artifactregistry/google_artifact_registry_versions.json new file mode 100644 index 00000000..b99feff0 --- /dev/null +++ b/src/mapping/google/data/artifactregistry/google_artifact_registry_versions.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "artifactregistry.versions.list" + ] + } +] diff --git a/src/mapping/google/data/backupdr/google_backup_dr_backup_plan_associations.json b/src/mapping/google/data/backupdr/google_backup_dr_backup_plan_associations.json new file mode 100644 index 00000000..bdc9afa1 --- /dev/null +++ b/src/mapping/google/data/backupdr/google_backup_dr_backup_plan_associations.json @@ -0,0 +1,20 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "backupdr.backupPlanAssociations.fetchForAlloydbCluster", + "backupdr.backupPlanAssociations.fetchForCloudSqlInstance", + "backupdr.backupPlanAssociations.fetchForComputeDisk", + "backupdr.backupPlanAssociations.fetchForComputeInstance", + "backupdr.backupPlanAssociations.getForAlloydbCluster", + "backupdr.backupPlanAssociations.getForCloudSqlInstance", + "backupdr.backupPlanAssociations.getForComputeDisk", + "backupdr.backupPlanAssociations.getForComputeInstance" + ] + } +] diff --git a/src/mapping/google/data/backupdr/google_backup_dr_data_source_reference.json b/src/mapping/google/data/backupdr/google_backup_dr_data_source_reference.json new file mode 100644 index 00000000..8e13b3a7 --- /dev/null +++ b/src/mapping/google/data/backupdr/google_backup_dr_data_source_reference.json @@ -0,0 +1,14 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "backupdr.dataSourceReferences.fetchForAlloydbCluster", + "backupdr.dataSourceReferences.fetchForCloudSqlInstance" + ] + } +] diff --git a/src/mapping/google/data/backupdr/google_backup_dr_data_source_references.json b/src/mapping/google/data/backupdr/google_backup_dr_data_source_references.json new file mode 100644 index 00000000..8e13b3a7 --- /dev/null +++ b/src/mapping/google/data/backupdr/google_backup_dr_data_source_references.json @@ -0,0 +1,14 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "backupdr.dataSourceReferences.fetchForAlloydbCluster", + "backupdr.dataSourceReferences.fetchForCloudSqlInstance" + ] + } +] diff --git a/src/mapping/google/data/bigquery/google_bigquery_datapolicyv2_data_policy_iam_policy.json b/src/mapping/google/data/bigquery/google_bigquery_datapolicyv2_data_policy_iam_policy.json new file mode 100644 index 00000000..7fb8dfed --- /dev/null +++ b/src/mapping/google/data/bigquery/google_bigquery_datapolicyv2_data_policy_iam_policy.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "bigquery.dataPolicies.getIamPolicy" + ] + } +] diff --git a/src/mapping/google/data/certificatemanager/google_certificate_manager_dns_authorization.json b/src/mapping/google/data/certificatemanager/google_certificate_manager_dns_authorization.json new file mode 100644 index 00000000..4a9a2317 --- /dev/null +++ b/src/mapping/google/data/certificatemanager/google_certificate_manager_dns_authorization.json @@ -0,0 +1,16 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "certificatemanager.operations.get", + "certificatemanager.dnsauthorizations.get", + "certificatemanager.dnsauthorizations.list", + "iap.webServices.getIamPolicy" + ] + } +] diff --git a/src/mapping/google/data/compute/google_compute_interconnect_location.json b/src/mapping/google/data/compute/google_compute_interconnect_location.json new file mode 100644 index 00000000..17999352 --- /dev/null +++ b/src/mapping/google/data/compute/google_compute_interconnect_location.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "compute.interconnectLocations.get" + ] + } +] diff --git a/src/mapping/google/data/compute/google_compute_interconnect_locations.json b/src/mapping/google/data/compute/google_compute_interconnect_locations.json new file mode 100644 index 00000000..22c47504 --- /dev/null +++ b/src/mapping/google/data/compute/google_compute_interconnect_locations.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "compute.interconnectLocations.list" + ] + } +] diff --git a/src/mapping/google/data/google_cloud_identity_policy.json b/src/mapping/google/data/google_cloud_identity_policy.json new file mode 100644 index 00000000..45e4fdaf --- /dev/null +++ b/src/mapping/google/data/google_cloud_identity_policy.json @@ -0,0 +1,11 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/data/iap/google_iap_web_forwarding_rule_service_iam_policy.json b/src/mapping/google/data/iap/google_iap_web_forwarding_rule_service_iam_policy.json new file mode 100644 index 00000000..72ef31a8 --- /dev/null +++ b/src/mapping/google/data/iap/google_iap_web_forwarding_rule_service_iam_policy.json @@ -0,0 +1,13 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "iap.webServices.getIamPolicy" + ] + } +] diff --git a/src/mapping/google/data/iap/google_iap_web_region_forwarding_rule_service_iam_policy.json b/src/mapping/google/data/iap/google_iap_web_region_forwarding_rule_service_iam_policy.json new file mode 100644 index 00000000..56c6462a --- /dev/null +++ b/src/mapping/google/data/iap/google_iap_web_region_forwarding_rule_service_iam_policy.json @@ -0,0 +1,14 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "certificatemanager.dnsauthorizations.list", + "iap.webServices.getIamPolicy" + ] + } +] diff --git a/src/mapping/google/resource/aiplatform/google_vertex_ai_cache_config.json b/src/mapping/google/resource/aiplatform/google_vertex_ai_cache_config.json new file mode 100644 index 00000000..04986d07 --- /dev/null +++ b/src/mapping/google/resource/aiplatform/google_vertex_ai_cache_config.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "aiplatform.cacheConfigs.get", + "aiplatform.cacheConfigs.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/aiplatform/google_vertex_ai_deployment_resource_pool.json b/src/mapping/google/resource/aiplatform/google_vertex_ai_deployment_resource_pool.json new file mode 100644 index 00000000..102ccb5e --- /dev/null +++ b/src/mapping/google/resource/aiplatform/google_vertex_ai_deployment_resource_pool.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "aiplatform.deploymentResourcePools.create", + "aiplatform.deploymentResourcePools.delete", + "aiplatform.deploymentResourcePools.get", + "aiplatform.deploymentResourcePools.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/aiplatform/google_vertex_ai_endpoint_with_model_garden_deployment.json b/src/mapping/google/resource/aiplatform/google_vertex_ai_endpoint_with_model_garden_deployment.json new file mode 100644 index 00000000..15e8f492 --- /dev/null +++ b/src/mapping/google/resource/aiplatform/google_vertex_ai_endpoint_with_model_garden_deployment.json @@ -0,0 +1,19 @@ +[ + { + "apply": [ + "aiplatform.endpoints.create", + "aiplatform.endpoints.delete", + "aiplatform.endpoints.get", + "aiplatform.endpoints.update", + "aiplatform.endpoints.deploy", + "aiplatform.endpoints.undeploy", + "aiplatform.models.upload" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/aiplatform/google_vertex_ai_index_endpoint_deployed_index.json b/src/mapping/google/resource/aiplatform/google_vertex_ai_index_endpoint_deployed_index.json new file mode 100644 index 00000000..c9713836 --- /dev/null +++ b/src/mapping/google/resource/aiplatform/google_vertex_ai_index_endpoint_deployed_index.json @@ -0,0 +1,17 @@ +[ + { + "apply": [ + "aiplatform.indexEndpoints.delete", + "aiplatform.indexEndpoints.deploy", + "aiplatform.indexEndpoints.get", + "aiplatform.indexEndpoints.undeploy", + "aiplatform.indexEndpoints.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/aiplatform/google_vertex_ai_rag_engine_config.json b/src/mapping/google/resource/aiplatform/google_vertex_ai_rag_engine_config.json new file mode 100644 index 00000000..ab534ee7 --- /dev/null +++ b/src/mapping/google/resource/aiplatform/google_vertex_ai_rag_engine_config.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "aiplatform.ragEngineConfigs.get", + "aiplatform.ragEngineConfigs.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/aiplatform/google_vertex_ai_reasoning_engine.json b/src/mapping/google/resource/aiplatform/google_vertex_ai_reasoning_engine.json new file mode 100644 index 00000000..23d19e60 --- /dev/null +++ b/src/mapping/google/resource/aiplatform/google_vertex_ai_reasoning_engine.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "aiplatform.reasoningEngines.create", + "aiplatform.reasoningEngines.delete", + "aiplatform.reasoningEngines.get", + "aiplatform.reasoningEngines.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/certificatemanager/google_certificate_manager_dns_authorization.json b/src/mapping/google/resource/certificatemanager/google_certificate_manager_dns_authorization.json new file mode 100644 index 00000000..f9aba094 --- /dev/null +++ b/src/mapping/google/resource/certificatemanager/google_certificate_manager_dns_authorization.json @@ -0,0 +1,18 @@ +[ + { + "apply": [ + "certificatemanager.dnsauthorizations.create", + "certificatemanager.operations.delete", + "certificatemanager.dnsauthorizations.get", + "certificatemanager.dnsauthorizations.delete", + "certificatemanager.dnsauthorizations.update", + "certificatemanager.dnsauthorizations.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_code_repository_index.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_code_repository_index.json new file mode 100644 index 00000000..76fc2a6d --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_code_repository_index.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.codeRepositoryIndexes.create", + "cloudaicompanion.codeRepositoryIndexes.delete", + "cloudaicompanion.codeRepositoryIndexes.get", + "cloudaicompanion.codeRepositoryIndexes.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_code_tools_setting.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_code_tools_setting.json new file mode 100644 index 00000000..68b8a4a0 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_code_tools_setting.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.codeToolsSettings.create", + "cloudaicompanion.codeToolsSettings.delete", + "cloudaicompanion.codeToolsSettings.get", + "cloudaicompanion.codeToolsSettings.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_code_tools_setting_binding.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_code_tools_setting_binding.json new file mode 100644 index 00000000..e77b08a5 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_code_tools_setting_binding.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.settingBindings.codeToolsSettingsCreate", + "cloudaicompanion.settingBindings.codeToolsSettingsDelete", + "cloudaicompanion.settingBindings.codeToolsSettingsGet", + "cloudaicompanion.settingBindings.codeToolsSettingsUpdate" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_data_sharing_with_google_setting.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_data_sharing_with_google_setting.json new file mode 100644 index 00000000..6a25e1ad --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_data_sharing_with_google_setting.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.dataSharingWithGoogleSettings.create", + "cloudaicompanion.dataSharingWithGoogleSettings.delete", + "cloudaicompanion.dataSharingWithGoogleSettings.get", + "cloudaicompanion.dataSharingWithGoogleSettings.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_data_sharing_with_google_setting_binding.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_data_sharing_with_google_setting_binding.json new file mode 100644 index 00000000..35104cd6 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_data_sharing_with_google_setting_binding.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsCreate", + "cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsDelete", + "cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsGet", + "cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsUpdate" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_gemini_gcp_enablement_setting.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_gemini_gcp_enablement_setting.json new file mode 100644 index 00000000..8b4cab83 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_gemini_gcp_enablement_setting.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.geminiGcpEnablementSettings.create", + "cloudaicompanion.geminiGcpEnablementSettings.delete", + "cloudaicompanion.geminiGcpEnablementSettings.get", + "cloudaicompanion.geminiGcpEnablementSettings.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_gemini_gcp_enablement_setting_binding.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_gemini_gcp_enablement_setting_binding.json new file mode 100644 index 00000000..d0298df6 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_gemini_gcp_enablement_setting_binding.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.settingBindings.geminiGcpEnablementSettingsCreate", + "cloudaicompanion.settingBindings.geminiGcpEnablementSettingsDelete", + "cloudaicompanion.settingBindings.geminiGcpEnablementSettingsGet", + "cloudaicompanion.settingBindings.geminiGcpEnablementSettingsUpdate" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_logging_setting.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_logging_setting.json new file mode 100644 index 00000000..fcee370f --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_logging_setting.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.loggingSettings.create", + "cloudaicompanion.loggingSettings.delete", + "cloudaicompanion.loggingSettings.get", + "cloudaicompanion.loggingSettings.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_logging_setting_binding.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_logging_setting_binding.json new file mode 100644 index 00000000..ca33e164 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_logging_setting_binding.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.settingBindings.loggingSettingsCreate", + "cloudaicompanion.settingBindings.loggingSettingsDelete", + "cloudaicompanion.settingBindings.loggingSettingsGet", + "cloudaicompanion.settingBindings.loggingSettingsUpdate" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_release_channel_setting.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_release_channel_setting.json new file mode 100644 index 00000000..c4adcb70 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_release_channel_setting.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.releaseChannelSettings.create", + "cloudaicompanion.releaseChannelSettings.delete", + "cloudaicompanion.releaseChannelSettings.get", + "cloudaicompanion.releaseChannelSettings.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_release_channel_setting_binding.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_release_channel_setting_binding.json new file mode 100644 index 00000000..0f059b11 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_release_channel_setting_binding.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.settingBindings.releaseChannelSettingsCreate", + "cloudaicompanion.settingBindings.releaseChannelSettingsDelete", + "cloudaicompanion.settingBindings.releaseChannelSettingsGet", + "cloudaicompanion.settingBindings.releaseChannelSettingsUpdate" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group.json new file mode 100644 index 00000000..6652c195 --- /dev/null +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "cloudaicompanion.repositoryGroups.create", + "cloudaicompanion.repositoryGroups.delete", + "cloudaicompanion.repositoryGroups.get", + "cloudaicompanion.repositoryGroups.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group_iam_binding.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group_iam_binding.json index d3541e82..6d39c3bc 100644 --- a/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group_iam_binding.json +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group_iam_binding.json @@ -1,13 +1,16 @@ [ { "apply": [ - "cloudaicompanion.repositoryGroups.getIamPolicy" + "cloudaicompanion.repositoryGroups.getIamPolicy", + "cloudaicompanion.repositoryGroups.setIamPolicy" ], "attributes": { "tags": [] }, "destroy": [], "modify": [], - "plan": [] + "plan": [ + "cloudaicompanion.repositoryGroups.getIamPolicy" + ] } ] diff --git a/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group_iam_member.json b/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group_iam_member.json index d3541e82..6d39c3bc 100644 --- a/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group_iam_member.json +++ b/src/mapping/google/resource/cloudaicompanion/google_gemini_repository_group_iam_member.json @@ -1,13 +1,16 @@ [ { "apply": [ - "cloudaicompanion.repositoryGroups.getIamPolicy" + "cloudaicompanion.repositoryGroups.getIamPolicy", + "cloudaicompanion.repositoryGroups.setIamPolicy" ], "attributes": { "tags": [] }, "destroy": [], "modify": [], - "plan": [] + "plan": [ + "cloudaicompanion.repositoryGroups.getIamPolicy" + ] } ] diff --git a/src/mapping/google/resource/compute/google_compute_region_target_https_proxy.json b/src/mapping/google/resource/compute/google_compute_region_target_https_proxy.json index 54395fe4..be23d36e 100644 --- a/src/mapping/google/resource/compute/google_compute_region_target_https_proxy.json +++ b/src/mapping/google/resource/compute/google_compute_region_target_https_proxy.json @@ -7,6 +7,10 @@ "compute.regionTargetHttpsProxies.delete" ], "attributes": { + "ssl_certificates": [ + "compute.regionSslCertificates.get", + "compute.regionTargetHttpsProxies.setSslCertificates" + ], "tags": [] }, "destroy": [], diff --git a/src/mapping/google/resource/dataproc/google_dataproc_autoscaling_policy.json b/src/mapping/google/resource/dataproc/google_dataproc_autoscaling_policy.json new file mode 100644 index 00000000..e09fa3f6 --- /dev/null +++ b/src/mapping/google/resource/dataproc/google_dataproc_autoscaling_policy.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dataproc.autoscalingPolicies.update", + "dataproc.autoscalingPolicies.get", + "dataproc.autoscalingPolicies.delete", + "dataproc.autoscalingPolicies.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dataproc/google_dataproc_batch.json b/src/mapping/google/resource/dataproc/google_dataproc_batch.json new file mode 100644 index 00000000..5b72d8f0 --- /dev/null +++ b/src/mapping/google/resource/dataproc/google_dataproc_batch.json @@ -0,0 +1,15 @@ +[ + { + "apply": [ + "dataproc.batches.get", + "dataproc.batches.delete", + "dataproc.batches.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dataproc/google_dataproc_cluster.json b/src/mapping/google/resource/dataproc/google_dataproc_cluster.json new file mode 100644 index 00000000..30e38690 --- /dev/null +++ b/src/mapping/google/resource/dataproc/google_dataproc_cluster.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dataproc.clusters.update", + "dataproc.clusters.get", + "dataproc.clusters.delete", + "dataproc.clusters.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dataproc/google_dataproc_job.json b/src/mapping/google/resource/dataproc/google_dataproc_job.json new file mode 100644 index 00000000..153afa8d --- /dev/null +++ b/src/mapping/google/resource/dataproc/google_dataproc_job.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dataproc.jobs.update", + "dataproc.jobs.get", + "dataproc.jobs.delete", + "dataproc.jobs.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dataproc/google_dataproc_session_template.json b/src/mapping/google/resource/dataproc/google_dataproc_session_template.json new file mode 100644 index 00000000..ea0a508b --- /dev/null +++ b/src/mapping/google/resource/dataproc/google_dataproc_session_template.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dataproc.sessionTemplates.update", + "dataproc.sessionTemplates.get", + "dataproc.sessionTemplates.delete", + "dataproc.sessionTemplates.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dataproc/google_dataproc_workflow_template.json b/src/mapping/google/resource/dataproc/google_dataproc_workflow_template.json new file mode 100644 index 00000000..dac21daa --- /dev/null +++ b/src/mapping/google/resource/dataproc/google_dataproc_workflow_template.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dataproc.workflowTemplates.update", + "dataproc.workflowTemplates.get", + "dataproc.workflowTemplates.delete", + "dataproc.workflowTemplates.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/deploymentmanager/google_deployment_manager_deployment.json b/src/mapping/google/resource/deploymentmanager/google_deployment_manager_deployment.json new file mode 100644 index 00000000..e091a4a0 --- /dev/null +++ b/src/mapping/google/resource/deploymentmanager/google_deployment_manager_deployment.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "deploymentmanager.deployments.create", + "deploymentmanager.deployments.delete", + "deploymentmanager.deployments.get", + "deploymentmanager.deployments.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_agent.json b/src/mapping/google/resource/dialogflow/google_dialogflow_agent.json new file mode 100644 index 00000000..3071aad8 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_agent.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.agents.get", + "dialogflow.agents.create", + "dialogflow.agents.update", + "dialogflow.agents.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_conversation_profile.json b/src/mapping/google/resource/dialogflow/google_dialogflow_conversation_profile.json new file mode 100644 index 00000000..4f8ea4b4 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_conversation_profile.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.conversationProfiles.update", + "dialogflow.conversationProfiles.get", + "dialogflow.conversationProfiles.delete", + "dialogflow.conversationProfiles.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_agent.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_agent.json new file mode 100644 index 00000000..3071aad8 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_agent.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.agents.get", + "dialogflow.agents.create", + "dialogflow.agents.update", + "dialogflow.agents.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_entity_type.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_entity_type.json new file mode 100644 index 00000000..dfa858e8 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_entity_type.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.entityTypes.update", + "dialogflow.entityTypes.get", + "dialogflow.entityTypes.delete", + "dialogflow.entityTypes.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_environment.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_environment.json new file mode 100644 index 00000000..4db2c7b5 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_environment.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.environments.create", + "dialogflow.environments.get", + "dialogflow.environments.update", + "dialogflow.environments.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_flow.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_flow.json new file mode 100644 index 00000000..89d3febf --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_flow.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.flows.create", + "dialogflow.flows.get", + "dialogflow.flows.update", + "dialogflow.flows.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_generative_settings.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_generative_settings.json new file mode 100644 index 00000000..c3c0dcdb --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_generative_settings.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.securitySettings.create", + "dialogflow.securitySettings.get", + "dialogflow.securitySettings.update", + "dialogflow.securitySettings.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_generator.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_generator.json new file mode 100644 index 00000000..bedd2afe --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_generator.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.generators.create", + "dialogflow.generators.get", + "dialogflow.generators.update", + "dialogflow.generators.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_intent.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_intent.json new file mode 100644 index 00000000..eadc2c22 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_intent.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.intents.create", + "dialogflow.intents.get", + "dialogflow.intents.update", + "dialogflow.intents.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_page.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_page.json new file mode 100644 index 00000000..78836a3b --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_page.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.pages.create", + "dialogflow.pages.get", + "dialogflow.pages.delete", + "dialogflow.pages.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_playbook.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_playbook.json new file mode 100644 index 00000000..3630f068 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_playbook.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.playbooks.create", + "dialogflow.playbooks.get", + "dialogflow.playbooks.update", + "dialogflow.playbooks.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_security_settings.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_security_settings.json new file mode 100644 index 00000000..c3c0dcdb --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_security_settings.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.securitySettings.create", + "dialogflow.securitySettings.get", + "dialogflow.securitySettings.update", + "dialogflow.securitySettings.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_tool.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_tool.json new file mode 100644 index 00000000..7715a638 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_tool.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.tools.create", + "dialogflow.tools.get", + "dialogflow.tools.update", + "dialogflow.tools.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_version.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_version.json new file mode 100644 index 00000000..c9e9d35b --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_version.json @@ -0,0 +1,17 @@ +[ + { + "apply": [ + "dialogflow.versions.create", + "dialogflow.versions.get", + "dialogflow.versions.update", + "dialogflow.versions.delete", + "dialogflow.operations.get" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_cx_webhook.json b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_webhook.json new file mode 100644 index 00000000..623db5bb --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_cx_webhook.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.webhooks.create", + "dialogflow.webhooks.delete", + "dialogflow.webhooks.get", + "dialogflow.webhooks.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_encryption_spec.json b/src/mapping/google/resource/dialogflow/google_dialogflow_encryption_spec.json new file mode 100644 index 00000000..4bf8dcfc --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_encryption_spec.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "dialogflow.encryptionspec.update", + "dialogflow.encryptionspec.get" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_entity_type.json b/src/mapping/google/resource/dialogflow/google_dialogflow_entity_type.json new file mode 100644 index 00000000..dfa858e8 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_entity_type.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.entityTypes.update", + "dialogflow.entityTypes.get", + "dialogflow.entityTypes.delete", + "dialogflow.entityTypes.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_fulfillment.json b/src/mapping/google/resource/dialogflow/google_dialogflow_fulfillment.json new file mode 100644 index 00000000..8a802c3d --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_fulfillment.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "dialogflow.fulfillments.update", + "dialogflow.fulfillments.get" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/dialogflow/google_dialogflow_intent.json b/src/mapping/google/resource/dialogflow/google_dialogflow_intent.json new file mode 100644 index 00000000..9cbde953 --- /dev/null +++ b/src/mapping/google/resource/dialogflow/google_dialogflow_intent.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "dialogflow.intents.update", + "dialogflow.intents.get", + "dialogflow.intents.delete", + "dialogflow.intents.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/edgecontainer/google_edgecontainer_cluster.json b/src/mapping/google/resource/edgecontainer/google_edgecontainer_cluster.json new file mode 100644 index 00000000..496d10b4 --- /dev/null +++ b/src/mapping/google/resource/edgecontainer/google_edgecontainer_cluster.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "edgecontainer.clusters.create", + "edgecontainer.clusters.delete", + "edgecontainer.clusters.get", + "edgecontainer.clusters.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/edgecontainer/google_edgecontainer_node_pool.json b/src/mapping/google/resource/edgecontainer/google_edgecontainer_node_pool.json new file mode 100644 index 00000000..2fc0156c --- /dev/null +++ b/src/mapping/google/resource/edgecontainer/google_edgecontainer_node_pool.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "edgecontainer.nodePools.create", + "edgecontainer.nodePools.delete", + "edgecontainer.nodePools.get", + "edgecontainer.nodePools.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/edgecontainer/google_edgecontainer_vpn_connection.json b/src/mapping/google/resource/edgecontainer/google_edgecontainer_vpn_connection.json new file mode 100644 index 00000000..0c74247b --- /dev/null +++ b/src/mapping/google/resource/edgecontainer/google_edgecontainer_vpn_connection.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "edgecontainer.vpnConnections.create", + "edgecontainer.vpnConnections.delete", + "edgecontainer.vpnConnections.get", + "edgecontainer.vpnConnections.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/edgenetwork/google_edgenetwork_interconnect_attachment.json b/src/mapping/google/resource/edgenetwork/google_edgenetwork_interconnect_attachment.json new file mode 100644 index 00000000..a75f395d --- /dev/null +++ b/src/mapping/google/resource/edgenetwork/google_edgenetwork_interconnect_attachment.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "edgenetwork.interconnectAttachments.create", + "edgenetwork.interconnectAttachments.delete", + "edgenetwork.interconnectAttachments.get", + "edgenetwork.interconnectAttachments.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/edgenetwork/google_edgenetwork_network.json b/src/mapping/google/resource/edgenetwork/google_edgenetwork_network.json new file mode 100644 index 00000000..b3cf845d --- /dev/null +++ b/src/mapping/google/resource/edgenetwork/google_edgenetwork_network.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "edgenetwork.networks.create", + "edgenetwork.networks.delete", + "edgenetwork.networks.get", + "edgenetwork.networks.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/edgenetwork/google_edgenetwork_subnet.json b/src/mapping/google/resource/edgenetwork/google_edgenetwork_subnet.json new file mode 100644 index 00000000..82fd35d2 --- /dev/null +++ b/src/mapping/google/resource/edgenetwork/google_edgenetwork_subnet.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "edgenetwork.subnetworks.create", + "edgenetwork.subnetworks.delete", + "edgenetwork.subnetworks.get", + "edgenetwork.subnetworks.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/eventarc/google_eventarc_channel.json b/src/mapping/google/resource/eventarc/google_eventarc_channel.json new file mode 100644 index 00000000..0f3cb13a --- /dev/null +++ b/src/mapping/google/resource/eventarc/google_eventarc_channel.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "eventarc.channels.create", + "eventarc.channels.delete", + "eventarc.channels.get", + "eventarc.channels.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/eventarc/google_eventarc_enrollment.json b/src/mapping/google/resource/eventarc/google_eventarc_enrollment.json new file mode 100644 index 00000000..046eae72 --- /dev/null +++ b/src/mapping/google/resource/eventarc/google_eventarc_enrollment.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "eventarc.enrollments.create", + "eventarc.enrollments.delete", + "eventarc.enrollments.get", + "eventarc.enrollments.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/eventarc/google_eventarc_google_api_source.json b/src/mapping/google/resource/eventarc/google_eventarc_google_api_source.json new file mode 100644 index 00000000..c2d6763a --- /dev/null +++ b/src/mapping/google/resource/eventarc/google_eventarc_google_api_source.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "eventarc.googleApiSources.create", + "eventarc.googleApiSources.delete", + "eventarc.googleApiSources.get", + "eventarc.googleApiSources.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/eventarc/google_eventarc_google_channel_config.json b/src/mapping/google/resource/eventarc/google_eventarc_google_channel_config.json new file mode 100644 index 00000000..0ed64a36 --- /dev/null +++ b/src/mapping/google/resource/eventarc/google_eventarc_google_channel_config.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "eventarc.googleChannelConfigs.get", + "eventarc.googleChannelConfigs.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/eventarc/google_eventarc_message_bus.json b/src/mapping/google/resource/eventarc/google_eventarc_message_bus.json new file mode 100644 index 00000000..818325e9 --- /dev/null +++ b/src/mapping/google/resource/eventarc/google_eventarc_message_bus.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "eventarc.messageBuses.create", + "eventarc.messageBuses.delete", + "eventarc.messageBuses.get", + "eventarc.messageBuses.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/eventarc/google_eventarc_pipeline.json b/src/mapping/google/resource/eventarc/google_eventarc_pipeline.json new file mode 100644 index 00000000..f2c85918 --- /dev/null +++ b/src/mapping/google/resource/eventarc/google_eventarc_pipeline.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "eventarc.pipelines.create", + "eventarc.pipelines.delete", + "eventarc.pipelines.get", + "eventarc.pipelines.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/eventarc/google_eventarc_trigger.json b/src/mapping/google/resource/eventarc/google_eventarc_trigger.json new file mode 100644 index 00000000..b0d0ffdc --- /dev/null +++ b/src/mapping/google/resource/eventarc/google_eventarc_trigger.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "eventarc.triggers.update", + "eventarc.triggers.get", + "eventarc.triggers.delete", + "eventarc.triggers.create" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/google_apigee_environment.json b/src/mapping/google/resource/google_apigee_environment.json new file mode 100644 index 00000000..45e4fdaf --- /dev/null +++ b/src/mapping/google/resource/google_apigee_environment.json @@ -0,0 +1,11 @@ +[ + { + "apply": [], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/iap/google_iap_settings.json b/src/mapping/google/resource/iap/google_iap_settings.json new file mode 100644 index 00000000..d9abc424 --- /dev/null +++ b/src/mapping/google/resource/iap/google_iap_settings.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "iap.webServices.getSettings", + "iap.webServices.updateSettings" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/iap/google_iap_tunnel_dest_group.json b/src/mapping/google/resource/iap/google_iap_tunnel_dest_group.json new file mode 100644 index 00000000..3b5e3fe2 --- /dev/null +++ b/src/mapping/google/resource/iap/google_iap_tunnel_dest_group.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "iap.tunnelDestGroups.create", + "iap.tunnelDestGroups.delete", + "iap.tunnelDestGroups.get", + "iap.tunnelDestGroups.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_binding.json b/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_binding.json new file mode 100644 index 00000000..187c96ae --- /dev/null +++ b/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_binding.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "iap.webServices.getIamPolicy", + "iap.webServices.setIamPolicy" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_member.json b/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_member.json new file mode 100644 index 00000000..187c96ae --- /dev/null +++ b/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_member.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "iap.webServices.getIamPolicy", + "iap.webServices.setIamPolicy" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_policy.json b/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_policy.json new file mode 100644 index 00000000..187c96ae --- /dev/null +++ b/src/mapping/google/resource/iap/google_iap_web_forwarding_rule_service_iam_policy.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "iap.webServices.getIamPolicy", + "iap.webServices.setIamPolicy" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/iap/google_iap_web_region_backend_service_iam_binding.json b/src/mapping/google/resource/iap/google_iap_web_region_backend_service_iam_binding.json index 45e4fdaf..45d8a940 100644 --- a/src/mapping/google/resource/iap/google_iap_web_region_backend_service_iam_binding.json +++ b/src/mapping/google/resource/iap/google_iap_web_region_backend_service_iam_binding.json @@ -1,11 +1,16 @@ [ { - "apply": [], + "apply": [ + "iap.webServices.getIamPolicy", + "iap.webServices.setIamPolicy" + ], "attributes": { "tags": [] }, "destroy": [], "modify": [], - "plan": [] + "plan": [ + "iap.webServices.getIamPolicy" + ] } ] diff --git a/src/mapping/google/resource/iap/google_iap_web_region_backend_service_iam_member.json b/src/mapping/google/resource/iap/google_iap_web_region_backend_service_iam_member.json index 45e4fdaf..45d8a940 100644 --- a/src/mapping/google/resource/iap/google_iap_web_region_backend_service_iam_member.json +++ b/src/mapping/google/resource/iap/google_iap_web_region_backend_service_iam_member.json @@ -1,11 +1,16 @@ [ { - "apply": [], + "apply": [ + "iap.webServices.getIamPolicy", + "iap.webServices.setIamPolicy" + ], "attributes": { "tags": [] }, "destroy": [], "modify": [], - "plan": [] + "plan": [ + "iap.webServices.getIamPolicy" + ] } ] diff --git a/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_binding.json b/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_binding.json new file mode 100644 index 00000000..45d8a940 --- /dev/null +++ b/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_binding.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "iap.webServices.getIamPolicy", + "iap.webServices.setIamPolicy" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "iap.webServices.getIamPolicy" + ] + } +] diff --git a/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_member.json b/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_member.json new file mode 100644 index 00000000..45d8a940 --- /dev/null +++ b/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_member.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "iap.webServices.getIamPolicy", + "iap.webServices.setIamPolicy" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "iap.webServices.getIamPolicy" + ] + } +] diff --git a/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_policy.json b/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_policy.json new file mode 100644 index 00000000..45d8a940 --- /dev/null +++ b/src/mapping/google/resource/iap/google_iap_web_region_forwarding_rule_service_iam_policy.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "iap.webServices.getIamPolicy", + "iap.webServices.setIamPolicy" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [ + "iap.webServices.getIamPolicy" + ] + } +] diff --git a/src/mapping/google/resource/managedkafka/google_managed_kafka_acl.json b/src/mapping/google/resource/managedkafka/google_managed_kafka_acl.json new file mode 100644 index 00000000..ae47c306 --- /dev/null +++ b/src/mapping/google/resource/managedkafka/google_managed_kafka_acl.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "managedkafka.acls.create", + "managedkafka.acls.get", + "managedkafka.acls.update", + "managedkafka.acls.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/managedkafka/google_managed_kafka_cluster.json b/src/mapping/google/resource/managedkafka/google_managed_kafka_cluster.json new file mode 100644 index 00000000..173c7ce4 --- /dev/null +++ b/src/mapping/google/resource/managedkafka/google_managed_kafka_cluster.json @@ -0,0 +1,17 @@ +[ + { + "apply": [ + "managedkafka.operations.get", + "managedkafka.clusters.create", + "managedkafka.clusters.delete", + "managedkafka.clusters.get", + "managedkafka.clusters.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/managedkafka/google_managed_kafka_connect_cluster.json b/src/mapping/google/resource/managedkafka/google_managed_kafka_connect_cluster.json new file mode 100644 index 00000000..9153e8c6 --- /dev/null +++ b/src/mapping/google/resource/managedkafka/google_managed_kafka_connect_cluster.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "managedkafka.connectClusters.create", + "managedkafka.connectClusters.delete", + "managedkafka.connectClusters.get", + "managedkafka.connectClusters.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/managedkafka/google_managed_kafka_connector.json b/src/mapping/google/resource/managedkafka/google_managed_kafka_connector.json new file mode 100644 index 00000000..7aaff0e7 --- /dev/null +++ b/src/mapping/google/resource/managedkafka/google_managed_kafka_connector.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "managedkafka.connectors.create", + "managedkafka.connectors.delete", + "managedkafka.connectors.get", + "managedkafka.connectors.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/managedkafka/google_managed_kafka_topic.json b/src/mapping/google/resource/managedkafka/google_managed_kafka_topic.json new file mode 100644 index 00000000..0e883415 --- /dev/null +++ b/src/mapping/google/resource/managedkafka/google_managed_kafka_topic.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "managedkafka.topics.create", + "managedkafka.topics.delete", + "managedkafka.topics.get", + "managedkafka.topics.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/modelarmor/google_model_armor_floorsetting.json b/src/mapping/google/resource/modelarmor/google_model_armor_floorsetting.json new file mode 100644 index 00000000..f015b70c --- /dev/null +++ b/src/mapping/google/resource/modelarmor/google_model_armor_floorsetting.json @@ -0,0 +1,14 @@ +[ + { + "apply": [ + "modelarmor.floorSettings.get", + "modelarmor.floorSettings.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/modelarmor/google_model_armor_template.json b/src/mapping/google/resource/modelarmor/google_model_armor_template.json new file mode 100644 index 00000000..2b5199b6 --- /dev/null +++ b/src/mapping/google/resource/modelarmor/google_model_armor_template.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "modelarmor.templates.create", + "modelarmor.templates.delete", + "modelarmor.templates.get", + "modelarmor.templates.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/notebooks/google_workbench_instance.json b/src/mapping/google/resource/notebooks/google_workbench_instance.json new file mode 100644 index 00000000..4369cd64 --- /dev/null +++ b/src/mapping/google/resource/notebooks/google_workbench_instance.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "notebooks.instances.create", + "notebooks.instances.delete", + "notebooks.instances.get", + "notebooks.instances.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/run/google_cloud_run_v2_service.json b/src/mapping/google/resource/run/google_cloud_run_v2_service.json index 938d5ca6..311267a1 100644 --- a/src/mapping/google/resource/run/google_cloud_run_v2_service.json +++ b/src/mapping/google/resource/run/google_cloud_run_v2_service.json @@ -1,23 +1,26 @@ -[ - { - "apply": [ - "run.services.create", - "run.services.get", - "run.services.delete", - "run.services.update", - "run.operations.get" - ], - "attributes": { - "tags": [] - }, - "destroy": [ - "run.services.delete" - ], - "modify": [ - "run.services.update" - ], - "plan": [ - "run.services.get" - ] - } -] +[ + { + "apply": [ + "run.services.create", + "run.services.get", + "run.services.delete", + "run.services.update", + "run.operations.get" + ], + "attributes": { + "image_uri": [ + "artifactregistry.repositories.downloadArtifacts" + ], + "tags": [] + }, + "destroy": [ + "run.services.delete" + ], + "modify": [ + "run.services.update" + ], + "plan": [ + "run.services.get" + ] + } +] diff --git a/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_branch_rule.json b/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_branch_rule.json new file mode 100644 index 00000000..35c1e881 --- /dev/null +++ b/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_branch_rule.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "securesourcemanager.branchRules.delete", + "securesourcemanager.branchRules.create", + "securesourcemanager.branchRules.get", + "securesourcemanager.branchRules.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_instance.json b/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_instance.json new file mode 100644 index 00000000..57c9d967 --- /dev/null +++ b/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_instance.json @@ -0,0 +1,15 @@ +[ + { + "apply": [ + "securesourcemanager.instances.create", + "securesourcemanager.instances.get", + "securesourcemanager.instances.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_repository.json b/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_repository.json new file mode 100644 index 00000000..c72b880f --- /dev/null +++ b/src/mapping/google/resource/securesourcemanager/google_secure_source_manager_repository.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "securesourcemanager.repositories.get", + "securesourcemanager.repositories.create", + "securesourcemanager.repositories.update", + "securesourcemanager.repositories.delete" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/mapping/google/resource/vpcaccess/google_vpc_access_connector.json b/src/mapping/google/resource/vpcaccess/google_vpc_access_connector.json new file mode 100644 index 00000000..4dadb545 --- /dev/null +++ b/src/mapping/google/resource/vpcaccess/google_vpc_access_connector.json @@ -0,0 +1,16 @@ +[ + { + "apply": [ + "vpcaccess.connectors.create", + "vpcaccess.connectors.delete", + "vpcaccess.connectors.get", + "vpcaccess.connectors.update" + ], + "attributes": { + "tags": [] + }, + "destroy": [], + "modify": [], + "plan": [] + } +] diff --git a/src/parse/aws-members.json b/src/parse/aws-members.json index 3064d1d0..1c433ceb 100755 --- a/src/parse/aws-members.json +++ b/src/parse/aws-members.json @@ -105,8 +105,10 @@ "aws_appstream_stack", "aws_appstream_user", "aws_appstream_user_stack_association", + "aws_appsync_api", "aws_appsync_api_cache", "aws_appsync_api_key", + "aws_appsync_channel_namespace", "aws_appsync_datasource", "aws_appsync_domain_name", "aws_appsync_domain_name_api_association", @@ -169,6 +171,18 @@ "aws_bedrockagent_flow", "aws_bedrockagent_knowledge_base", "aws_bedrockagent_prompt", + "aws_bedrockagentcore_agent_runtime", + "aws_bedrockagentcore_agent_runtime_endpoint", + "aws_bedrockagentcore_api_key_credential_provider", + "aws_bedrockagentcore_browser", + "aws_bedrockagentcore_code_interpreter", + "aws_bedrockagentcore_gateway", + "aws_bedrockagentcore_gateway_target", + "aws_bedrockagentcore_memory", + "aws_bedrockagentcore_memory_strategy", + "aws_bedrockagentcore_oauth2_credential_provider", + "aws_bedrockagentcore_token_vault_cmk", + "aws_bedrockagentcore_workload_identity", "aws_budgets_budget", "aws_budgets_budget_action", "aws_ce_anomaly_monitor", @@ -291,6 +305,7 @@ "aws_cognito_identity_pool_roles_attachment", "aws_cognito_identity_provider", "aws_cognito_log_delivery_configuration", + "aws_cognito_managed_login_branding", "aws_cognito_managed_user_pool_client", "aws_cognito_resource_server", "aws_cognito_risk_configuration", @@ -335,6 +350,7 @@ "aws_connect_user_hierarchy_group", "aws_connect_user_hierarchy_structure", "aws_connect_vocabulary", + "aws_controltower_baseline", "aws_controltower_control", "aws_controltower_landing_zone", "aws_costoptimizationhub_enrollment_status", @@ -473,6 +489,7 @@ "aws_ebs_snapshot_copy", "aws_ebs_snapshot_import", "aws_ebs_volume", + "aws_ec2_allowed_images_settings", "aws_ec2_availability_zone_group", "aws_ec2_capacity_block_reservation", "aws_ec2_capacity_reservation", @@ -604,6 +621,7 @@ "aws_finspace_kx_user", "aws_finspace_kx_volume", "aws_fis_experiment_template", + "aws_fis_target_account_configuration", "aws_flow_log", "aws_fms_admin_account", "aws_fms_policy", @@ -733,6 +751,7 @@ "aws_internet_gateway", "aws_internet_gateway_attachment", "aws_internetmonitor_monitor", + "aws_invoicing_invoice_unit", "aws_iot_authorizer", "aws_iot_billing_group", "aws_iot_ca_certificate", @@ -785,7 +804,9 @@ "aws_kms_replica_key", "aws_lakeformation_data_cells_filter", "aws_lakeformation_data_lake_settings", + "aws_lakeformation_identity_center_configuration", "aws_lakeformation_lf_tag", + "aws_lakeformation_lf_tag_expression", "aws_lakeformation_opt_in", "aws_lakeformation_permissions", "aws_lakeformation_resource", @@ -932,6 +953,9 @@ "aws_networkfirewall_resource_policy", "aws_networkfirewall_rule_group", "aws_networkfirewall_tls_inspection_configuration", + "aws_networkfirewall_vpc_endpoint_association", + "aws_networkflowmonitor_monitor", + "aws_networkflowmonitor_scope", "aws_networkmanager_attachment_accepter", "aws_networkmanager_connect_attachment", "aws_networkmanager_connect_peer", @@ -961,6 +985,12 @@ "aws_oam_link", "aws_oam_sink", "aws_oam_sink_policy", + "aws_observabilityadmin_centralization_rule_for_organization", + "aws_odb_cloud_autonomous_vm_cluster", + "aws_odb_cloud_exadata_infrastructure", + "aws_odb_cloud_vm_cluster", + "aws_odb_network", + "aws_odb_network_peering_connection", "aws_opensearch_authorize_vpc_endpoint_access", "aws_opensearch_domain", "aws_opensearch_domain_policy", @@ -1005,6 +1035,7 @@ "aws_placement_group", "aws_prometheus_alert_manager_definition", "aws_prometheus_query_logging_configuration", + "aws_prometheus_resource_policy", "aws_prometheus_rule_group_namespace", "aws_prometheus_scraper", "aws_prometheus_workspace", @@ -1016,6 +1047,7 @@ "aws_quicksight_account_settings", "aws_quicksight_account_subscription", "aws_quicksight_analysis", + "aws_quicksight_custom_permissions", "aws_quicksight_dashboard", "aws_quicksight_data_set", "aws_quicksight_data_source", @@ -1029,11 +1061,13 @@ "aws_quicksight_key_registration", "aws_quicksight_namespace", "aws_quicksight_refresh_schedule", + "aws_quicksight_role_custom_permission", "aws_quicksight_role_membership", "aws_quicksight_template", "aws_quicksight_template_alias", "aws_quicksight_theme", "aws_quicksight_user", + "aws_quicksight_user_custom_permission", "aws_quicksight_vpc_connection", "aws_ram_principal_association", "aws_ram_resource_association", @@ -1375,6 +1409,7 @@ "aws_synthetics_canary", "aws_synthetics_group", "aws_synthetics_group_association", + "aws_timestreaminfluxdb_db_cluster", "aws_timestreaminfluxdb_db_instance", "aws_timestreamquery_scheduled_query", "aws_timestreamwrite_database", @@ -1387,11 +1422,14 @@ "aws_transfer_agreement", "aws_transfer_certificate", "aws_transfer_connector", + "aws_transfer_host_key", "aws_transfer_profile", "aws_transfer_server", "aws_transfer_ssh_key", "aws_transfer_tag", "aws_transfer_user", + "aws_transfer_web_app", + "aws_transfer_web_app_customization", "aws_transfer_workflow", "aws_verifiedaccess_endpoint", "aws_verifiedaccess_group", @@ -1496,16 +1534,29 @@ "aws_wafv2_web_acl", "aws_wafv2_web_acl_association", "aws_wafv2_web_acl_logging_configuration", + "aws_wafv2_web_acl_rule_group_association", "aws_workspaces_connection_alias", "aws_workspaces_directory", "aws_workspaces_ip_group", "aws_workspaces_workspace", "aws_workspacesweb_browser_settings", + "aws_workspacesweb_browser_settings_association", "aws_workspacesweb_data_protection_settings", + "aws_workspacesweb_data_protection_settings_association", + "aws_workspacesweb_identity_provider", "aws_workspacesweb_ip_access_settings", + "aws_workspacesweb_ip_access_settings_association", "aws_workspacesweb_network_settings", + "aws_workspacesweb_network_settings_association", + "aws_workspacesweb_portal", + "aws_workspacesweb_session_logger", + "aws_workspacesweb_session_logger_association", + "aws_workspacesweb_trust_store", + "aws_workspacesweb_trust_store_association", "aws_workspacesweb_user_access_logging_settings", + "aws_workspacesweb_user_access_logging_settings_association", "aws_workspacesweb_user_settings", + "aws_workspacesweb_user_settings_association", "aws_xray_encryption_config", "aws_xray_group", "aws_xray_resource_policy", @@ -1532,6 +1583,7 @@ "aws_apigatewayv2_apis", "aws_apigatewayv2_export", "aws_apigatewayv2_vpc_link", + "aws_appconfig_application", "aws_appconfig_configuration_profile", "aws_appconfig_configuration_profiles", "aws_appconfig_environment", @@ -1571,9 +1623,11 @@ "aws_bedrock_inference_profiles", "aws_bedrockagent_agent_versions", "aws_billing_service_account", + "aws_billing_views", "aws_budgets_budget", "aws_caller_identity", "aws_canonical_user_id", + "aws_ce_cost_category", "aws_ce_tags", "aws_chatbot_slack_workspace", "aws_cloudcontrolapi_resource", @@ -1722,6 +1776,7 @@ "aws_ecr_repository", "aws_ecr_repository_creation_template", "aws_ecrpublic_authorization_token", + "aws_ecrpublic_images", "aws_ecs_cluster", "aws_ecs_clusters", "aws_ecs_container_definition", @@ -1750,6 +1805,7 @@ "aws_elasticache_replication_group", "aws_elasticache_reserved_cache_node_offering", "aws_elasticache_serverless_cache", + "aws_elasticache_subnet_group", "aws_elasticache_user", "aws_elasticsearch_domain", "aws_elb", @@ -1866,7 +1922,14 @@ "aws_location_tracker", "aws_location_tracker_association", "aws_location_tracker_associations", + "aws_media_convert_queue", "aws_medialive_input", + "aws_memorydb_acl", + "aws_memorydb_cluster", + "aws_memorydb_parameter_group", + "aws_memorydb_snapshot", + "aws_memorydb_subnet_group", + "aws_memorydb_user", "aws_mq_broker", "aws_mq_broker_engine_types", "aws_mq_broker_instance_type_offerings", @@ -1904,6 +1967,22 @@ "aws_oam_links", "aws_oam_sink", "aws_oam_sinks", + "aws_odb_cloud_autonomous_vm_cluster", + "aws_odb_cloud_autonomous_vm_clusters", + "aws_odb_cloud_exadata_infrastructure", + "aws_odb_cloud_exadata_infrastructures", + "aws_odb_cloud_vm_cluster", + "aws_odb_cloud_vm_clusters", + "aws_odb_db_node", + "aws_odb_db_nodes", + "aws_odb_db_server", + "aws_odb_db_servers", + "aws_odb_db_system_shapes", + "aws_odb_gi_versions", + "aws_odb_network", + "aws_odb_network_peering_connection", + "aws_odb_network_peering_connections", + "aws_odb_networks", "aws_opensearch_domain", "aws_opensearchserverless_access_policy", "aws_opensearchserverless_collection", @@ -1950,6 +2029,7 @@ "aws_rds_cluster_parameter_group", "aws_rds_clusters", "aws_rds_engine_version", + "aws_rds_global_cluster", "aws_rds_orderable_db_instance", "aws_rds_reserved_instance_offering", "aws_redshift_cluster", @@ -2002,6 +2082,7 @@ "aws_secretsmanager_secrets", "aws_security_group", "aws_security_groups", + "aws_securityhub_standards_control_associations", "aws_serverlessapplicationrepository_application", "aws_service", "aws_service_discovery_dns_namespace", @@ -2090,6 +2171,7 @@ "aws_vpclattice_service", "aws_vpclattice_service_network", "aws_vpcs", + "aws_vpn_connection", "aws_vpn_gateway", "aws_waf_ipset", "aws_waf_rate_based_rule", @@ -2107,6 +2189,7 @@ "aws_wafv2_web_acl", "aws_workspaces_bundle", "aws_workspaces_directory", - "aws_workspaces_image" + "aws_workspaces_image", + "aws_workspaces_workspace" ] } \ No newline at end of file diff --git a/src/parse/azurerm-members.json b/src/parse/azurerm-members.json index 1e3e0e5b..753b8536 100755 --- a/src/parse/azurerm-members.json +++ b/src/parse/azurerm-members.json @@ -55,10 +55,15 @@ "azurerm_api_management_product_policy", "azurerm_api_management_product_tag", "azurerm_api_management_redis_cache", + "azurerm_api_management_standalone_gateway", "azurerm_api_management_subscription", "azurerm_api_management_tag", "azurerm_api_management_user", "azurerm_api_management_workspace", + "azurerm_api_management_workspace_api_version_set", + "azurerm_api_management_workspace_certificate", + "azurerm_api_management_workspace_policy", + "azurerm_api_management_workspace_policy_fragment", "azurerm_app_configuration", "azurerm_app_configuration_feature", "azurerm_app_configuration_key", @@ -247,6 +252,7 @@ "azurerm_data_factory_credential_service_principal", "azurerm_data_factory_credential_user_managed_identity", "azurerm_data_factory_custom_dataset", + "azurerm_data_factory_customer_managed_key", "azurerm_data_factory_data_flow", "azurerm_data_factory_dataset_azure_blob", "azurerm_data_factory_dataset_azure_sql_table", @@ -367,6 +373,7 @@ "azurerm_eventgrid_event_subscription", "azurerm_eventgrid_namespace", "azurerm_eventgrid_partner_configuration", + "azurerm_eventgrid_partner_namespace", "azurerm_eventgrid_partner_registration", "azurerm_eventgrid_system_topic", "azurerm_eventgrid_system_topic_event_subscription", @@ -558,6 +565,8 @@ "azurerm_managed_disk", "azurerm_managed_disk_sas_token", "azurerm_managed_lustre_file_system", + "azurerm_managed_redis", + "azurerm_managed_redis_geo_replication", "azurerm_management_group", "azurerm_management_group_policy_assignment", "azurerm_management_group_policy_exemption", @@ -584,6 +593,7 @@ "azurerm_mobile_network_site", "azurerm_mobile_network_slice", "azurerm_mongo_cluster", + "azurerm_mongo_cluster_firewall_rule", "azurerm_monitor_aad_diagnostic_setting", "azurerm_monitor_action_group", "azurerm_monitor_activity_log_alert", @@ -670,9 +680,12 @@ "azurerm_network_manager_connectivity_configuration", "azurerm_network_manager_deployment", "azurerm_network_manager_ipam_pool", + "azurerm_network_manager_ipam_pool_static_cidr", "azurerm_network_manager_management_group_connection", "azurerm_network_manager_network_group", "azurerm_network_manager_routing_configuration", + "azurerm_network_manager_routing_rule", + "azurerm_network_manager_routing_rule_collection", "azurerm_network_manager_scope_connection", "azurerm_network_manager_security_admin_configuration", "azurerm_network_manager_static_member", @@ -694,8 +707,13 @@ "azurerm_notification_hub_authorization_rule", "azurerm_notification_hub_namespace", "azurerm_oracle_autonomous_database", + "azurerm_oracle_autonomous_database_backup", + "azurerm_oracle_autonomous_database_clone_from_backup", + "azurerm_oracle_autonomous_database_clone_from_database", "azurerm_oracle_cloud_vm_cluster", "azurerm_oracle_exadata_infrastructure", + "azurerm_oracle_exascale_database_storage_vault", + "azurerm_oracle_resource_anchor", "azurerm_orbital_contact", "azurerm_orbital_contact_profile", "azurerm_orbital_spacecraft", @@ -726,6 +744,7 @@ "azurerm_postgresql_firewall_rule", "azurerm_postgresql_flexible_server", "azurerm_postgresql_flexible_server_active_directory_administrator", + "azurerm_postgresql_flexible_server_backup", "azurerm_postgresql_flexible_server_configuration", "azurerm_postgresql_flexible_server_database", "azurerm_postgresql_flexible_server_firewall_rule", @@ -878,7 +897,6 @@ "azurerm_site_recovery_vmware_replication_policy_association", "azurerm_snapshot", "azurerm_source_control_token", - "azurerm_spatial_anchors_account", "azurerm_spring_cloud_accelerator", "azurerm_spring_cloud_active_deployment", "azurerm_spring_cloud_api_portal", @@ -1125,7 +1143,7 @@ "azurerm_application_security_group", "azurerm_arc_machine", "azurerm_arc_resource_bridge_appliance", - "azurerm_attestation", + "azurerm_attestation_provider", "azurerm_automation_account", "azurerm_automation_runbook", "azurerm_automation_variable_bool", @@ -1162,8 +1180,8 @@ "azurerm_consumption_budget_resource_group", "azurerm_consumption_budget_subscription", "azurerm_container_app", - "azurerm_container_app_environment.", - "azurerm_container_app_environment_certificate.", + "azurerm_container_app_environment", + "azurerm_container_app_environment_certificate", "azurerm_container_app_environment_dapr_component.", "azurerm_container_group", "azurerm_container_registry", @@ -1174,6 +1192,7 @@ "azurerm_cosmosdb_mongo_database", "azurerm_cosmosdb_restorable_database_accounts", "azurerm_cosmosdb_sql_database", + "azurerm_cosmosdb_sql_role_definition", "azurerm_dashboard_grafana", "azurerm_data_factory", "azurerm_data_factory_trigger_schedule", @@ -1189,6 +1208,7 @@ "azurerm_data_share_dataset_kusto_database", "azurerm_database_migration_project", "azurerm_database_migration_service", + "azurerm_databox_edge_device", "azurerm_databricks_access_connector", "azurerm_databricks_workspace", "azurerm_databricks_workspace_private_endpoint_connection", @@ -1225,10 +1245,12 @@ "azurerm_elastic_san_volume_snapshot", "azurerm_eventgrid_domain", "azurerm_eventgrid_domain_topic", + "azurerm_eventgrid_partner_namespace", "azurerm_eventgrid_partner_registration", "azurerm_eventgrid_system_topic", "azurerm_eventgrid_topic", "azurerm_eventhub", + "azurerm_eventhub_authorization_rule", "azurerm_eventhub_cluster", "azurerm_eventhub_consumer_group", "azurerm_eventhub_namespace", @@ -1242,6 +1264,7 @@ "azurerm_firewall_policy", "azurerm_function_app", "azurerm_function_app_host_keys", + "azurerm_graph_services_account", "azurerm_hdinsight_cluster", "azurerm_healthcare_dicom_service", "azurerm_healthcare_fhir_service", @@ -1294,9 +1317,23 @@ "azurerm_managed_api", "azurerm_managed_application_definition", "azurerm_managed_disk", + "azurerm_managed_disks", + "azurerm_managed_redis", "azurerm_management_group", "azurerm_management_group_template_deployment", "azurerm_maps_account", + "azurerm_marketplace_agreement", + "azurerm_mobile_network", + "azurerm_mobile_network_attached_data_network", + "azurerm_mobile_network_data_network", + "azurerm_mobile_network_packet_core_control_plane", + "azurerm_mobile_network_packet_core_data_plane", + "azurerm_mobile_network_service", + "azurerm_mobile_network_sim", + "azurerm_mobile_network_sim_group", + "azurerm_mobile_network_sim_policy", + "azurerm_mobile_network_site", + "azurerm_mobile_network_slice", "azurerm_monitor_action_group", "azurerm_monitor_data_collection_endpoint", "azurerm_monitor_data_collection_rule", @@ -1310,9 +1347,12 @@ "azurerm_mssql_managed_database", "azurerm_mssql_managed_instance", "azurerm_mssql_server", + "azurerm_mysql_flexible_server", "azurerm_nat_gateway", "azurerm_netapp_account", "azurerm_netapp_account_encryption", + "azurerm_netapp_backup_policy", + "azurerm_netapp_backup_vault", "azurerm_netapp_pool", "azurerm_netapp_snapshot", "azurerm_netapp_snapshot_policy", @@ -1322,8 +1362,10 @@ "azurerm_netapp_volume_quota_rule", "azurerm_network_ddos_protection_plan", "azurerm_network_interface", + "azurerm_network_manager", "azurerm_network_manager_connectivity_configuration", "azurerm_network_manager_ipam_pool", + "azurerm_network_manager_network_group", "azurerm_network_security_group", "azurerm_network_service_tags", "azurerm_network_watcher", @@ -1336,12 +1378,18 @@ "azurerm_oracle_adbs_character_sets", "azurerm_oracle_adbs_national_character_sets", "azurerm_oracle_autonomous_database", + "azurerm_oracle_autonomous_database_backup", + "azurerm_oracle_autonomous_database_backups", + "azurerm_oracle_autonomous_database_clone_from_backup", + "azurerm_oracle_autonomous_database_clone_from_database", "azurerm_oracle_cloud_vm_cluster", "azurerm_oracle_db_nodes", "azurerm_oracle_db_servers", "azurerm_oracle_db_system_shapes", "azurerm_oracle_exadata_infrastructure", + "azurerm_oracle_exascale_database_storage_vault", "azurerm_oracle_gi_versions", + "azurerm_oracle_resource_anchor", "azurerm_orchestrated_virtual_machine_scale_set", "azurerm_palo_alto_local_rulestack", "azurerm_platform_image", @@ -1388,6 +1436,7 @@ "azurerm_role_management_policy", "azurerm_route_filter", "azurerm_route_table", + "azurerm_search_service", "azurerm_sentinel_alert_rule", "azurerm_sentinel_alert_rule_anomaly", "azurerm_sentinel_alert_rule_template", @@ -1408,6 +1457,7 @@ "azurerm_site_recovery_fabric", "azurerm_site_recovery_protection_container", "azurerm_site_recovery_replication_policy", + "azurerm_site_recovery_replication_recovery_plan", "azurerm_snapshot", "azurerm_source_control_token", "azurerm_spring_cloud_app", @@ -1429,6 +1479,7 @@ "azurerm_storage_sync", "azurerm_storage_sync_group", "azurerm_storage_table", + "azurerm_storage_table_entities", "azurerm_storage_table_entity", "azurerm_stream_analytics_job", "azurerm_subnet", @@ -1463,8 +1514,6 @@ "azurerm_web_pubsub", "azurerm_web_pubsub_private_link_resource", "azurerm_windows_function_app", - "azurerm_windows_web_app", - "netapp_backup_policy", - "netapp_backup_vault" + "azurerm_windows_web_app" ] } \ No newline at end of file diff --git a/src/parse/google-members.json b/src/parse/google-members.json index 5fe0f311..ec006955 100755 --- a/src/parse/google-members.json +++ b/src/parse/google-members.json @@ -38,16 +38,19 @@ "google_api_gateway_gateway_iam_policy", "google_apigee_addons_config", "google_apigee_api", + "google_apigee_api_deployment", "google_apigee_api_product", "google_apigee_app_group", "google_apigee_control_plane_access", "google_apigee_developer", + "google_apigee_developer_app", "google_apigee_dns_zone", "google_apigee_env_keystore", "google_apigee_envgroup", "google_apigee_envgroup_attachment", "google_apigee_environment", "google_apigee_environment_addons_config", + "google_apigee_environment_api_revision_deployment", "google_apigee_environment_iam_binding", "google_apigee_environment_iam_member", "google_apigee_environment_iam_policy", @@ -81,6 +84,7 @@ "google_apphub_service", "google_apphub_service_project_attachment", "google_apphub_workload", + "google_artifact_registry_package", "google_artifact_registry_repository", "google_artifact_registry_repository_iam_binding", "google_artifact_registry_repository_iam_member", @@ -95,10 +99,6 @@ "google_beyondcorp_app_connection", "google_beyondcorp_app_connector", "google_beyondcorp_app_gateway", - "google_beyondcorp_application", - "google_beyondcorp_application_iam_binding", - "google_beyondcorp_application_iam_member", - "google_beyondcorp_application_iam_policy", "google_beyondcorp_security_gateway", "google_beyondcorp_security_gateway_application", "google_beyondcorp_security_gateway_application_iam_binding", @@ -131,6 +131,10 @@ "google_bigquery_datapolicy_data_policy_iam_binding", "google_bigquery_datapolicy_data_policy_iam_member", "google_bigquery_datapolicy_data_policy_iam_policy", + "google_bigquery_datapolicyv2_data_policy", + "google_bigquery_datapolicyv2_data_policy_iam_binding", + "google_bigquery_datapolicyv2_data_policy_iam_member", + "google_bigquery_datapolicyv2_data_policy_iam_policy", "google_bigquery_dataset", "google_bigquery_dataset_access", "google_bigquery_dataset_iam_binding", @@ -177,6 +181,13 @@ "google_certificate_manager_certificate_map_entry", "google_certificate_manager_dns_authorization", "google_certificate_manager_trust_config", + "google_ces_agent", + "google_ces_app", + "google_ces_deployment", + "google_ces_example", + "google_ces_guardrail", + "google_ces_tool", + "google_ces_toolset", "google_chronicle_data_access_label", "google_chronicle_data_access_scope", "google_chronicle_reference_list", @@ -210,6 +221,9 @@ "google_cloud_run_v2_worker_pool_iam_member", "google_cloud_run_v2_worker_pool_iam_policy", "google_cloud_scheduler_job", + "google_cloud_security_compliance_cloud_control", + "google_cloud_security_compliance_framework", + "google_cloud_security_compliance_framework_deployment", "google_cloud_tasks_queue", "google_cloud_tasks_queue_iam_binding", "google_cloud_tasks_queue_iam_member", @@ -362,6 +376,7 @@ "google_compute_region_disk_iam_member", "google_compute_region_disk_iam_policy", "google_compute_region_disk_resource_policy_attachment", + "google_compute_region_health_aggregation_policy", "google_compute_region_health_check", "google_compute_region_instance_group_manager", "google_compute_region_instance_template", @@ -494,6 +509,7 @@ "google_dataplex_entry_group_iam_binding", "google_dataplex_entry_group_iam_member", "google_dataplex_entry_group_iam_policy", + "google_dataplex_entry_link", "google_dataplex_entry_type", "google_dataplex_entry_type_iam_binding", "google_dataplex_entry_type_iam_member", @@ -557,6 +573,7 @@ "google_developer_connect_git_repository_link", "google_developer_connect_insights_config", "google_dialogflow_agent", + "google_dialogflow_conversation_profile", "google_dialogflow_cx_agent", "google_dialogflow_cx_entity_type", "google_dialogflow_cx_environment", @@ -565,6 +582,7 @@ "google_dialogflow_cx_generator", "google_dialogflow_cx_intent", "google_dialogflow_cx_page", + "google_dialogflow_cx_playbook", "google_dialogflow_cx_security_settings", "google_dialogflow_cx_tool", "google_dialogflow_cx_version", @@ -573,14 +591,20 @@ "google_dialogflow_entity_type", "google_dialogflow_fulfillment", "google_dialogflow_intent", + "google_discovery_engine_acl_config", + "google_discovery_engine_assistant", "google_discovery_engine_chat_engine", "google_discovery_engine_cmek_config", + "google_discovery_engine_control", + "google_discovery_engine_data_connector", "google_discovery_engine_data_store", + "google_discovery_engine_license_config", "google_discovery_engine_recommendation_engine", "google_discovery_engine_schema", "google_discovery_engine_search_engine", "google_discovery_engine_sitemap", "google_discovery_engine_target_site", + "google_discovery_engine_user_store", "google_dns_managed_zone", "google_dns_managed_zone_iam_binding", "google_dns_managed_zone_iam_member", @@ -650,6 +674,7 @@ "google_firestore_document", "google_firestore_field", "google_firestore_index", + "google_firestore_user_creds", "google_folder", "google_folder_access_approval_settings", "google_folder_iam_audit_config", @@ -743,6 +768,7 @@ "google_iam_workforce_pool_iam_policy", "google_iam_workforce_pool_provider", "google_iam_workforce_pool_provider_key", + "google_iam_workforce_pool_provider_scim_tenant", "google_iam_workload_identity_pool", "google_iam_workload_identity_pool_iam_binding", "google_iam_workload_identity_pool_iam_member", @@ -775,12 +801,18 @@ "google_iap_web_cloud_run_service_iam_binding", "google_iap_web_cloud_run_service_iam_member", "google_iap_web_cloud_run_service_iam_policy", + "google_iap_web_forwarding_rule_service_iam_binding", + "google_iap_web_forwarding_rule_service_iam_member", + "google_iap_web_forwarding_rule_service_iam_policy", "google_iap_web_iam_binding", "google_iap_web_iam_member", "google_iap_web_iam_policy", "google_iap_web_region_backend_service_iam_binding", "google_iap_web_region_backend_service_iam_member", "google_iap_web_region_backend_service_iam_policy", + "google_iap_web_region_forwarding_rule_service_iam_binding", + "google_iap_web_region_forwarding_rule_service_iam_member", + "google_iap_web_region_forwarding_rule_service_iam_policy", "google_iap_web_type_app_engine_iam_binding", "google_iap_web_type_app_engine_iam_member", "google_iap_web_type_app_engine_iam_policy", @@ -810,12 +842,15 @@ "google_kms_ekm_connection_iam_binding", "google_kms_ekm_connection_iam_member", "google_kms_ekm_connection_iam_policy", + "google_kms_folder_kaj_policy_config", "google_kms_key_handle", "google_kms_key_ring", "google_kms_key_ring_iam_binding", "google_kms_key_ring_iam_member", "google_kms_key_ring_iam_policy", "google_kms_key_ring_import_job", + "google_kms_organization_kaj_policy_config", + "google_kms_project_kaj_policy_config", "google_kms_secret_ciphertext", "google_logging_billing_account_bucket_config", "google_logging_billing_account_exclusion", @@ -867,6 +902,7 @@ "google_netapp_backup", "google_netapp_backup_policy", "google_netapp_backup_vault", + "google_netapp_host_group", "google_netapp_kmsconfig", "google_netapp_storage_pool", "google_netapp_volume", @@ -880,6 +916,7 @@ "google_network_connectivity_regional_endpoint", "google_network_connectivity_service_connection_policy", "google_network_connectivity_spoke", + "google_network_management_organization_vpc_flow_logs_config", "google_network_management_vpc_flow_logs_config", "google_network_security_address_group", "google_network_security_address_group_iam_binding", @@ -889,6 +926,7 @@ "google_network_security_authz_policy", "google_network_security_backend_authentication_config", "google_network_security_client_tls_policy", + "google_network_security_dns_threat_detector", "google_network_security_firewall_endpoint", "google_network_security_firewall_endpoint_association", "google_network_security_gateway_security_policy", @@ -899,6 +937,7 @@ "google_network_security_intercept_endpoint_group_association", "google_network_security_mirroring_deployment", "google_network_security_mirroring_deployment_group", + "google_network_security_mirroring_endpoint", "google_network_security_mirroring_endpoint_group", "google_network_security_mirroring_endpoint_group_association", "google_network_security_security_profile", @@ -917,10 +956,12 @@ "google_network_services_lb_route_extension", "google_network_services_lb_traffic_extension", "google_network_services_mesh", + "google_network_services_multicast_domain", "google_network_services_service_binding", "google_network_services_service_lb_policies", "google_network_services_tcp_route", "google_network_services_tls_route", + "google_network_services_wasm_plugin", "google_notebooks_environment", "google_notebooks_instance", "google_notebooks_instance_iam_binding", @@ -930,9 +971,12 @@ "google_notebooks_runtime_iam_binding", "google_notebooks_runtime_iam_member", "google_notebooks_runtime_iam_policy", + "google_observability_trace_scope", "google_oracle_database_autonomous_database", "google_oracle_database_cloud_exadata_infrastructure", "google_oracle_database_cloud_vm_cluster", + "google_oracle_database_db_system", + "google_oracle_database_exascale_db_storage_vault", "google_oracle_database_odb_network", "google_oracle_database_odb_subnet", "google_org_policy_custom_constraint", @@ -967,6 +1011,7 @@ "google_privateca_certificate_template_iam_member", "google_privateca_certificate_template_iam_policy", "google_privileged_access_manager_entitlement", + "google_privileged_access_manager_settings", "google_project", "google_project_access_approval_settings", "google_project_default_service_accounts", @@ -1008,6 +1053,12 @@ "google_runtimeconfig_config_iam_member", "google_runtimeconfig_config_iam_policy", "google_runtimeconfig_variable", + "google_saas_runtime_release", + "google_saas_runtime_rollout_kind", + "google_saas_runtime_saas", + "google_saas_runtime_tenant", + "google_saas_runtime_unit", + "google_saas_runtime_unit_kind", "google_scc_event_threat_detection_custom_module", "google_scc_folder_custom_module", "google_scc_folder_notification_config", @@ -1051,6 +1102,7 @@ "google_secret_manager_secret_iam_policy", "google_secret_manager_secret_version", "google_secure_source_manager_branch_rule", + "google_secure_source_manager_hook", "google_secure_source_manager_instance", "google_secure_source_manager_instance_iam_binding", "google_secure_source_manager_instance_iam_member", @@ -1143,6 +1195,7 @@ "google_tpu_v2_vm", "google_transcoder_job", "google_transcoder_job_template", + "google_vertex_ai_cache_config", "google_vertex_ai_dataset", "google_vertex_ai_deployment_resource_pool", "google_vertex_ai_endpoint", @@ -1176,6 +1229,8 @@ "google_vertex_ai_index_endpoint", "google_vertex_ai_index_endpoint_deployed_index", "google_vertex_ai_metadata_store", + "google_vertex_ai_rag_engine_config", + "google_vertex_ai_reasoning_engine", "google_vertex_ai_tensorboard", "google_vmwareengine_cluster", "google_vmwareengine_external_access_rule", @@ -1223,16 +1278,28 @@ "google_artifact_registry_docker_image", "google_artifact_registry_docker_images", "google_artifact_registry_locations", + "google_artifact_registry_maven_artifact", + "google_artifact_registry_maven_artifacts", + "google_artifact_registry_npm_package", + "google_artifact_registry_npm_packages", + "google_artifact_registry_packages", + "google_artifact_registry_python_package", + "google_artifact_registry_python_packages", + "google_artifact_registry_repositories", "google_artifact_registry_repository", "google_artifact_registry_repository_iam_policy", + "google_artifact_registry_tags", + "google_artifact_registry_versions", "google_backup_dr_backup", "google_backup_dr_backup_plan_association", + "google_backup_dr_backup_plan_associations", "google_backup_dr_backup_vault", "google_backup_dr_data_source", + "google_backup_dr_data_source_reference", + "google_backup_dr_data_source_references", "google_beyondcorp_app_connection", "google_beyondcorp_app_connector", "google_beyondcorp_app_gateway", - "google_beyondcorp_application_iam_policy", "google_beyondcorp_security_gateway", "google_beyondcorp_security_gateway_application_iam_policy", "google_beyondcorp_security_gateway_iam_policy", @@ -1240,6 +1307,7 @@ "google_bigquery_analytics_hub_listing_iam_policy", "google_bigquery_connection_iam_policy", "google_bigquery_datapolicy_data_policy_iam_policy", + "google_bigquery_datapolicyv2_data_policy_iam_policy", "google_bigquery_dataset", "google_bigquery_dataset_iam_policy", "google_bigquery_datasets", @@ -1254,12 +1322,14 @@ "google_binary_authorization_attestor_iam_policy", "google_certificate_manager_certificate_map", "google_certificate_manager_certificates", + "google_certificate_manager_dns_authorization", "google_client_config", "google_client_openid_userinfo", "google_cloud_identity_group_lookup", "google_cloud_identity_group_memberships", "google_cloud_identity_group_transitive_memberships", "google_cloud_identity_groups", + "google_cloud_identity_policy", "google_cloud_quotas_quota_info", "google_cloud_quotas_quota_infos", "google_cloud_run_locations", @@ -1313,6 +1383,8 @@ "google_compute_instance_template", "google_compute_instance_template_iam_policy", "google_compute_instant_snapshot_iam_policy", + "google_compute_interconnect_location", + "google_compute_interconnect_locations", "google_compute_lb_ip_ranges", "google_compute_machine_image_iam_policy", "google_compute_machine_types", @@ -1333,6 +1405,8 @@ "google_compute_region_ssl_certificate", "google_compute_regions", "google_compute_reservation", + "google_compute_reservation_block", + "google_compute_reservation_sub_block", "google_compute_resource_policy", "google_compute_router", "google_compute_router_nat", @@ -1423,8 +1497,10 @@ "google_iap_tunnel_instance_iam_policy", "google_iap_web_backend_service_iam_policy", "google_iap_web_cloud_run_service_iam_policy", + "google_iap_web_forwarding_rule_service_iam_policy", "google_iap_web_iam_policy", "google_iap_web_region_backend_service_iam_policy", + "google_iap_web_region_forwarding_rule_service_iam_policy", "google_iap_web_type_app_engine_iam_policy", "google_iap_web_type_compute_iam_policy", "google_kms_autokey_config", diff --git a/src/scan.go b/src/scan.go index f7ca8117..6b6d9515 100644 --- a/src/scan.go +++ b/src/scan.go @@ -2,12 +2,15 @@ package pike import ( "context" + "errors" "fmt" "os" "os/exec" "path" "path/filepath" "strings" + "sync" + "time" "github.com/hashicorp/go-version" "github.com/hashicorp/hc-install/product" @@ -18,7 +21,16 @@ import ( const tfVersion = "1.5.4" -var dotTfModules = path.Join(".terraform", "modules") +const ( + modulesJSON = "modules.json" + dsStore = ".DS_Store" + dotTfModules = ".terraform/modules" +) + +var ( + terraformMutex sync.Mutex + initMutex sync.Map // per-directory mutex +) type emptyIACError struct{} @@ -184,23 +196,36 @@ func WriteOutput(outPolicy OutputPolicy, outputType string, scanPath string, out } // Init can download and install terraform if required and then terraform init your specified directory. + func Init(dirName string) (*string, []string, error) { + // Per-directory locking + dirMutex, _ := initMutex.LoadOrStore(dirName, &sync.Mutex{}) + mutex := dirMutex.(*sync.Mutex) + mutex.Lock() + defer mutex.Unlock() + tfPath, err := LocateTerraform() if err != nil { return nil, nil, &locateTerraformError{err} } tf, err := tfexec.NewTerraform(dirName, tfPath) + if err != nil { return nil, nil, &terraformExecError{err} } - err = tf.Init(context.Background(), tfexec.Upgrade(true)) + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Minute) + defer cancel() + err = tf.Init(ctx, tfexec.Upgrade(true)) if err != nil { + if errors.Is(context.DeadlineExceeded, ctx.Err()) { + return nil, nil, fmt.Errorf("terraform init timed out after 10 minutes: %w", err) + } return nil, nil, &terraformInitError{err} } - log.Printf("terraform init at %s", dirName) + log.Info().Msgf("terraform init at %s", dirName) modulesDir := path.Join(dirName, dotTfModules) modules, err := os.ReadDir(modulesDir) @@ -225,11 +250,14 @@ func Init(dirName string) (*string, []string, error) { // LocateTerraform finds the Terraform executable or installs it. func LocateTerraform() (string, error) { + terraformMutex.Lock() + defer terraformMutex.Unlock() + tfPath, err := exec.LookPath(terraform) // if you don't have tf installed, we have to install it if err != nil || tfPath == "" { - log.Printf("installing Terraform %s\n", tfVersion) + log.Info().Msgf("installing Terraform %s\n", tfVersion) installer := &releases.ExactVersion{ Product: product.Terraform, Version: version.Must(version.NewVersion(tfVersion)), @@ -247,18 +275,20 @@ func LocateTerraform() (string, error) { } // MakePolicy does the guts of determining a policy from code. -func MakePolicy(dirName string, file *string, init bool, EnableResources bool, provider string, policyName string) (OutputPolicy, error) { - var ( - output OutputPolicy - ) +func MakePolicy(dirName string, file *string, init bool, enableResources bool, provider string, policyName string) (OutputPolicy, error) { + // Validate inputs early + if dirName == "" && file == nil { + return OutputPolicy{}, errors.New("either directory or file should be be set") + } - permissionsBag, err := makePermissionBag(dirName, file, init, provider) + var output OutputPolicy + permissionsBag, err := makePermissionBag(dirName, file, init, provider) if err != nil { - return output, err + return output, fmt.Errorf("failed to create permission bag: %w", err) } - output, err = GetPolicy(permissionsBag, EnableResources, policyName) + output, err = GetPolicy(permissionsBag, enableResources, policyName) if err != nil { return output, &getPolicyError{err: err} } @@ -266,14 +296,22 @@ func MakePolicy(dirName string, file *string, init bool, EnableResources bool, p return output, nil } +// Extract common absolute path logic +func getAbsolutePath(path string) (string, error) { + absPath, err := filepath.Abs(path) + if err != nil { + return "", &absolutePathError{directory: path, err: err} + } + return absPath, nil +} func makePermissionBag(dirName string, file *string, init bool, provider string) (Sorted, error) { var files []string if file == nil { - fullPath, err := filepath.Abs(dirName) + fullPath, err := getAbsolutePath(dirName) if err != nil { - return Sorted{}, &absolutePathError{directory: dirName, err: err} + return Sorted{}, err } if init { @@ -292,9 +330,9 @@ func makePermissionBag(dirName string, file *string, init bool, provider string) return Sorted{}, &getTFError{directory: fullPath, err: err} } } else { - myFile, err := filepath.Abs(*file) + myFile, err := getAbsolutePath(*file) if err != nil { - return Sorted{}, &absolutePathError{directory: *file, err: err} + return Sorted{}, err } // is this a tfFile? @@ -310,22 +348,34 @@ func makePermissionBag(dirName string, file *string, init bool, provider string) } var resources []ResourceV2 + var failedFiles []string + var criticalErrors []error for _, tfFile := range files { resource, err := GetResources(tfFile, dirName) if err != nil { - // parse the other files - log.Print(err) + failedFiles = append(failedFiles, tfFile) + criticalErrors = append(criticalErrors, fmt.Errorf("failed to parse %s: %w", tfFile, err)) + continue } if resource != nil { resources = append(resources, resource...) } } + + // Fail fast if too many critical files failed + if len(criticalErrors) > 0 { + if len(failedFiles) > len(files)/2 { // More than 50% failed + return Sorted{}, fmt.Errorf("critical parsing failures in %d/%d files: %v", + len(failedFiles), len(files), criticalErrors) + } + log.Warn().Int("failed_files", len(failedFiles)).Msg("some terraform files failed to parse") + } + permissionsBag := GetPermissionBag(resources, provider) return permissionsBag, nil } - func GetPermissionBag(resources []ResourceV2, provider string) Sorted { var permissionBag Sorted var newPerms Sorted @@ -418,3 +468,16 @@ func StringInSlice(a string, list []string) bool { func GetHCLType(resourceName string) string { return strings.Split(resourceName, "_")[0] } + +const ( + maxFiles = 1000 + maxFileSize = 10 * 1024 * 1024 // 10MB + maxResources = 50000 +) + +func validateLimits(files []string) error { + if len(files) > maxFiles { + return fmt.Errorf("too many files: %d > %d", len(files), maxFiles) + } + return nil +} diff --git a/src/scan_test.go b/src/scan_test.go index 039b21e3..e575bda6 100644 --- a/src/scan_test.go +++ b/src/scan_test.go @@ -19,16 +19,16 @@ func TestScan(t *testing.T) { write bool } - testpath, _ := filepath.Abs("../terraform/aws/backup") + testPath, _ := filepath.Abs("../terraform/aws/backup") tests := []struct { name string args args wantErr bool }{ - {"aws", args{testpath, "json", false}, false}, - {"aws-out", args{testpath, "terraform", true}, false}, - {"google", args{testpath, "json", false}, false}, + {"aws", args{testPath, "json", false}, false}, + {"aws-out", args{testPath, "terraform", true}, false}, + {"google", args{testPath, "json", false}, false}, } for _, tt := range tests { diff --git a/terraform/aws/aws_prometheus_query_logging_configuration.tf b/terraform/aws/aws_prometheus_query_logging_configuration.tf deleted file mode 100644 index 91ee843b..00000000 --- a/terraform/aws/aws_prometheus_query_logging_configuration.tf +++ /dev/null @@ -1,25 +0,0 @@ -resource "aws_prometheus_workspace" "example" { - provider = aws.central - alias = "example" -} - -resource "aws_cloudwatch_log_group" "example" { - provider = aws.central - name = "/aws/prometheus/query-logs/example" -} - -resource "aws_prometheus_query_logging_configuration" "example" { - provider = aws.central - workspace_id = aws_prometheus_workspace.example.id - - destination { - cloudwatch_logs { - log_group_arn = "${aws_cloudwatch_log_group.example.arn}:*" - } - - filters { - qsp_threshold = 1000 - } - } - -} diff --git a/terraform/aws/backup/data.aws_appconfig_application.tf b/terraform/aws/backup/data.aws_appconfig_application.tf new file mode 100644 index 00000000..c8542521 --- /dev/null +++ b/terraform/aws/backup/data.aws_appconfig_application.tf @@ -0,0 +1,7 @@ +data "aws_appconfig_application" "pike" { + name = "pike" +} + +output "aws_appconfig_application" { + value = data.aws_appconfig_application.pike +} diff --git a/terraform/aws/backup/data.aws_billing_views.tf b/terraform/aws/backup/data.aws_billing_views.tf new file mode 100644 index 00000000..9a26a7b0 --- /dev/null +++ b/terraform/aws/backup/data.aws_billing_views.tf @@ -0,0 +1,6 @@ +data "aws_billing_views" "pike" { +} + +output "aws_billing_views" { + value = data.aws_billing_views.pike +} diff --git a/terraform/aws/backup/data.aws_ecrpublic_images.tf b/terraform/aws/backup/data.aws_ecrpublic_images.tf new file mode 100644 index 00000000..65249b2b --- /dev/null +++ b/terraform/aws/backup/data.aws_ecrpublic_images.tf @@ -0,0 +1,8 @@ +data "aws_ecrpublic_images" "pike" { + provider = aws.central + repository_name = "pike" +} + +output "aws_ecrpublic_images" { + value = data.aws_ecrpublic_images.pike +} diff --git a/terraform/aws/backup/data.aws_media_convert_queue.tf b/terraform/aws/backup/data.aws_media_convert_queue.tf new file mode 100644 index 00000000..658e5239 --- /dev/null +++ b/terraform/aws/backup/data.aws_media_convert_queue.tf @@ -0,0 +1,7 @@ +data "aws_media_convert_queue" "pike" { + id = "pike" +} + +output "aws_media_convert_queue" { + value = data.aws_media_convert_queue.pike +} diff --git a/terraform/aws/backup/data.aws_memorydb_acl.tf b/terraform/aws/backup/data.aws_memorydb_acl.tf new file mode 100644 index 00000000..815bafc1 --- /dev/null +++ b/terraform/aws/backup/data.aws_memorydb_acl.tf @@ -0,0 +1,7 @@ +data "aws_memorydb_acl" "pike" { + name = "pike" +} + +output "aws_memorydb_acl" { + value = data.aws_memorydb_acl.pike +} diff --git a/terraform/aws/backup/data.aws_memorydb_cluster.tf b/terraform/aws/backup/data.aws_memorydb_cluster.tf new file mode 100644 index 00000000..3bae3c0b --- /dev/null +++ b/terraform/aws/backup/data.aws_memorydb_cluster.tf @@ -0,0 +1,7 @@ +data "aws_memorydb_cluster" "pike" { + name = "pike" +} + +output "aws_memorydb_cluster" { + value = data.aws_memorydb_cluster.pike +} diff --git a/terraform/aws/backup/data.aws_memorydb_parameter_group.tf b/terraform/aws/backup/data.aws_memorydb_parameter_group.tf new file mode 100644 index 00000000..2fbcab25 --- /dev/null +++ b/terraform/aws/backup/data.aws_memorydb_parameter_group.tf @@ -0,0 +1,7 @@ +data "aws_memorydb_parameter_group" "pike" { + name = "pike" +} + +output "aws_memorydb_parameter_group" { + value = data.aws_memorydb_parameter_group.pike +} diff --git a/terraform/aws/backup/data.aws_memorydb_snapshot.tf b/terraform/aws/backup/data.aws_memorydb_snapshot.tf new file mode 100644 index 00000000..9d3a1cd0 --- /dev/null +++ b/terraform/aws/backup/data.aws_memorydb_snapshot.tf @@ -0,0 +1,7 @@ +data "aws_memorydb_snapshot" "pike" { + name = "pike" +} + +output "aws_memorydb_snapshot" { + value = data.aws_memorydb_snapshot.pike +} diff --git a/terraform/aws/backup/data.aws_memorydb_subnet_group.tf b/terraform/aws/backup/data.aws_memorydb_subnet_group.tf new file mode 100644 index 00000000..3ba8ea58 --- /dev/null +++ b/terraform/aws/backup/data.aws_memorydb_subnet_group.tf @@ -0,0 +1,7 @@ +data "aws_memorydb_subnet_group" "pike" { + name = "pike" +} + +output "aws_memorydb_subnet_group" { + value = data.aws_memorydb_subnet_group.pike +} diff --git a/terraform/aws/backup/data.aws_memorydb_user.tf b/terraform/aws/backup/data.aws_memorydb_user.tf new file mode 100644 index 00000000..7e65663f --- /dev/null +++ b/terraform/aws/backup/data.aws_memorydb_user.tf @@ -0,0 +1,7 @@ +data "aws_memorydb_user" "pike" { + user_name = "pike" +} + +output "aws_memorydb_user" { + value = data.aws_memorydb_user.pike +} diff --git a/terraform/aws/backup/data.aws_odb_cloud_autonomous_vm_cluster.tf b/terraform/aws/backup/data.aws_odb_cloud_autonomous_vm_cluster.tf new file mode 100644 index 00000000..bff3a5c2 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_cloud_autonomous_vm_cluster.tf @@ -0,0 +1,7 @@ +data "aws_odb_cloud_autonomous_vm_cluster" "pike" { + id = "pike" +} + +output "aws_odb_cloud_autonomous_vm_cluster" { + value = data.aws_odb_cloud_autonomous_vm_cluster.pike +} diff --git a/terraform/aws/backup/data.aws_odb_cloud_autonomous_vm_clusters.tf b/terraform/aws/backup/data.aws_odb_cloud_autonomous_vm_clusters.tf new file mode 100644 index 00000000..ecd34ea9 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_cloud_autonomous_vm_clusters.tf @@ -0,0 +1,6 @@ +data "aws_odb_cloud_autonomous_vm_clusters" "pike" { +} + +output "aws_odb_cloud_autonomous_vm_clusters" { + value = data.aws_odb_cloud_autonomous_vm_clusters.pike +} diff --git a/terraform/aws/backup/data.aws_odb_cloud_exadata_infrastructure.tf b/terraform/aws/backup/data.aws_odb_cloud_exadata_infrastructure.tf new file mode 100644 index 00000000..17bf23f2 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_cloud_exadata_infrastructure.tf @@ -0,0 +1,7 @@ +data "aws_odb_cloud_exadata_infrastructure" "pike" { + id = "pike" +} + +output "aws_odb_cloud_exadata_infrastructure" { + value = data.aws_odb_cloud_exadata_infrastructure.pike +} diff --git a/terraform/aws/backup/data.aws_odb_cloud_exadata_infrastructures.tf b/terraform/aws/backup/data.aws_odb_cloud_exadata_infrastructures.tf new file mode 100644 index 00000000..5cda9dee --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_cloud_exadata_infrastructures.tf @@ -0,0 +1,6 @@ +data "aws_odb_cloud_exadata_infrastructures" "pike" { +} + +output "aws_odb_cloud_exadata_infrastructures" { + value = data.aws_odb_cloud_exadata_infrastructures.pike +} diff --git a/terraform/aws/backup/data.aws_odb_cloud_vm_cluster.tf b/terraform/aws/backup/data.aws_odb_cloud_vm_cluster.tf new file mode 100644 index 00000000..cf3e715f --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_cloud_vm_cluster.tf @@ -0,0 +1,7 @@ +data "aws_odb_cloud_vm_cluster" "pike" { + id = "pike" +} + +output "aws_odb_cloud_vm_cluster" { + value = data.aws_odb_cloud_vm_cluster.pike +} diff --git a/terraform/aws/backup/data.aws_odb_cloud_vm_clusters.tf b/terraform/aws/backup/data.aws_odb_cloud_vm_clusters.tf new file mode 100644 index 00000000..dd023656 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_cloud_vm_clusters.tf @@ -0,0 +1,6 @@ +data "aws_odb_cloud_vm_clusters" "pike" { +} + +output "aws_odb_cloud_vm_clusters" { + value = data.aws_odb_cloud_vm_clusters.pike +} diff --git a/terraform/aws/backup/data.aws_odb_db_node.tf b/terraform/aws/backup/data.aws_odb_db_node.tf new file mode 100644 index 00000000..961dc303 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_db_node.tf @@ -0,0 +1,8 @@ +data "aws_odb_db_node" "pike" { + cloud_vm_cluster_id = "pike" + id = "pike" +} + +output "aws_odb_db_node" { + value = data.aws_odb_db_node.pike +} diff --git a/terraform/aws/backup/data.aws_odb_db_nodes.tf b/terraform/aws/backup/data.aws_odb_db_nodes.tf new file mode 100644 index 00000000..b258f147 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_db_nodes.tf @@ -0,0 +1,7 @@ +data "aws_odb_db_nodes" "pike" { + cloud_vm_cluster_id = "pike" +} + +output "aws_odb_db_nodes" { + value = data.aws_odb_db_nodes.pike +} diff --git a/terraform/aws/backup/data.aws_odb_db_server.tf b/terraform/aws/backup/data.aws_odb_db_server.tf new file mode 100644 index 00000000..94202db0 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_db_server.tf @@ -0,0 +1,8 @@ +data "aws_odb_db_server" "pike" { + id = "pike" + cloud_exadata_infrastructure_id = "pike" +} + +output "aws_odb_db_server" { + value = data.aws_odb_db_server.pike +} diff --git a/terraform/aws/backup/data.aws_odb_db_servers.tf b/terraform/aws/backup/data.aws_odb_db_servers.tf new file mode 100644 index 00000000..ddb1cd3d --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_db_servers.tf @@ -0,0 +1,7 @@ +data "aws_odb_db_servers" "pike" { + cloud_exadata_infrastructure_id = "pike" +} + +output "aws_odb_db_servers" { + value = data.aws_odb_db_servers.pike +} diff --git a/terraform/aws/backup/data.aws_odb_db_system_shapes.tf b/terraform/aws/backup/data.aws_odb_db_system_shapes.tf new file mode 100644 index 00000000..5f9c5721 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_db_system_shapes.tf @@ -0,0 +1,6 @@ +data "aws_odb_db_system_shapes" "pike" { +} + +output "aws_odb_db_system_shapes" { + value = data.aws_odb_db_system_shapes.pike +} diff --git a/terraform/aws/backup/data.aws_odb_gi_versions.tf b/terraform/aws/backup/data.aws_odb_gi_versions.tf new file mode 100644 index 00000000..a51be88f --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_gi_versions.tf @@ -0,0 +1,6 @@ +data "aws_odb_gi_versions" "pike" { +} + +output "aws_odb_gi_versions" { + value = data.aws_odb_gi_versions.pike +} diff --git a/terraform/aws/backup/data.aws_odb_network.tf b/terraform/aws/backup/data.aws_odb_network.tf new file mode 100644 index 00000000..89fa0143 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_network.tf @@ -0,0 +1,7 @@ +data "aws_odb_network" "pike" { + id = "pike" +} + +output "aws_odb_network" { + value = data.aws_odb_network.pike +} diff --git a/terraform/aws/backup/data.aws_odb_network_peering_connection.tf b/terraform/aws/backup/data.aws_odb_network_peering_connection.tf new file mode 100644 index 00000000..404a8924 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_network_peering_connection.tf @@ -0,0 +1,7 @@ +data "aws_odb_network_peering_connection" "pike" { + id = "pike" +} + +output "aws_odb_network_peering_connection" { + value = data.aws_odb_network_peering_connection.pike +} diff --git a/terraform/aws/backup/data.aws_odb_network_peering_connections.tf b/terraform/aws/backup/data.aws_odb_network_peering_connections.tf new file mode 100644 index 00000000..a65eab5b --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_network_peering_connections.tf @@ -0,0 +1,7 @@ +data "aws_odb_network_peering_connections" "pike" { + +} + +output "aws_odb_network_peering_connections" { + value = data.aws_odb_network_peering_connections.pike +} diff --git a/terraform/aws/backup/data.aws_odb_networks.tf b/terraform/aws/backup/data.aws_odb_networks.tf new file mode 100644 index 00000000..8502efe9 --- /dev/null +++ b/terraform/aws/backup/data.aws_odb_networks.tf @@ -0,0 +1,6 @@ +data "aws_odb_networks" "pike" { +} + +output "aws_odb_networks" { + value = data.aws_odb_networks.pike +} diff --git a/terraform/aws/backup/data.aws_rds_global_cluster.tf b/terraform/aws/backup/data.aws_rds_global_cluster.tf new file mode 100644 index 00000000..98ed1416 --- /dev/null +++ b/terraform/aws/backup/data.aws_rds_global_cluster.tf @@ -0,0 +1,7 @@ +data "aws_rds_global_cluster" "pike" { + identifier = "pike" +} + +output "aws_rds_global_cluster" { + value = data.aws_rds_global_cluster.pike +} diff --git a/terraform/aws/backup/data.aws_securityhub_standards_control_associations.tf b/terraform/aws/backup/data.aws_securityhub_standards_control_associations.tf new file mode 100644 index 00000000..9a3f4cd0 --- /dev/null +++ b/terraform/aws/backup/data.aws_securityhub_standards_control_associations.tf @@ -0,0 +1,7 @@ +data "aws_securityhub_standards_control_associations" "pike" { + security_control_id = "pike" +} + +output "aws_securityhub_standards_control_associations" { + value = data.aws_securityhub_standards_control_associations.pike +} diff --git a/terraform/aws/backup/data.aws_vpn_connection.tf b/terraform/aws/backup/data.aws_vpn_connection.tf new file mode 100644 index 00000000..2dfc552c --- /dev/null +++ b/terraform/aws/backup/data.aws_vpn_connection.tf @@ -0,0 +1,7 @@ +data "aws_vpn_connection" "pike" { + vpn_connection_id = "pike" +} + +output "aws_vpn_connection" { + value = data.aws_vpn_connection.pike +} diff --git a/terraform/aws/backup/data.aws_workspaces_workspace.tf b/terraform/aws/backup/data.aws_workspaces_workspace.tf new file mode 100644 index 00000000..675ac913 --- /dev/null +++ b/terraform/aws/backup/data.aws_workspaces_workspace.tf @@ -0,0 +1,8 @@ +data "aws_workspaces_workspace" "pike" { + workspace_id = "ws-cj5xcxsz5" +} + + +output "aws_workspaces_workspace" { + value = data.aws_workspaces_workspace.pike +} diff --git a/terraform/aws/role/aws_iam_policy.basic.tf b/terraform/aws/role/aws_iam_policy.basic.tf index de0e023c..725dd39a 100644 --- a/terraform/aws/role/aws_iam_policy.basic.tf +++ b/terraform/aws/role/aws_iam_policy.basic.tf @@ -7,8 +7,13 @@ resource "aws_iam_policy" "basic" { "Sid" : "VisualEditor0", "Effect" : "Allow", "Action" : [ - "ecr:ListImages", - "s3:ListAccessPoints" + //aws_vpn_connection + "ec2:DescribeVpnConnections", + //aws_rds_global_cluster + "rds:DescribeGlobalClusters", + //aws_ecrpublic_images + "ecr-public:DescribeImages" + ], "Resource" : [ "*" diff --git a/terraform/google/backup/data.google_artifact_registry_maven_artifact.tf b/terraform/google/backup/data.google_artifact_registry_maven_artifact.tf new file mode 100644 index 00000000..d965f619 --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_maven_artifact.tf @@ -0,0 +1,10 @@ +data "google_artifact_registry_maven_artifact" "pike" { + artifact_id = "pike" + group_id = "pike" + location = "pike" + repository_id = "pike" +} + +output "google_artifact_registry_maven_artifact" { + value = data.google_artifact_registry_maven_artifact.pike +} diff --git a/terraform/google/backup/data.google_artifact_registry_maven_artifacts.tf b/terraform/google/backup/data.google_artifact_registry_maven_artifacts.tf new file mode 100644 index 00000000..0195402d --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_maven_artifacts.tf @@ -0,0 +1,8 @@ +data "google_artifact_registry_maven_artifacts" "pike" { + repository_id = "pike" + location = "us-central1" +} + +output "google_artifact_registry_maven_artifacts" { + value = data.google_artifact_registry_maven_artifacts.pike +} diff --git a/terraform/google/backup/data.google_artifact_registry_npm_package.tf b/terraform/google/backup/data.google_artifact_registry_npm_package.tf new file mode 100644 index 00000000..c0bddb77 --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_npm_package.tf @@ -0,0 +1,7 @@ +data "google_artifact_registry_npm_package" "pike" { + provider = google-beta +} + +output "google_artifact_registry_npm_package" { + value = data.google_artifact_registry_npm_package.pike +} diff --git a/terraform/google/backup/data.google_artifact_registry_npm_packages.tf b/terraform/google/backup/data.google_artifact_registry_npm_packages.tf new file mode 100644 index 00000000..2fcce935 --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_npm_packages.tf @@ -0,0 +1,8 @@ +data "google_artifact_registry_npm_packages" "pike" { + repository_id = "pike" + location = "us-central1" +} + +output "google_artifact_registry_npm_packages" { + value = data.google_artifact_registry_npm_packages.pike +} diff --git a/terraform/google/backup/data.google_artifact_registry_packages.tf b/terraform/google/backup/data.google_artifact_registry_packages.tf new file mode 100644 index 00000000..c630d612 --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_packages.tf @@ -0,0 +1,8 @@ +data "google_artifact_registry_packages" "pike" { + location = "us-central1" + repository_id = "pike" +} + +output "google_artifact_registry_packages" { + value = data.google_artifact_registry_packages.pike +} diff --git a/terraform/google/backup/data.google_artifact_registry_python_package.tf b/terraform/google/backup/data.google_artifact_registry_python_package.tf new file mode 100644 index 00000000..b50c5b18 --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_python_package.tf @@ -0,0 +1,9 @@ +data "google_artifact_registry_python_package" "pike" { + package_name = "pike" + repository_id = "pike" + location = "us-central1" +} + +output "google_artifact_registry_python_package" { + value = data.google_artifact_registry_python_package.pike +} diff --git a/terraform/google/backup/data.google_artifact_registry_repositories.tf b/terraform/google/backup/data.google_artifact_registry_repositories.tf new file mode 100644 index 00000000..a88a0cab --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_repositories.tf @@ -0,0 +1,7 @@ +data "google_artifact_registry_repositories" "pike" { + location = "us-central1" +} + +output "google_artifact_registry_repositories" { + value = data.google_artifact_registry_repositories.pike +} diff --git a/terraform/google/backup/data.google_artifact_registry_tags.tf b/terraform/google/backup/data.google_artifact_registry_tags.tf new file mode 100644 index 00000000..66f107e8 --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_tags.tf @@ -0,0 +1,9 @@ +data "google_artifact_registry_tags" "pike" { + location = "us-central1" + package_name = "pike" + repository_id = "pike" +} + +output "google_artifact_registry_tags" { + value = data.google_artifact_registry_tags.pike +} diff --git a/terraform/google/backup/data.google_artifact_registry_versions.tf b/terraform/google/backup/data.google_artifact_registry_versions.tf new file mode 100644 index 00000000..3dc2b3a1 --- /dev/null +++ b/terraform/google/backup/data.google_artifact_registry_versions.tf @@ -0,0 +1,10 @@ +data "google_artifact_registry_version" "pike" { + location = "us-central1" + repository_id = "pike" + package_name = "pike" + version_name = "pike" +} + +output "google_artifact_registry_version" { + value = data.google_artifact_registry_version.pike +} diff --git a/terraform/google/backup/data.google_backup_dr_backup_plan_associations.tf b/terraform/google/backup/data.google_backup_dr_backup_plan_associations.tf new file mode 100644 index 00000000..5a074e67 --- /dev/null +++ b/terraform/google/backup/data.google_backup_dr_backup_plan_associations.tf @@ -0,0 +1,8 @@ +data "google_backup_dr_backup_plan_associations" "pike" { + resource_type = "sqladmin.googleapis.com/Instance" + location = "us-central1" +} + +output "google_backup_dr_backup_plan_associations" { + value = data.google_backup_dr_backup_plan_associations.pike +} diff --git a/terraform/google/backup/data.google_backup_dr_data_source_reference.tf b/terraform/google/backup/data.google_backup_dr_data_source_reference.tf new file mode 100644 index 00000000..d10297bd --- /dev/null +++ b/terraform/google/backup/data.google_backup_dr_data_source_reference.tf @@ -0,0 +1,8 @@ +data "google_backup_dr_data_source_reference" "pike" { + data_source_reference_id = "pike" + location = "us-central1" +} + +output "google_backup_dr_data_source_reference" { + value = data.google_backup_dr_data_source_reference.pike +} diff --git a/terraform/google/backup/data.google_backup_dr_data_source_references.tf b/terraform/google/backup/data.google_backup_dr_data_source_references.tf new file mode 100644 index 00000000..a30403fd --- /dev/null +++ b/terraform/google/backup/data.google_backup_dr_data_source_references.tf @@ -0,0 +1,8 @@ +data "google_backup_dr_data_source_references" "pike" { + location = "us-central1" + resource_type = "sqladmin.googleapis.com/Instance" +} + +output "google_backup_dr_data_source_references" { + value = data.google_backup_dr_data_source_references.pike +} diff --git a/terraform/google/backup/data.google_bigquery_datapolicyv2_data_policy_iam_policy.tf b/terraform/google/backup/data.google_bigquery_datapolicyv2_data_policy_iam_policy.tf new file mode 100644 index 00000000..8b59f726 --- /dev/null +++ b/terraform/google/backup/data.google_bigquery_datapolicyv2_data_policy_iam_policy.tf @@ -0,0 +1,7 @@ +data "google_bigquery_datapolicyv2_data_policy_iam_policy" "pike" { + data_policy_id = "pike" +} + +output "google_bigquery_datapolicyv2_data_policy_iam_policy" { + value = data.google_bigquery_datapolicyv2_data_policy_iam_policy.pike +} diff --git a/terraform/google/backup/data.google_certificate_manager_dns_authorization.tf b/terraform/google/backup/data.google_certificate_manager_dns_authorization.tf new file mode 100644 index 00000000..7f14e64e --- /dev/null +++ b/terraform/google/backup/data.google_certificate_manager_dns_authorization.tf @@ -0,0 +1,7 @@ +data "google_certificate_manager_dns_authorization" "pike" { + provider = google-beta +} + +output "google_certificate_manager_dns_authorization" { + value = data.google_certificate_manager_dns_authorization.pike +} diff --git a/terraform/google/backup/data.google_compute_interconnect_location.tf b/terraform/google/backup/data.google_compute_interconnect_location.tf new file mode 100644 index 00000000..170fcb73 --- /dev/null +++ b/terraform/google/backup/data.google_compute_interconnect_location.tf @@ -0,0 +1,8 @@ +data "google_compute_interconnect_location" "pike" { + provider = google-beta + name = "pike" +} + +output "google_compute_interconnect_location" { + value = data.google_compute_interconnect_location.pike +} diff --git a/terraform/google/backup/data.google_compute_interconnect_locations.tf b/terraform/google/backup/data.google_compute_interconnect_locations.tf new file mode 100644 index 00000000..5062b1e8 --- /dev/null +++ b/terraform/google/backup/data.google_compute_interconnect_locations.tf @@ -0,0 +1,7 @@ +data "google_compute_interconnect_locations" "pike" { + provider = google-beta +} + +output "google_compute_interconnect_locations" { + value = data.google_compute_interconnect_locations.pike +} diff --git a/terraform/google/backup/data.google_iap_web_forwarding_rule_service_iam_policy.tf b/terraform/google/backup/data.google_iap_web_forwarding_rule_service_iam_policy.tf new file mode 100644 index 00000000..3d3d06c3 --- /dev/null +++ b/terraform/google/backup/data.google_iap_web_forwarding_rule_service_iam_policy.tf @@ -0,0 +1,7 @@ +data "google_iap_web_forwarding_rule_service_iam_policy" "pike" { + forwarding_rule_service_name = "pike" +} + +output "google_iap_web_forwarding_rule_service_iam_policy" { + value = data.google_iap_web_forwarding_rule_service_iam_policy.pike +} diff --git a/terraform/google/backup/data.google_iap_web_region_forwarding_rule_service_iam_policy.tf b/terraform/google/backup/data.google_iap_web_region_forwarding_rule_service_iam_policy.tf new file mode 100644 index 00000000..16045650 --- /dev/null +++ b/terraform/google/backup/data.google_iap_web_region_forwarding_rule_service_iam_policy.tf @@ -0,0 +1,8 @@ +data "google_iap_web_region_forwarding_rule_service_iam_policy" "pike" { + provider = google-beta + web_region_backend_service = "pike" +} + +output "google_iap_web_region_forwarding_rule_service_iam_policy" { + value = data.google_iap_web_region_forwarding_rule_service_iam_policy.pike +} diff --git a/terraform/google/backup/google_certificate_manager_dns_authorization.tf b/terraform/google/backup/google_certificate_manager_dns_authorization.tf new file mode 100644 index 00000000..65627c6d --- /dev/null +++ b/terraform/google/backup/google_certificate_manager_dns_authorization.tf @@ -0,0 +1,6 @@ +resource "google_certificate_manager_dns_authorization" "pike" { + name = "dns-auth" + location = "global" + description = "The default dns" + domain = "subdomain.hashicorptest.com" +} diff --git a/terraform/google/backup/google_dataproc_autoscaling_policy.tf b/terraform/google/backup/google_dataproc_autoscaling_policy.tf new file mode 100644 index 00000000..4bc1a465 --- /dev/null +++ b/terraform/google/backup/google_dataproc_autoscaling_policy.tf @@ -0,0 +1 @@ +resource "google_dataproc_autoscaling_policy" "pike" {} diff --git a/terraform/google/backup/google_dataproc_batch.tf b/terraform/google/backup/google_dataproc_batch.tf new file mode 100644 index 00000000..fe5390fa --- /dev/null +++ b/terraform/google/backup/google_dataproc_batch.tf @@ -0,0 +1 @@ +resource "google_dataproc_batch" "pike" {} diff --git a/terraform/google/backup/google_dataproc_cluster.tf b/terraform/google/backup/google_dataproc_cluster.tf new file mode 100644 index 00000000..d2c717d6 --- /dev/null +++ b/terraform/google/backup/google_dataproc_cluster.tf @@ -0,0 +1 @@ +resource "google_dataproc_cluster" "pike" {} diff --git a/terraform/google/backup/google_dataproc_job.tf b/terraform/google/backup/google_dataproc_job.tf new file mode 100644 index 00000000..fbc9b24a --- /dev/null +++ b/terraform/google/backup/google_dataproc_job.tf @@ -0,0 +1 @@ +resource "google_dataproc_job" "pike" {} diff --git a/terraform/google/backup/google_dataproc_session_template.tf b/terraform/google/backup/google_dataproc_session_template.tf new file mode 100644 index 00000000..f5e9c215 --- /dev/null +++ b/terraform/google/backup/google_dataproc_session_template.tf @@ -0,0 +1 @@ +resource "google_dataproc_session_template" "pike" {} diff --git a/terraform/google/backup/google_dataproc_workflow_template.tf b/terraform/google/backup/google_dataproc_workflow_template.tf new file mode 100644 index 00000000..3d18c3cd --- /dev/null +++ b/terraform/google/backup/google_dataproc_workflow_template.tf @@ -0,0 +1 @@ +resource "google_dataproc_workflow_template" "pike" {} diff --git a/terraform/google/backup/google_deployment_manager_deployment.tf b/terraform/google/backup/google_deployment_manager_deployment.tf new file mode 100644 index 00000000..8c446331 --- /dev/null +++ b/terraform/google/backup/google_deployment_manager_deployment.tf @@ -0,0 +1 @@ +resource "google_deployment_manager_deployment" "pike" {} diff --git a/terraform/google/backup/google_dialogflow_agent.tf b/terraform/google/backup/google_dialogflow_agent.tf new file mode 100644 index 00000000..d68bf192 --- /dev/null +++ b/terraform/google/backup/google_dialogflow_agent.tf @@ -0,0 +1 @@ +resource "google_dialogflow_agent" "pike" {} diff --git a/terraform/google/backup/google_dialogflow_conversation_profile.tf b/terraform/google/backup/google_dialogflow_conversation_profile.tf new file mode 100644 index 00000000..039f6169 --- /dev/null +++ b/terraform/google/backup/google_dialogflow_conversation_profile.tf @@ -0,0 +1 @@ +resource "google_dialogflow_conversation_profile" "pike" {} diff --git a/terraform/google/backup/google_dialogflow_cx_agent.tf b/terraform/google/backup/google_dialogflow_cx_agent.tf new file mode 100644 index 00000000..6a2f3278 --- /dev/null +++ b/terraform/google/backup/google_dialogflow_cx_agent.tf @@ -0,0 +1,14 @@ +resource "google_dialogflow_cx_agent" "pike" { + display_name = "dialogflowcx-agent" + location = "global" + default_language_code = "en" + supported_language_codes = ["fr", "de", "es"] + time_zone = "America/New_York" + description = "Example description." + avatar_uri = "https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png" + enable_stackdriver_logging = true + enable_spell_correction = true + speech_to_text_settings { + enable_speech_adaptation = true + } +} diff --git a/terraform/google/backup/google_dialogflow_cx_entity_type.tf b/terraform/google/backup/google_dialogflow_cx_entity_type.tf new file mode 100644 index 00000000..47734c89 --- /dev/null +++ b/terraform/google/backup/google_dialogflow_cx_entity_type.tf @@ -0,0 +1,14 @@ +resource "google_dialogflow_cx_entity_type" "pike" { + parent = google_dialogflow_cx_agent.pike.id + display_name = "MyEntity" + kind = "KIND_MAP" + entities { + value = "value1" + synonyms = ["synonym1", "synonym2"] + } + entities { + value = "value2" + synonyms = ["synonym3", "synonym4"] + } + enable_fuzzy_extraction = false +} diff --git a/terraform/google/backup/google_dialogflow_cx_environment.tf b/terraform/google/backup/google_dialogflow_cx_environment.tf new file mode 100644 index 00000000..f6c15951 --- /dev/null +++ b/terraform/google/backup/google_dialogflow_cx_environment.tf @@ -0,0 +1,8 @@ +resource "google_dialogflow_cx_environment" "pike" { + parent = google_dialogflow_cx_agent.pike.id + display_name = "Development" + description = "Development Environment" + version_configs { + version = google_dialogflow_cx_version.version_1.id + } +} diff --git a/terraform/google/backup/google_dialogflow_cx_flow.tf b/terraform/google/backup/google_dialogflow_cx_flow.tf new file mode 100644 index 00000000..f18166e6 --- /dev/null +++ b/terraform/google/backup/google_dialogflow_cx_flow.tf @@ -0,0 +1,4 @@ +resource "google_dialogflow_cx_flow" "pike" { + display_name = "pike" + parent = google_dialogflow_cx_agent.pike.id +} diff --git a/terraform/google/backup/google_dialogflow_cx_generative_settings.tf b/terraform/google/backup/google_dialogflow_cx_generative_settings.tf new file mode 100644 index 00000000..9de224b5 --- /dev/null +++ b/terraform/google/backup/google_dialogflow_cx_generative_settings.tf @@ -0,0 +1,36 @@ +resource "google_dialogflow_cx_generative_settings" "pike" { + parent = google_dialogflow_cx_agent.pike.id + + fallback_settings { + selected_prompt = "example prompt" + prompt_templates { + display_name = "example prompt" + prompt_text = "example prompt text" + frozen = false + } + } + + generative_safety_settings { + default_banned_phrase_match_strategy = "PARTIAL_MATCH" + banned_phrases { + text = "example text" + language_code = "en" + } + } + + knowledge_connector_settings { + business = "example business" + agent = "example agent" + agent_identity = "virtual agent" + business_description = "a family company selling freshly roasted coffee beans" + agent_scope = "Example company website" + disable_data_store_fallback = false + } + + language_code = "en" + + llm_model_settings { + model = "gemini-2.0-flash-001" + prompt_text = "example prompt text" + } +} diff --git a/terraform/google/backup/google_dialogflow_cx_generator.tf b/terraform/google/backup/google_dialogflow_cx_generator.tf new file mode 100644 index 00000000..1aff992c --- /dev/null +++ b/terraform/google/backup/google_dialogflow_cx_generator.tf @@ -0,0 +1,15 @@ +resource "google_dialogflow_cx_generator" "pike" { + parent = google_dialogflow_cx_agent.pike.id + language_code = "fr" + display_name = "TF Prompt generator" + llm_model_settings { + model = "gemini-2.0-flash-001" + prompt_text = "Return me some great results" + } + prompt_text { + text = "Send me great results in french" + } + model_parameter { + temperature = 0.55 + } +} diff --git a/terraform/google/backup/google_dialogflow_cx_intent.tf b/terraform/google/backup/google_dialogflow_cx_intent.tf new file mode 100644 index 00000000..58749100 --- /dev/null +++ b/terraform/google/backup/google_dialogflow_cx_intent.tf @@ -0,0 +1,31 @@ +resource "google_dialogflow_cx_intent" "pike" { + parent = google_dialogflow_cx_agent.pike.id + display_name = "Example" + priority = 1 + description = "Intent example" + training_phrases { + parts { + text = "training" + } + + parts { + text = "phrase" + } + + parts { + text = "example" + } + + repeat_count = 1 + } + + parameters { + id = "param1" + entity_type = "projects/-/locations/-/agents/-/entityTypes/sys.date" + } + + labels = { + label1 = "value1", + label2 = "value2" + } +} diff --git a/terraform/google/backup/google_dialogflow_cx_page.tf b/terraform/google/backup/google_dialogflow_cx_page.tf new file mode 100644 index 00000000..37d2214f --- /dev/null +++ b/terraform/google/backup/google_dialogflow_cx_page.tf @@ -0,0 +1,660 @@ + +resource "google_dialogflow_cx_page" "basic_page" { + parent = google_dialogflow_cx_agent.pike.start_flow + display_name = "MyPage" + + entry_fulfillment { + messages { + channel = "some-channel" + text { + text = ["Welcome to page"] + } + } + messages { + payload = <Some example SSML XML + EOF + } + } + messages { + live_agent_handoff { + metadata = <Some example SSML XML + EOF + } + } + messages { + live_agent_handoff { + metadata = <Some example SSML XML + EOF + } + } + messages { + live_agent_handoff { + metadata = <Some example SSML XML + EOF + } + } + messages { + live_agent_handoff { + metadata = <Some example SSML XML + EOF + } + } + messages { + live_agent_handoff { + metadata = <Some example SSML XML + EOF + } + } + messages { + live_agent_handoff { + metadata = <