Skip to content

Commit

Permalink
Add network policy
Browse files Browse the repository at this point in the history
  • Loading branch information
Sébastien GLON committed Oct 25, 2017
1 parent 32fac9c commit 8f07134
Show file tree
Hide file tree
Showing 6 changed files with 1,828 additions and 1,332 deletions.
24 changes: 24 additions & 0 deletions google/resource_container_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,22 @@ func resourceContainerCluster() *schema.Resource {
},
},
},
"network_policy": {
Type: schema.TypeList,
Optional: true,
ForceNew: true,
MaxItems: 1,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"disabled": {
Type: schema.TypeBool,
Default: true,
Optional: true,
ForceNew: true,
},
},
},
},
},
},
},
Expand Down Expand Up @@ -795,6 +811,14 @@ func expandClusterAddonsConfig(configured interface{}) *container.AddonsConfig {
ForceSendFields: []string{"Disabled"},
}
}

if v, ok := config["network_policy"]; ok && len(v.([]interface{})) > 0 {
addon := v.([]interface{})[0].(map[string]interface{})
ac.NetworkPolicyConfig = &container.NetworkPolicyConfig{
Disabled: addon["disabled"].(bool),
ForceSendFields: []string{"Disabled"},
}
}
return ac
}

Expand Down
7 changes: 7 additions & 0 deletions google/resource_container_cluster_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -643,9 +643,14 @@ func testAccCheckContainerCluster(n string) resource.TestCheckFunc {
if cluster.AddonsConfig != nil && cluster.AddonsConfig.KubernetesDashboard != nil {
kubernetesDashboardDisabled = cluster.AddonsConfig.KubernetesDashboard.Disabled
}
networkPolicyDisabled := false
if cluster.AddonsConfig != nil && cluster.AddonsConfig.NetworkPolicyConfig != nil {
networkPolicyDisabled = cluster.AddonsConfig.NetworkPolicyConfig.Disabled
}
clusterTests = append(clusterTests, clusterTestField{"addons_config.0.http_load_balancing.0.disabled", httpLoadBalancingDisabled})
clusterTests = append(clusterTests, clusterTestField{"addons_config.0.horizontal_pod_autoscaling.0.disabled", horizontalPodAutoscalingDisabled})
clusterTests = append(clusterTests, clusterTestField{"addons_config.0.kubernetes_dashboard.0.disabled", kubernetesDashboardDisabled})
clusterTests = append(clusterTests, clusterTestField{"addons_config.0.network_policy.0.disabled", networkPolicyDisabled})

for i, np := range cluster.NodePools {
prefix := fmt.Sprintf("node_pool.%d.", i)
Expand Down Expand Up @@ -852,6 +857,7 @@ resource "google_container_cluster" "primary" {
addons_config {
http_load_balancing { disabled = true }
kubernetes_dashboard { disabled = true }
network_policy { disabled = true }
}
}`, clusterName)
}
Expand All @@ -867,6 +873,7 @@ resource "google_container_cluster" "primary" {
http_load_balancing { disabled = false }
kubernetes_dashboard { disabled = true }
horizontal_pod_autoscaling { disabled = true }
network_policy { disabled = false }
}
}`, clusterName)
}
Expand Down
Loading

0 comments on commit 8f07134

Please sign in to comment.