This commit is contained in:
2025-11-18 16:20:26 +03:00
parent 4b3f21d9be
commit e42fbcef39
397 changed files with 17560 additions and 1501 deletions

View File

@@ -51,11 +51,12 @@ func flattenListExtnet(extList *extnet.ListExtNet) []map[string]interface{} {
"free_ips": item.FreeIPs,
"gid": item.GID,
"guid": item.GUID,
"enable_secgroups": item.EnableSecGroups,
"extnet_id": item.ID,
"ipcidr": item.IPCIDR,
"milestones": item.Milestones,
"name": item.Name,
"network_ids": item.NetworkIDs,
"network_ids": flattenNetworkIDs(item.NetworkIDs),
"ovs_bridge": item.OVSBridge,
"pre_reservations_num": item.PreReservationsNum,
"pri_vnfdev_id": item.PriVNFDevID,
@@ -143,6 +144,7 @@ func flattenRecordExtnetResource(d *schema.ResourceData, recNet *extnet.RecordEx
d.Set("reservations", flattenExtnetReservations(recNet.Reservations))
d.Set("routes", flattenStaticRouteList(staticRouteList))
d.Set("zone_id", recNet.ZoneID)
d.Set("enable_secgroups", recNet.EnableSecGroups)
}
func flattenExtnetExcluded(ers extnet.ListReservations) []map[string]interface{} {

View File

@@ -133,7 +133,7 @@ func resourceExtnetCreate(ctx context.Context, d *schema.ResourceData, m interfa
}
if mtu, ok := d.GetOk("mtu"); ok {
req.MTU = mtu.(uint)
req.MTU = uint(mtu.(int))
}
log.Debugf("cloudbroker: Sent create request")
@@ -234,6 +234,18 @@ func resourceExtnetCreate(ctx context.Context, d *schema.ResourceData, m interfa
}
}
if d.Get("enable_secgroups").(bool) {
log.Debugf("resourceExtnetCreate: trying to enable secgroups for extnet with ID %d", netID)
req := extnet.UpdateRequest{
NetID: netID,
EnableSecGroups: true,
}
_, err := c.CloudBroker().ExtNet().Update(ctx, req)
if err != nil {
w.Add(err)
}
}
return resourceExtnetRead(ctx, d, m)
}

View File

@@ -65,6 +65,11 @@ func dataSourceExtnetListSchemaMake() map[string]*schema.Schema {
Optional: true,
Description: "Page size",
},
"zone_id": {
Type: schema.TypeInt,
Optional: true,
Description: "Zone ID",
},
"items": {
Type: schema.TypeList,
Computed: true,
@@ -130,6 +135,10 @@ func dataSourceExtnetListSchemaMake() map[string]*schema.Schema {
Type: schema.TypeInt,
Computed: true,
},
"enable_secgroups": {
Type: schema.TypeBool,
Computed: true,
},
"extnet_id": {
Type: schema.TypeInt,
Computed: true,
@@ -700,6 +709,12 @@ func resourceExtnetSchemaMake() map[string]*schema.Schema {
Optional: true,
Computed: true,
},
"enable_secgroups": {
Type: schema.TypeBool,
Optional: true,
Default: false,
Description: "enable security groups",
},
"dns": {
Type: schema.TypeList,
Optional: true,

View File

@@ -86,6 +86,10 @@ func utilityExtnetListCheckPresence(ctx context.Context, d *schema.ResourceData,
req.Size = uint64(size.(int))
}
if zoneID, ok := d.GetOk("zone_id"); ok {
req.ZoneID = uint64(zoneID.(int))
}
res, err := c.CloudBroker().ExtNet().List(ctx, req)
if err != nil {
return nil, err

View File

@@ -119,7 +119,11 @@ func handleBasicUpdate(ctx context.Context, d *schema.ResourceData, c *controlle
doBasicUpdate = true
}
if d.HasChange("mtu") {
basiUpdateReq.MTU = d.Get("mtu").(uint64)
basiUpdateReq.MTU = uint64(d.Get("mtu").(int))
doBasicUpdate = true
}
if d.HasChange("enable_secgroups") {
basiUpdateReq.EnableSecGroups = d.Get("enable_secgroups").(bool)
doBasicUpdate = true
}