Skip to content

Commit ced9174

Browse files
authored
Merge pull request #278 from rawmind0/kontainer
Updated aks_config, eks_config and gke_config arguments to proper update rancher2_cluster resource
2 parents 9d0f274 + e970045 commit ced9174

13 files changed

Lines changed: 59 additions & 15 deletions

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ENHANCEMENTS:
1313
* Updated `rancher/types` go modules and vendor files
1414
* Added `mtu` argument to `rke_config.network` argument on `rancher2_cluster` resource
1515
* Added `custom_target_config` argument to `rancher2_cluster_logging` and `rancher2_project_logging` resources
16+
* Updated `aks_config`, `eks_config` and `gke_config` arguments ti proper updte `rancher2_cluster` resource
1617

1718
BUG FIXES:
1819

rancher2/resource_rancher2_cluster.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ func resourceRancher2ClusterUpdate(d *schema.ResourceData, meta interface{}) err
197197
}
198198
}
199199

200-
switch driver := d.Get("driver").(string); driver {
200+
switch driver := ToLower(d.Get("driver").(string)); driver {
201201
case clusterDriverAKS:
202202
aksConfig, err := expandClusterAKSConfig(d.Get("aks_config").([]interface{}), d.Get("name").(string))
203203
if err != nil {
@@ -216,7 +216,7 @@ func resourceRancher2ClusterUpdate(d *schema.ResourceData, meta interface{}) err
216216
return err
217217
}
218218
update["googleKubernetesEngineConfig"] = gkeConfig
219-
case clusterDriverRKE:
219+
case ToLower(clusterDriverRKE):
220220
rkeConfig, err := expandClusterRKEConfig(d.Get("rke_config").([]interface{}), d.Get("name").(string))
221221
if err != nil {
222222
return err

rancher2/schema_cluster_aks_config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ type AzureKubernetesServiceConfig struct {
3535
ClientSecret string `json:"clientSecret,omitempty" yaml:"clientSecret,omitempty"`
3636
Count int64 `json:"count,omitempty" yaml:"count,omitempty"`
3737
DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"`
38+
DriverName string `json:"driverName,omitempty" yaml:"driverName,omitempty"`
3839
DNSServiceIP string `json:"dnsServiceIp,omitempty" yaml:"dnsServiceIp,omitempty"`
3940
DockerBridgeCIDR string `json:"dockerBridgeCidr,omitempty" yaml:"dockerBridgeCidr,omitempty"`
4041
EnableHTTPApplicationRouting bool `json:"enableHttpApplicationRouting,omitempty" yaml:"enableHttpApplicationRouting,omitempty"`

rancher2/schema_cluster_eks_config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ type AmazonElasticContainerServiceConfig struct {
1717
AssociateWorkerNodePublicIP *bool `json:"associateWorkerNodePublicIp,omitempty" yaml:"associateWorkerNodePublicIp,omitempty"`
1818
DesiredNodes int64 `json:"desiredNodes,omitempty" yaml:"desiredNodes,omitempty"`
1919
DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"`
20+
DriverName string `json:"driverName,omitempty" yaml:"driverName,omitempty"`
2021
InstanceType string `json:"instanceType,omitempty" yaml:"instanceType,omitempty"`
2122
KeyPairName string `json:"keyPairName,omitempty" yaml:"keyPairName,omitempty"`
2223
KubernetesVersion string `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"`

rancher2/schema_cluster_gke_config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ type GoogleKubernetesEngineConfig struct {
1818
DiskSizeGb int64 `json:"diskSizeGb,omitempty" yaml:"diskSizeGb,omitempty"`
1919
DiskType string `json:"diskType,omitempty" yaml:"diskType,omitempty"`
2020
DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"`
21+
DriverName string `json:"driverName,omitempty" yaml:"driverName,omitempty"`
2122
EnableAlphaFeature bool `json:"enableAlphaFeature,omitempty" yaml:"enableAlphaFeature,omitempty"`
2223
EnableAutoRepair bool `json:"enableAutoRepair,omitempty" yaml:"enableAutoRepair,omitempty"`
2324
EnableAutoUpgrade bool `json:"enableAutoUpgrade,omitempty" yaml:"enableAutoUpgrade,omitempty"`

rancher2/structure_cluster.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,13 @@ func flattenCluster(d *schema.ResourceData, in *Cluster, clusterRegToken *manage
135135
d.Set("system_project_id", systemProjectID)
136136
d.Set("driver", in.Driver)
137137

138-
switch in.Driver {
138+
switch driver := ToLower(in.Driver); driver {
139139
case clusterDriverAKS:
140-
aksConfig, err := flattenClusterAKSConfig(in.AzureKubernetesServiceConfig)
140+
v, ok := d.Get("aks_config").([]interface{})
141+
if !ok {
142+
v = []interface{}{}
143+
}
144+
aksConfig, err := flattenClusterAKSConfig(in.AzureKubernetesServiceConfig, v)
141145
if err != nil {
142146
return err
143147
}
@@ -146,7 +150,11 @@ func flattenCluster(d *schema.ResourceData, in *Cluster, clusterRegToken *manage
146150
return err
147151
}
148152
case clusterDriverEKS:
149-
eksConfig, err := flattenClusterEKSConfig(in.AmazonElasticContainerServiceConfig)
153+
v, ok := d.Get("eks_config").([]interface{})
154+
if !ok {
155+
v = []interface{}{}
156+
}
157+
eksConfig, err := flattenClusterEKSConfig(in.AmazonElasticContainerServiceConfig, v)
150158
if err != nil {
151159
return err
152160
}
@@ -155,7 +163,11 @@ func flattenCluster(d *schema.ResourceData, in *Cluster, clusterRegToken *manage
155163
return err
156164
}
157165
case clusterDriverGKE:
158-
gkeConfig, err := flattenClusterGKEConfig(in.GoogleKubernetesEngineConfig)
166+
v, ok := d.Get("gke_config").([]interface{})
167+
if !ok {
168+
v = []interface{}{}
169+
}
170+
gkeConfig, err := flattenClusterGKEConfig(in.GoogleKubernetesEngineConfig, v)
159171
if err != nil {
160172
return err
161173
}

rancher2/structure_cluster_aks_config.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,14 @@ package rancher2
22

33
// Flatteners
44

5-
func flattenClusterAKSConfig(in *AzureKubernetesServiceConfig) ([]interface{}, error) {
6-
obj := make(map[string]interface{})
5+
func flattenClusterAKSConfig(in *AzureKubernetesServiceConfig, p []interface{}) ([]interface{}, error) {
6+
var obj map[string]interface{}
7+
if len(p) == 0 || p[0] == nil {
8+
obj = make(map[string]interface{})
9+
} else {
10+
obj = p[0].(map[string]interface{})
11+
}
12+
713
if in == nil {
814
return []interface{}{}, nil
915
}
@@ -165,6 +171,7 @@ func expandClusterAKSConfig(p []interface{}, name string) (*AzureKubernetesServi
165171

166172
obj.Name = name
167173
obj.DisplayName = name
174+
obj.DriverName = clusterDriverAKS
168175

169176
if v, ok := in["add_client_app_id"].(string); ok && len(v) > 0 {
170177
obj.AADClientAppID = v

rancher2/structure_cluster_aks_config_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ func init() {
2727
ClientSecret: "client_secret",
2828
Count: 3,
2929
DisplayName: "test",
30+
DriverName: clusterDriverAKS,
3031
DNSServiceIP: "dns_ip",
3132
DockerBridgeCIDR: "192.168.1.0/16",
3233
EnableHTTPApplicationRouting: true,
@@ -114,7 +115,7 @@ func TestFlattenClusterAKSConfig(t *testing.T) {
114115
}
115116

116117
for _, tc := range cases {
117-
output, err := flattenClusterAKSConfig(tc.Input)
118+
output, err := flattenClusterAKSConfig(tc.Input, testClusterAKSConfigInterface)
118119
if err != nil {
119120
t.Fatalf("[ERROR] on flattener: %#v", err)
120121
}

rancher2/structure_cluster_eks_config.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,14 @@ package rancher2
22

33
// Flatteners
44

5-
func flattenClusterEKSConfig(in *AmazonElasticContainerServiceConfig) ([]interface{}, error) {
6-
obj := make(map[string]interface{})
5+
func flattenClusterEKSConfig(in *AmazonElasticContainerServiceConfig, p []interface{}) ([]interface{}, error) {
6+
var obj map[string]interface{}
7+
if len(p) == 0 || p[0] == nil {
8+
obj = make(map[string]interface{})
9+
} else {
10+
obj = p[0].(map[string]interface{})
11+
}
12+
713
if in == nil {
814
return []interface{}{}, nil
915
}
@@ -91,6 +97,7 @@ func expandClusterEKSConfig(p []interface{}, name string) (*AmazonElasticContain
9197
in := p[0].(map[string]interface{})
9298

9399
obj.DisplayName = name
100+
obj.DriverName = clusterDriverEKS
94101

95102
if v, ok := in["access_key"].(string); ok && len(v) > 0 {
96103
obj.AccessKey = v

rancher2/structure_cluster_eks_config_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ func init() {
1818
AssociateWorkerNodePublicIP: newTrue(),
1919
DesiredNodes: 4,
2020
DisplayName: "test",
21+
DriverName: clusterDriverEKS,
2122
InstanceType: "instance",
2223
KeyPairName: "key_pair_name",
2324
KubernetesVersion: "1.11",
@@ -69,7 +70,7 @@ func TestFlattenClusterEKSConfig(t *testing.T) {
6970
}
7071

7172
for _, tc := range cases {
72-
output, err := flattenClusterEKSConfig(tc.Input)
73+
output, err := flattenClusterEKSConfig(tc.Input, testClusterEKSConfigInterface)
7374
if err != nil {
7475
t.Fatalf("[ERROR] on flattener: %#v", err)
7576
}

0 commit comments

Comments
 (0)