diff --git a/google-beta/resource_container_cluster.go b/google-beta/resource_container_cluster.go index 50cfe6ee76e..c43d574f7b9 100644 --- a/google-beta/resource_container_cluster.go +++ b/google-beta/resource_container_cluster.go @@ -2048,15 +2048,14 @@ func resourceContainerClusterStateImporter(d *schema.ResourceData, meta interfac return nil, fmt.Errorf("Invalid container cluster specifier. Expecting {zone}/{name} or {project}/{zone}/{name}") } - if len(project) > 0 { - d.Set("project", project) - } else { + if len(project) == 0 { var err error project, err = getProject(d, config) if err != nil { return nil, err } } + d.Set("project", project) if isZone(location) { d.Set("zone", location) @@ -2067,17 +2066,6 @@ func resourceContainerClusterStateImporter(d *schema.ResourceData, meta interfac d.Set("name", clusterName) d.SetId(clusterName) - // Try to determine remove_default_node_pool from presence of default - // node pool; if still present and user has it set to true, the pool - // will get removed on next apply. - nodePool := fmt.Sprintf("%s/nodePools/%s", containerClusterFullName(project, location, clusterName), "default-pool") - _, err := config.clientContainerBeta.Projects.Locations.Clusters.NodePools.Get(nodePool).Do() - if err != nil && isGoogleApiErrorWithCode(err, 404) { - d.Set("remove_default_node_pool", true) - } else if err != nil { - log.Printf("[WARN] Unable to import value for remove_default_node_pool, got error while trying to get default node pool: %s", err) - } - return []*schema.ResourceData{d}, nil } diff --git a/google-beta/resource_container_cluster_test.go b/google-beta/resource_container_cluster_test.go index ff3fca936bf..c56de861db0 100644 --- a/google-beta/resource_container_cluster_test.go +++ b/google-beta/resource_container_cluster_test.go @@ -268,10 +268,11 @@ func TestAccContainerCluster_withNetworkPolicyEnabled(t *testing.T) { ), }, { - ResourceName: "google_container_cluster.with_network_policy_enabled", - ImportStateIdPrefix: "us-central1-a/", - ImportState: true, - ImportStateVerify: true, + ResourceName: "google_container_cluster.with_network_policy_enabled", + ImportStateIdPrefix: "us-central1-a/", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"remove_default_node_pool"}, }, { Config: testAccContainerCluster_removeNetworkPolicy(clusterName), @@ -281,10 +282,11 @@ func TestAccContainerCluster_withNetworkPolicyEnabled(t *testing.T) { ), }, { - ResourceName: "google_container_cluster.with_network_policy_enabled", - ImportStateIdPrefix: "us-central1-a/", - ImportState: true, - ImportStateVerify: true, + ResourceName: "google_container_cluster.with_network_policy_enabled", + ImportStateIdPrefix: "us-central1-a/", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"remove_default_node_pool"}, }, { Config: testAccContainerCluster_withNetworkPolicyDisabled(clusterName), @@ -294,10 +296,11 @@ func TestAccContainerCluster_withNetworkPolicyEnabled(t *testing.T) { ), }, { - ResourceName: "google_container_cluster.with_network_policy_enabled", - ImportStateIdPrefix: "us-central1-a/", - ImportState: true, - ImportStateVerify: true, + ResourceName: "google_container_cluster.with_network_policy_enabled", + ImportStateIdPrefix: "us-central1-a/", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"remove_default_node_pool"}, }, { Config: testAccContainerCluster_withNetworkPolicyConfigDisabled(clusterName), @@ -307,10 +310,11 @@ func TestAccContainerCluster_withNetworkPolicyEnabled(t *testing.T) { ), }, { - ResourceName: "google_container_cluster.with_network_policy_enabled", - ImportStateIdPrefix: "us-central1-a/", - ImportState: true, - ImportStateVerify: true, + ResourceName: "google_container_cluster.with_network_policy_enabled", + ImportStateIdPrefix: "us-central1-a/", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"remove_default_node_pool"}, }, { Config: testAccContainerCluster_withNetworkPolicyConfigDisabled(clusterName), @@ -1194,10 +1198,11 @@ func TestAccContainerCluster_withDefaultNodePoolRemoved(t *testing.T) { "google_container_cluster.with_default_node_pool_removed", "node_pool.#", "0"), }, { - ResourceName: "google_container_cluster.with_default_node_pool_removed", - ImportStateIdPrefix: "us-central1-a/", - ImportState: true, - ImportStateVerify: true, + ResourceName: "google_container_cluster.with_default_node_pool_removed", + ImportStateIdPrefix: "us-central1-a/", + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"remove_default_node_pool"}, }, }, }) diff --git a/website/docs/r/container_cluster.html.markdown b/website/docs/r/container_cluster.html.markdown index 1d7ddc9f833..85a5123e804 100644 --- a/website/docs/r/container_cluster.html.markdown +++ b/website/docs/r/container_cluster.html.markdown @@ -589,9 +589,9 @@ $ terraform import google_container_cluster.mycluster my-gcp-project/us-east1-a/ $ terraform import google_container_cluster.mycluster us-east1-a/my-cluster ``` -~> **Note:** This resource has several fields that control Terraform-specific behavior and aren't present in the API. If they are set in config and you import a cluster, Terraform may need to perform an update immediately after import. Some of these updates are no-ops, and some may modify your cluster. +~> **Note:** This resource has several fields that control Terraform-specific behavior and aren't present in the API. If they are set in config and you import a cluster, Terraform may need to perform an update immediately after import. Most of these updates should be no-ops but some may modify your cluster if the imported state differs. -For example: +For example, the following fields will show diffs if set in config: -- `min_master_version` will not be set on import and will show a no-op diff if set in config. -- `remove_default_node_pool`: If the default node pool does not exist at import, this value will be set to true in state, but it will not be set otherwise. Thus, you may see a no-op diff if set to false in config, or a diff if set to true in config when the default node pool still exists. +- `min_master_version` +- `remove_default_node_pool`