providers/gcp/gcp_compute_code_generator/resources.go (161 lines of code) (raw):

// Copyright 2018 The Terraformer Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package main // metadata for generate code for GCP compute service var terraformResources = map[string]gcpResourceRenderable{ "addresses": basicGCPResource{ terraformName: "google_compute_address", }, "autoscalers": basicGCPResource{ terraformName: "google_compute_autoscaler", }, "backendBuckets": basicGCPResource{ terraformName: "google_compute_backend_bucket", }, "backendServices": backendServices{ basicGCPResource{ terraformName: "google_compute_backend_service", }, }, "disks": basicGCPResource{ terraformName: "google_compute_disk", }, "externalVpnGateways": basicGCPResource{ terraformName: "google_compute_external_vpn_gateway", }, "firewall": basicGCPResource{ terraformName: "google_compute_firewall", }, "forwardingRules": basicGCPResource{ terraformName: "google_compute_forwarding_rule", }, "globalAddresses": basicGCPResource{ terraformName: "google_compute_global_address", }, "globalForwardingRules": globalForwardingRules{ basicGCPResource{ terraformName: "google_compute_global_forwarding_rule", }, }, // "globalNetworkEndpointGroups": basicGCPResource{ // terraformName: "google_compute_global_network_endpoint", // }, "healthChecks": basicGCPResource{ terraformName: "google_compute_health_check", }, "httpHealthChecks": basicGCPResource{ terraformName: "google_compute_http_health_check", }, "httpsHealthChecks": basicGCPResource{ terraformName: "google_compute_https_health_check", }, "images": basicGCPResource{ terraformName: "google_compute_image", }, "instanceGroupManagers": instanceGroupManagers{ basicGCPResource{ terraformName: "google_compute_instance_group_manager", allowEmptyValues: []string{"^version.[0-9].name", "^auto_healing_policies.[0-9].health_check"}, }, }, "instanceGroups": basicGCPResource{ terraformName: "google_compute_instance_group", }, "instanceTemplates": basicGCPResource{ terraformName: "google_compute_instance_template", }, /*"instances": instances{ basicGCPResource{ terraformName: "google_compute_instance", allowEmptyValues: []string{"labels."}, additionalFieldsForRefresh: map[string]string{ "disk.#": "0", }, }, },*/ "networks": basicGCPResource{ terraformName: "google_compute_network", }, "packetMirrorings": basicGCPResource{ terraformName: "google_compute_packet_mirroring", }, "regionAutoscalers": basicGCPResource{ terraformName: "google_compute_region_autoscaler", }, "regionBackendServices": basicGCPResource{ terraformName: "google_compute_region_backend_service", }, "regionDisks": basicGCPResource{ terraformName: "google_compute_region_disk", }, "regionHealthChecks": basicGCPResource{ terraformName: "google_compute_region_health_check", }, "regionInstanceGroupManagers": basicGCPResource{ terraformName: "google_compute_region_instance_group_manager", allowEmptyValues: []string{"name", "health_check"}, }, "regionInstanceGroups": basicGCPResource{ terraformName: "google_compute_region_instance_group", }, "regionSslCertificates": basicGCPResource{ terraformName: "google_compute_region_ssl_certificate", }, "regionTargetHttpProxies": basicGCPResource{ terraformName: "google_compute_region_target_http_proxy", }, "regionTargetHttpsProxies": basicGCPResource{ terraformName: "google_compute_region_target_https_proxy", }, "regionUrlMaps": basicGCPResource{ terraformName: "google_compute_region_url_map", }, "reservations": basicGCPResource{ terraformName: "google_compute_reservation", }, "resourcePolicies": basicGCPResource{ terraformName: "google_compute_resource_policy", }, "routers": basicGCPResource{ terraformName: "google_compute_router", }, "routes": basicGCPResource{ terraformName: "google_compute_route", }, "securityPolicies": basicGCPResource{ terraformName: "google_compute_security_policy", }, /*"snapshots": { terraformName: "google_compute_snapshot", ignoreKeys: []string{ "snapshot_encryption_key_sha256", "source_disk_encryption_key_sha256", "source_disk_link", }, },*/ "sslCertificates": basicGCPResource{ terraformName: "google_compute_managed_ssl_certificate", }, "sslPolicies": basicGCPResource{ terraformName: "google_compute_ssl_policy", }, "subnetworks": basicGCPResource{ terraformName: "google_compute_subnetwork", }, "targetHttpProxies": basicGCPResource{ terraformName: "google_compute_target_http_proxy", }, "targetHttpsProxies": basicGCPResource{ terraformName: "google_compute_target_https_proxy", }, "targetSslProxies": basicGCPResource{ terraformName: "google_compute_target_ssl_proxy", }, "targetTcpProxies": basicGCPResource{ terraformName: "google_compute_target_tcp_proxy", }, "urlMaps": basicGCPResource{ terraformName: "google_compute_url_map", }, "vpnTunnels": basicGCPResource{ terraformName: "google_compute_vpn_tunnel", }, "nodeGroups": basicGCPResource{ terraformName: "google_compute_node_group", }, "nodeTemplates": basicGCPResource{ terraformName: "google_compute_node_template", }, "targetPools": basicGCPResource{ terraformName: "google_compute_target_pool", }, "interconnectAttachments": basicGCPResource{ terraformName: "google_compute_interconnect_attachment", }, "targetInstances": basicGCPResource{ terraformName: "google_compute_target_instance", }, "targetVpnGateways": basicGCPResource{ terraformName: "google_compute_vpn_gateway", }, "networkEndpointGroups": basicGCPResource{ terraformName: "google_compute_network_endpoint_group", }, }