4.10.0
This commit is contained in:
@@ -73,6 +73,10 @@ func dataSourceBasicServiceSchemaMake() map[string]*schema.Schema {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"zone_id": {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
},
|
||||
"computes": {
|
||||
Type: schema.TypeList,
|
||||
Computed: true,
|
||||
|
||||
@@ -68,6 +68,7 @@ func flattenBasicServiceList(bsl *bservice.ListBasicServices) []map[string]inter
|
||||
"updated_by": bs.UpdatedBy,
|
||||
"updated_time": bs.UpdatedTime,
|
||||
"user_managed": bs.UserManaged,
|
||||
"zone_id": bs.ZoneID,
|
||||
}
|
||||
res = append(res, temp)
|
||||
}
|
||||
@@ -183,6 +184,10 @@ func dataSourceBasicServiceListSchemaMake() map[string]*schema.Schema {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
},
|
||||
"zone_id": {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
},
|
||||
"groups": {
|
||||
Type: schema.TypeList,
|
||||
Computed: true,
|
||||
|
||||
@@ -86,6 +86,7 @@ func flattenService(d *schema.ResourceData, bs *bservice.RecordBasicService) {
|
||||
d.Set("updated_by", bs.UpdatedBy)
|
||||
d.Set("updated_time", bs.UpdatedTime)
|
||||
d.Set("user_managed", bs.UserManaged)
|
||||
d.Set("zone_id", bs.ZoneID)
|
||||
}
|
||||
|
||||
func flattenBasicServiceComputes(bscs bservice.ListComputes) []map[string]interface{} {
|
||||
|
||||
@@ -64,6 +64,9 @@ func resourceBasicServiceCreate(ctx context.Context, d *schema.ResourceData, m i
|
||||
req.Name = d.Get("service_name").(string)
|
||||
req.RGID = uint64(d.Get("rg_id").(int))
|
||||
|
||||
if zoneID, ok := d.GetOk("zone_id"); ok {
|
||||
req.ZoneID = uint64(zoneID.(int))
|
||||
}
|
||||
if sshKey, ok := d.GetOk("ssh_key"); ok {
|
||||
req.SSHKey = sshKey.(string)
|
||||
}
|
||||
@@ -314,6 +317,43 @@ func resourceBasicServiceUpdate(ctx context.Context, d *schema.ResourceData, m i
|
||||
}
|
||||
}
|
||||
|
||||
if d.HasChange("zone_id") {
|
||||
zoneID := uint64(d.Get("zone_id").(int))
|
||||
|
||||
start := d.Get("start").(bool)
|
||||
if start {
|
||||
reqStop := bservice.StopRequest{
|
||||
ServiceID: uint64(d.Get("service_id").(int)),
|
||||
}
|
||||
|
||||
_, err := c.CloudAPI().BService().Stop(ctx, reqStop)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
}
|
||||
|
||||
req := bservice.MigrateToZoneRequest{
|
||||
ServiceID: uint64(d.Get("service_id").(int)),
|
||||
ZoneID: zoneID,
|
||||
}
|
||||
|
||||
_, err = c.CloudAPI().BService().MigrateToZone(ctx, req)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
|
||||
if start {
|
||||
startReq := bservice.StartRequest{
|
||||
ServiceID: uint64(d.Get("service_id").(int)),
|
||||
}
|
||||
|
||||
_, err = c.CloudAPI().BService().Start(ctx, startReq)
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if d.HasChange("start") {
|
||||
if d.Get("start").(bool) {
|
||||
req := bservice.StartRequest{
|
||||
@@ -444,6 +484,12 @@ func resourceBasicServiceSchemaMake() map[string]*schema.Schema {
|
||||
Required: true,
|
||||
Description: "ID of the Resource Group where this service will be placed",
|
||||
},
|
||||
"zone_id": {
|
||||
Type: schema.TypeInt,
|
||||
Optional: true,
|
||||
Computed: true,
|
||||
Description: "ID of the zone where this service will be placed",
|
||||
},
|
||||
"ssh_key": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
|
||||
Reference in New Issue
Block a user