mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-10-06 10:41:07 +00:00
94a405d179
* Move AliasIpRange helpers into utils To reflect the fact they'll be used by multiple resources. * Pass Config to build helpers, not meta It's the only thing meta is used for. * Refactor getNetwork util methods to return early for the happy path. * Update compute APIs compute.Instance.MinCpuPlatform is now GA. * Fix panic in TestComputeInstanceMigrateState This seemed to be a pre-existing issue, i.e. I could repro it in master. --- FAIL: TestComputeInstanceMigrateState (0.00s) panic: interface conversion: interface {} is nil, not *google.Config [recovered] panic: interface conversion: interface {} is nil, not *google.Config goroutine 85 [running]: testing.tRunner.func1(0xc4205d60f0) /usr/local/Cellar/go/1.9.1/libexec/src/testing/testing.go:711 +0x2d2 panic(0x203acc0, 0xc4205d2080) /usr/local/Cellar/go/1.9.1/libexec/src/runtime/panic.go:491 +0x283 github.com/terraform-providers/terraform-provider-google/google.migrateStateV3toV4(0xc4205f2000, 0x0, 0x0, 0x0, 0x48, 0xc4205f2000) /Users/negz/control/go/src/github.com/terraform-providers/terraform-provider-google/google/resource_compute_instance_migrate.go:182 +0x2405 github.com/terraform-providers/terraform-provider-google/google.resourceComputeInstanceMigrateState(0x2, 0xc4205f2000, 0x0, 0x0, 0x0, 0x0, 0xe0000000000) /Users/negz/control/go/src/github.com/terraform-providers/terraform-provider-google/google/resource_compute_instance_migrate.go:48 +0x21a github.com/terraform-providers/terraform-provider-google/google.runInstanceMigrateTest(0xc4205d60f0, 0x2260816, 0x8, 0x227d23a, 0x20, 0x2, 0xc4205ec0f0, 0xc4205ec120, 0x0, 0x0) /Users/negz/control/go/src/github.com/terraform-providers/terraform-provider-google/google/resource_compute_instance_migrate_test.go:803 +0xc1 github.com/terraform-providers/terraform-provider-google/google.TestComputeInstanceMigrateState(0xc4205d60f0) /Users/negz/control/go/src/github.com/terraform-providers/terraform-provider-google/google/resource_compute_instance_migrate_test.go:71 +0xc84 testing.tRunner(0xc4205d60f0, 0x22d81c0) /usr/local/Cellar/go/1.9.1/libexec/src/testing/testing.go:746 +0xd0 created by testing.(*T).Run /usr/local/Cellar/go/1.9.1/libexec/src/testing/testing.go:789 +0x2de FAIL github.com/terraform-providers/terraform-provider-google/google 0.035s * Use only the v1 API for resource_compute_instance Alias IP ranges, Accelerators, and min CPU platform are now GA. * Move common instance code into utils.go Methods used by both resource_compute_instance and resource_compute_instance_template are currently spread between their respective files, and utils.go. This commit moves them all into utils.go for the sake of consistency. It may be worth considering an instance_common.go file or similar. * Unify compute_instance and compute_instance_template network_interface and service_account code This has the side effect of enabling Alias IP range support for compute_instance_templates. * Add tests for compute instance template Alias IP ranges * Mark instance template region as computed We compute it from the subnet its network interfaces are in. Note this is not new behaviour - I believe it was erroneously missing the computed flag. * Support guest accelerators for instance templates Since most of the code is already there. * Add a test for using 'address' rather than 'network_ip' for instance templates * Don't mark assigned_nat_ip as deprecated * Remove network_interface schema fields that don't make sense for a compute instance template * Add newline after count in instance template docs * Don't try to dedupe guest accelerator expansion code The API calls to Google to create guest accelerators take different values for instances and instance templates. Instance templates don't have a zone and can thus *only* be passed a guest accelerator name. * Use ParseNetworkFieldValue instead of getNetworkLink * Add support for parsing regional fields, and subnetworks specifically Currently unused because subnetworks may have a separate project from that of the instance using them, which complicates looking up the project field. * Fall back to provider region when parsing regional field values Also slightly refactors getXFromSchema field helper functions for readability. * Revert to assigned_nat_ip in compute instance docs * Add beta scaffolding to compute instance and compute instance template Note these resources don't currently use beta features - this is futureproofing. * Fix indentation in comment about instance template alias IP ranges * Consolidate metadata helper functions in metadata.go * Move compute instance (and template) related helpers into their own file |
||
---|---|---|
.. | ||
bigquery_dataset.html.markdown | ||
bigquery_table.html.markdown | ||
bigtable_instance.html.markdown | ||
bigtable_table.html.markdown | ||
compute_address.html.markdown | ||
compute_autoscaler.html.markdown | ||
compute_backend_bucket.html.markdown | ||
compute_backend_service.html.markdown | ||
compute_disk.html.markdown | ||
compute_firewall.html.markdown | ||
compute_forwarding_rule.html.markdown | ||
compute_global_address.html.markdown | ||
compute_global_forwarding_rule.html.markdown | ||
compute_health_check.html.markdown | ||
compute_http_health_check.html.markdown | ||
compute_https_health_check.html.markdown | ||
compute_image.html.markdown | ||
compute_instance_group_manager.html.markdown | ||
compute_instance_group.html.markdown | ||
compute_instance_template.html.markdown | ||
compute_instance.html.markdown | ||
compute_network_peering.html.markdown | ||
compute_network.html.markdown | ||
compute_project_metadata_item.html.markdown | ||
compute_project_metadata.html.markdown | ||
compute_region_autoscaler.html.markdown | ||
compute_region_backend_service.html.markdown | ||
compute_region_instance_group_manager.html.markdown | ||
compute_route.html.markdown | ||
compute_router_interface.html.markdown | ||
compute_router_peer.html.markdown | ||
compute_router.html.markdown | ||
compute_shared_vpc_host_project.html.markdown | ||
compute_shared_vpc_service_project.html.markdown | ||
compute_snapshot.html.markdown | ||
compute_ssl_certificate.html.markdown | ||
compute_subnetwork.html.markdown | ||
compute_target_http_proxy.html.markdown | ||
compute_target_https_proxy.html.markdown | ||
compute_target_pool.html.markdown | ||
compute_target_ssl_proxy.html.markdown | ||
compute_target_tcp_proxy.html.markdown | ||
compute_url_map.html.markdown | ||
compute_vpn_gateway.html.markdown | ||
compute_vpn_tunnel.html.markdown | ||
container_cluster.html.markdown | ||
container_node_pool.html.markdown | ||
dataproc_cluster.html.markdown | ||
dataproc_job.html.markdown | ||
dns_managed_zone.markdown | ||
dns_record_set.markdown | ||
google_folder_iam_policy.html.markdown | ||
google_folder_organization_policy.html.markdown | ||
google_folder.html.markdown | ||
google_kms_crypto_key_iam_binding.html.markdown | ||
google_kms_crypto_key_iam_member.html.markdown | ||
google_kms_crypto_key.html.markdown | ||
google_kms_key_ring_iam_binding.html.markdown | ||
google_kms_key_ring_iam_member.html.markdown | ||
google_kms_key_ring.html.markdown | ||
google_organization_iam_binding.md | ||
google_organization_iam_custom_role.html.markdown | ||
google_organization_iam_member.md | ||
google_organization_policy.html.markdown | ||
google_project_iam_binding.html.markdown | ||
google_project_iam_custom_role.html.markdown | ||
google_project_iam_member.html.markdown | ||
google_project_iam_policy.html.markdown | ||
google_project_service.html.markdown | ||
google_project_services.html.markdown | ||
google_project.html.markdown | ||
google_service_account_key.html.markdown | ||
google_service_account.html.markdown | ||
logging_billing_account_sink.html.markdown | ||
logging_folder_sink.html.markdown | ||
logging_project_sink.html.markdown | ||
pubsub_subscription.html.markdown | ||
pubsub_topic.html.markdown | ||
runtimeconfig_config.html.markdown | ||
runtimeconfig_variable.html.markdown | ||
sourcerepo_repository.html.markdown | ||
spanner_database.html.markdown | ||
spanner_instance.html.markdown | ||
sql_database_instance.html.markdown | ||
sql_database.html.markdown | ||
sql_user.html.markdown | ||
storage_bucket_acl.html.markdown | ||
storage_bucket_object.html.markdown | ||
storage_bucket.html.markdown | ||
storage_object_acl.html.markdown |