/
resource_read.go
91 lines (73 loc) · 2.36 KB
/
resource_read.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package cluster
import (
"fmt"
"github.com/mumoshu/terraform-provider-eksctl/pkg/sdk/api"
"github.com/mumoshu/terraform-provider-eksctl/pkg/sdk/tfsdk"
)
func ReadCluster(d api.Getter) (*Cluster, error) {
a := Cluster{}
a.EksctlBin = d.Get(KeyBin).(string)
a.EksctlVersion = d.Get(KeyEksctlVersion).(string)
a.KubectlBin = d.Get(KeyKubectlBin).(string)
a.Name = d.Get(KeyName).(string)
a.Region = d.Get(KeyRegion).(string)
a.Profile = d.Get(KeyProfile).(string)
a.Spec = d.Get(KeySpec).(string)
a.APIVersion = d.Get(KeyAPIVersion).(string)
// For migration from older version of the provider that didn't had api_version attribute
if a.APIVersion == "" {
a.APIVersion = DefaultAPIVersion
}
a.Version = d.Get(KeyVersion).(string)
// For migration from older version of the provider that didn't had api_version attribute
if a.Version == "" {
a.Version = DefaultVersion
}
a.VPCID = d.Get(KeyVPCID).(string)
if v := d.Get(KeyPodsReadinessCheck); v != nil {
rawCheckPodsReadiness := v.([]interface{})
for _, r := range rawCheckPodsReadiness {
m := r.(map[string]interface{})
labels := map[string]string{}
rawLabels := m["labels"].(map[string]interface{})
for k, v := range rawLabels {
labels[k] = v.(string)
}
ccc := CheckPodsReadiness{
namespace: m["namespace"].(string),
labels: labels,
timeoutSec: m["timeout_sec"].(int),
}
a.CheckPodsReadinessConfigs = append(a.CheckPodsReadinessConfigs, ccc)
}
}
if v := d.Get(KeyKubernetesResourceDeletionBeforeDestroy); v != nil {
resourceDeletions := v.([]interface{})
for _, r := range resourceDeletions {
m := r.(map[string]interface{})
d := DeleteKubernetesResource{
Namespace: m["namespace"].(string),
Name: m["name"].(string),
Kind: m["kind"].(string),
}
a.DeleteKubernetesResourcesBeforeDestroy = append(a.DeleteKubernetesResourcesBeforeDestroy, d)
}
}
if v := d.Get(KeyManifests); v != nil {
rawManifests := v.([]interface{})
for _, m := range rawManifests {
a.Manifests = append(a.Manifests, m.(string))
}
}
if v := d.Get(KeyTargetGroupARNs); v != nil {
tgARNs := v.([]interface{})
for _, arn := range tgARNs {
a.TargetGroupARNs = append(a.TargetGroupARNs, arn.(string))
}
}
if cfg := tfsdk.GetAssumeRoleConfig(d); cfg != nil {
a.AssumeRoleConfig = cfg
}
fmt.Printf("Read Cluster:\n%+v", a)
return &a, nil
}