in cloudstack/resource_cloudstack_kubernetes_version.go [96:137]
func resourceCloudStackKubernetesVersionCreate(d *schema.ResourceData, meta interface{}) error {
cs := meta.(*cloudstack.CloudStackClient)
// State is always Enabled when created
if state, ok := d.GetOk("state"); ok {
if state.(string) != "Enabled" {
return fmt.Errorf("State must be 'Enabled' when first adding an ISO")
}
}
semanticVersion := d.Get("semantic_version").(string)
url := d.Get("url").(string)
minCpu := d.Get("min_cpu").(int)
minMemory := d.Get("min_memory").(int)
p := cs.Kubernetes.NewAddKubernetesSupportedVersionParams(minCpu, minMemory, semanticVersion)
p.SetUrl(url)
if name, ok := d.GetOk("name"); ok {
p.SetName(name.(string))
}
if checksum, ok := d.GetOk("checksum"); ok {
p.SetName(checksum.(string))
}
if zone, ok := d.GetOk("zone"); ok {
zoneID, e := retrieveID(cs, "zone", zone.(string))
if e != nil {
return e.Error()
}
p.SetZoneid(zoneID)
}
log.Printf("[DEBUG] Creating Kubernetes Version %s", semanticVersion)
r, err := cs.Kubernetes.AddKubernetesSupportedVersion(p)
if err != nil {
return err
}
log.Printf("[DEBUG] Kubernetes Version %s successfully created", semanticVersion)
d.SetId(r.Id)
return resourceCloudStackKubernetesVersionRead(d, meta)
}