github.com/GoogleCloudPlatform/terraformer@v0.8.18/providers/gcp/gcp_compute_code_generator/resources.go (about) 1 // Copyright 2018 The Terraformer Authors. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package main 16 17 // metadata for generate code for GCP compute service 18 var terraformResources = map[string]gcpResourceRenderable{ 19 "addresses": basicGCPResource{ 20 terraformName: "google_compute_address", 21 }, 22 "autoscalers": basicGCPResource{ 23 terraformName: "google_compute_autoscaler", 24 }, 25 "backendBuckets": basicGCPResource{ 26 terraformName: "google_compute_backend_bucket", 27 }, 28 "backendServices": backendServices{ 29 basicGCPResource{ 30 terraformName: "google_compute_backend_service", 31 }, 32 }, 33 "disks": basicGCPResource{ 34 terraformName: "google_compute_disk", 35 }, 36 "externalVpnGateways": basicGCPResource{ 37 terraformName: "google_compute_external_vpn_gateway", 38 }, 39 "firewall": basicGCPResource{ 40 terraformName: "google_compute_firewall", 41 }, 42 "forwardingRules": basicGCPResource{ 43 terraformName: "google_compute_forwarding_rule", 44 }, 45 "globalAddresses": basicGCPResource{ 46 terraformName: "google_compute_global_address", 47 }, 48 "globalForwardingRules": globalForwardingRules{ 49 basicGCPResource{ 50 terraformName: "google_compute_global_forwarding_rule", 51 }, 52 }, 53 // "globalNetworkEndpointGroups": basicGCPResource{ 54 // terraformName: "google_compute_global_network_endpoint", 55 // }, 56 "healthChecks": basicGCPResource{ 57 terraformName: "google_compute_health_check", 58 }, 59 "httpHealthChecks": basicGCPResource{ 60 terraformName: "google_compute_http_health_check", 61 }, 62 "httpsHealthChecks": basicGCPResource{ 63 terraformName: "google_compute_https_health_check", 64 }, 65 "images": basicGCPResource{ 66 terraformName: "google_compute_image", 67 }, 68 "instanceGroupManagers": instanceGroupManagers{ 69 basicGCPResource{ 70 terraformName: "google_compute_instance_group_manager", 71 allowEmptyValues: []string{"^version.[0-9].name", "^auto_healing_policies.[0-9].health_check"}, 72 }, 73 }, 74 "instanceGroups": basicGCPResource{ 75 terraformName: "google_compute_instance_group", 76 }, 77 "instanceTemplates": basicGCPResource{ 78 terraformName: "google_compute_instance_template", 79 }, 80 /*"instances": instances{ 81 basicGCPResource{ 82 terraformName: "google_compute_instance", 83 allowEmptyValues: []string{"labels."}, 84 additionalFieldsForRefresh: map[string]string{ 85 "disk.#": "0", 86 }, 87 }, 88 },*/ 89 "networks": basicGCPResource{ 90 terraformName: "google_compute_network", 91 }, 92 "packetMirrorings": basicGCPResource{ 93 terraformName: "google_compute_packet_mirroring", 94 }, 95 "regionAutoscalers": basicGCPResource{ 96 terraformName: "google_compute_region_autoscaler", 97 }, 98 "regionBackendServices": basicGCPResource{ 99 terraformName: "google_compute_region_backend_service", 100 }, 101 "regionDisks": basicGCPResource{ 102 terraformName: "google_compute_region_disk", 103 }, 104 "regionHealthChecks": basicGCPResource{ 105 terraformName: "google_compute_region_health_check", 106 }, 107 "regionInstanceGroupManagers": basicGCPResource{ 108 terraformName: "google_compute_region_instance_group_manager", 109 allowEmptyValues: []string{"name", "health_check"}, 110 }, 111 "regionInstanceGroups": basicGCPResource{ 112 terraformName: "google_compute_region_instance_group", 113 }, 114 "regionSslCertificates": basicGCPResource{ 115 terraformName: "google_compute_region_ssl_certificate", 116 }, 117 "regionTargetHttpProxies": basicGCPResource{ 118 terraformName: "google_compute_region_target_http_proxy", 119 }, 120 "regionTargetHttpsProxies": basicGCPResource{ 121 terraformName: "google_compute_region_target_https_proxy", 122 }, 123 "regionUrlMaps": basicGCPResource{ 124 terraformName: "google_compute_region_url_map", 125 }, 126 "reservations": basicGCPResource{ 127 terraformName: "google_compute_reservation", 128 }, 129 "resourcePolicies": basicGCPResource{ 130 terraformName: "google_compute_resource_policy", 131 }, 132 "routers": basicGCPResource{ 133 terraformName: "google_compute_router", 134 }, 135 "routes": basicGCPResource{ 136 terraformName: "google_compute_route", 137 }, 138 "securityPolicies": basicGCPResource{ 139 terraformName: "google_compute_security_policy", 140 }, 141 /*"snapshots": { 142 terraformName: "google_compute_snapshot", 143 ignoreKeys: []string{ 144 "snapshot_encryption_key_sha256", 145 "source_disk_encryption_key_sha256", 146 "source_disk_link", 147 }, 148 },*/ 149 "sslCertificates": basicGCPResource{ 150 terraformName: "google_compute_managed_ssl_certificate", 151 }, 152 "sslPolicies": basicGCPResource{ 153 terraformName: "google_compute_ssl_policy", 154 }, 155 "subnetworks": basicGCPResource{ 156 terraformName: "google_compute_subnetwork", 157 }, 158 "targetHttpProxies": basicGCPResource{ 159 terraformName: "google_compute_target_http_proxy", 160 }, 161 "targetHttpsProxies": basicGCPResource{ 162 terraformName: "google_compute_target_https_proxy", 163 }, 164 "targetSslProxies": basicGCPResource{ 165 terraformName: "google_compute_target_ssl_proxy", 166 }, 167 "targetTcpProxies": basicGCPResource{ 168 terraformName: "google_compute_target_tcp_proxy", 169 }, 170 "urlMaps": basicGCPResource{ 171 terraformName: "google_compute_url_map", 172 }, 173 "vpnTunnels": basicGCPResource{ 174 terraformName: "google_compute_vpn_tunnel", 175 }, 176 "nodeGroups": basicGCPResource{ 177 terraformName: "google_compute_node_group", 178 }, 179 "nodeTemplates": basicGCPResource{ 180 terraformName: "google_compute_node_template", 181 }, 182 "targetPools": basicGCPResource{ 183 terraformName: "google_compute_target_pool", 184 }, 185 "interconnectAttachments": basicGCPResource{ 186 terraformName: "google_compute_interconnect_attachment", 187 }, 188 "targetInstances": basicGCPResource{ 189 terraformName: "google_compute_target_instance", 190 }, 191 "targetVpnGateways": basicGCPResource{ 192 terraformName: "google_compute_vpn_gateway", 193 }, 194 "networkEndpointGroups": basicGCPResource{ 195 terraformName: "google_compute_network_endpoint_group", 196 }, 197 }