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  }