4.10.0
This commit is contained in:
@@ -337,6 +337,10 @@ func dataSourceK8sSchemaMake() map[string]*schema.Schema {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
},
|
||||
"zone_id": {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
},
|
||||
"account_name": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
|
||||
@@ -217,6 +217,10 @@ func createK8sListSchema() map[string]*schema.Schema {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
},
|
||||
"zone_id": {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
},
|
||||
"ci_id": {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
|
||||
@@ -259,6 +259,7 @@ func flattenK8sData(d *schema.ResourceData, cluster k8s.RecordK8S, masters []com
|
||||
d.Set("address_vip", flattenAddressVIP(cluster.AddressVIP))
|
||||
d.Set("extnet_only", cluster.ExtnetOnly)
|
||||
d.Set("with_lb", cluster.WithLB)
|
||||
d.Set("zone_id", cluster.ZoneID)
|
||||
}
|
||||
|
||||
func flattenAddressVIP(addressVIP k8s.K8SAddressVIP) []map[string]interface{} {
|
||||
@@ -333,6 +334,7 @@ func flattenK8sItems(k8sItems *k8s.ListK8SClusters) []map[string]interface{} {
|
||||
"updated_by": item.UpdatedBy,
|
||||
"updated_time": item.UpdatedTime,
|
||||
"vins_id": item.VINSID,
|
||||
"zone_id": item.ZoneID,
|
||||
"workers_groups": flattenWorkersGroup(item.WorkersGroup),
|
||||
}
|
||||
|
||||
@@ -369,6 +371,7 @@ func flattenResourceK8sCP(d *schema.ResourceData, k8s k8s.RecordK8S, masters []c
|
||||
d.Set("updated_by", k8s.UpdatedBy)
|
||||
d.Set("updated_time", k8s.UpdatedTime)
|
||||
d.Set("network_plugin", k8s.NetworkPlugin)
|
||||
d.Set("zone_id", k8s.ZoneID)
|
||||
|
||||
flattenCPParams(d, k8s.K8SGroups.Masters, masters)
|
||||
}
|
||||
@@ -412,6 +415,7 @@ func flattenResourceK8s(d *schema.ResourceData, k8s k8s.RecordK8S, masters []com
|
||||
d.Set("updated_time", k8s.UpdatedTime)
|
||||
d.Set("default_wg_id", k8s.K8SGroups.Workers[0].ID)
|
||||
d.Set("network_plugin", k8s.NetworkPlugin)
|
||||
d.Set("zone_id", k8s.ZoneID)
|
||||
}
|
||||
|
||||
func flattenWg(d *schema.ResourceData, wg k8s.ItemK8SGroup, computes []compute.RecordCompute) {
|
||||
|
||||
@@ -143,6 +143,10 @@ func resourceK8sCreate(ctx context.Context, d *schema.ResourceData, m interface{
|
||||
}
|
||||
}
|
||||
|
||||
if zoneID, ok := d.GetOk("zone_id"); ok {
|
||||
createReq.ZoneID = uint64(zoneID.(int))
|
||||
}
|
||||
|
||||
createReq.WithLB = d.Get("with_lb").(bool)
|
||||
|
||||
///4.4.0
|
||||
@@ -514,6 +518,45 @@ func resourceK8sUpdate(ctx context.Context, d *schema.ResourceData, m interface{
|
||||
}
|
||||
}
|
||||
|
||||
if d.HasChange("zone_id") {
|
||||
id, _ := strconv.ParseUint(d.Id(), 10, 64)
|
||||
zoneID := uint64(d.Get("zone_id").(int))
|
||||
|
||||
start := d.Get("start").(bool)
|
||||
|
||||
if start {
|
||||
stopReq := k8s.StopRequest{
|
||||
K8SID: id,
|
||||
}
|
||||
|
||||
_, err := c.CloudAPI().K8S().Stop(ctx, stopReq)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
}
|
||||
|
||||
req := k8s.MigrateToZoneRequest{
|
||||
K8SID: id,
|
||||
ZoneID: zoneID,
|
||||
}
|
||||
|
||||
_, err := c.CloudAPI().K8S().MigrateToZone(ctx, req)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
|
||||
if start {
|
||||
startReq := k8s.StartRequest{
|
||||
K8SID: id,
|
||||
}
|
||||
|
||||
_, err = c.CloudAPI().K8S().Start(ctx, startReq)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if d.HasChange("start") {
|
||||
if d.Get("start").(bool) {
|
||||
if cluster.TechStatus == "STOPPED" {
|
||||
@@ -622,6 +665,12 @@ func resourceK8sSchemaMake() map[string]*schema.Schema {
|
||||
Description: "Network plugin to be used",
|
||||
ValidateFunc: validation.StringInSlice([]string{"flannel", "weavenet", "calico"}, true),
|
||||
},
|
||||
"zone_id": {
|
||||
Type: schema.TypeInt,
|
||||
Optional: true,
|
||||
Computed: true,
|
||||
Description: "ID of the zone to put the cluster into.",
|
||||
},
|
||||
"labels": {
|
||||
Type: schema.TypeList,
|
||||
Optional: true,
|
||||
|
||||
@@ -96,6 +96,10 @@ func resourceK8sCPCreate(ctx context.Context, d *schema.ResourceData, m interfac
|
||||
createReq.WorkerGroupName = "temp"
|
||||
createReq.NetworkPlugin = d.Get("network_plugin").(string)
|
||||
|
||||
if zoneID, ok := d.GetOk("zone_id"); ok {
|
||||
createReq.ZoneID = uint64(zoneID.(int))
|
||||
}
|
||||
|
||||
if num, ok := d.GetOk("num"); ok {
|
||||
createReq.MasterNum = uint(num.(int))
|
||||
} else {
|
||||
@@ -532,6 +536,45 @@ func resourceK8sCPUpdate(ctx context.Context, d *schema.ResourceData, m interfac
|
||||
}
|
||||
}
|
||||
|
||||
if d.HasChange("zone_id") {
|
||||
id, _ := strconv.ParseUint(d.Id(), 10, 64)
|
||||
zoneID := uint64(d.Get("zone_id").(int))
|
||||
|
||||
start := d.Get("start").(bool)
|
||||
|
||||
if start {
|
||||
stopReq := k8s.StopRequest{
|
||||
K8SID: id,
|
||||
}
|
||||
|
||||
_, err := c.CloudAPI().K8S().Stop(ctx, stopReq)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
}
|
||||
|
||||
req := k8s.MigrateToZoneRequest{
|
||||
K8SID: id,
|
||||
ZoneID: zoneID,
|
||||
}
|
||||
|
||||
_, err := c.CloudAPI().K8S().MigrateToZone(ctx, req)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
|
||||
if start {
|
||||
startReq := k8s.StartRequest{
|
||||
K8SID: id,
|
||||
}
|
||||
|
||||
_, err := c.CloudAPI().K8S().Start(ctx, startReq)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if d.HasChange("num") {
|
||||
oldVal, newVal := d.GetChange("num")
|
||||
|
||||
@@ -637,6 +680,12 @@ func resourceK8sCPSchemaMake() map[string]*schema.Schema {
|
||||
Description: "Network plugin to be used",
|
||||
ValidateFunc: validation.StringInSlice([]string{"flannel", "weavenet", "calico"}, true),
|
||||
},
|
||||
"zone_id": {
|
||||
Type: schema.TypeInt,
|
||||
Optional: true,
|
||||
Computed: true,
|
||||
Description: "ID of the zone to put the cluster into.",
|
||||
},
|
||||
"num": {
|
||||
Type: schema.TypeInt,
|
||||
Optional: true,
|
||||
|
||||
Reference in New Issue
Block a user