@@ -27,6 +27,7 @@ func BridgeCreate(ID string, domainid string, gatewayip string) {
2727 "action_text": "create_and_link_ifc(DYN_1)"}
2828 },
2929 "ifc": {},
30+ "metadata": "` + ID + `",
3031 "mobility": "true",
3132 "ne_description": "PLUMgrid Bridge",
3233 "ne_dname": "net-` + ID [:10 ] + `",
@@ -45,7 +46,7 @@ func BridgeCreate(ID string, domainid string, gatewayip string) {
4546 "rules` + ID + `": {
4647 "add_context": "",
4748 "criteria": "pgtag2",
48- "match": "bridge- ` + ID [: 10 ] + `"
49+ "match": "bri ` + ID + `"
4950 }
5051 }
5152 }` )
@@ -57,6 +58,13 @@ func BridgeCreate(ID string, domainid string, gatewayip string) {
5758 RestCall ("PUT" , url , data )
5859}
5960
61+ func AddGatewayInfo (ID string , domainid string , gatewayip string ) {
62+
63+ url := "/0/connectivity/domain_prop/" + domainid + "/ne/brii" + ID
64+ data := []byte (`{"ne_metadata": "` + gatewayip + `"}` )
65+ RestCall ("PUT" , url , data )
66+ }
67+
6068func BridgeDelete (ID string , domainid string ) {
6169
6270 url := "/0/connectivity/domain_prop/" + domainid + "/ne/brii" + ID
@@ -69,7 +77,7 @@ func BridgeDelete(ID string, domainid string) {
6977 RestCall ("DELETE" , url , nil )
7078}
7179
72- func FindDomainFromNetwork ( ID string ) ( domainid string ) {
80+ func AddNetworkInfo ( dNetwork string , neID string ) {
7381
7482 url := "/0/connectivity/domain?configonly=true&level=3"
7583 body , _ := RestCall ("GET" , url , nil )
@@ -80,12 +88,36 @@ func FindDomainFromNetwork(ID string) (domainid string) {
8088 }
8189 for domains , domain_val := range domain_data {
8290 if nes , ok := domain_val .(map [string ]interface {})["ne" ]; ok {
83- if _ , ok := nes .(map [string ]interface {})["bri" + ID ]; ok {
84- domainid = domains
91+ if ne , ok := nes .(map [string ]interface {})[neID ]; ok {
92+ ne .(map [string ]interface {})["metadata" ] = dNetwork
93+ ne_data , _ := json .Marshal (ne )
94+ RestCall ("PUT" , "/0/connectivity/domain/" + domains + "/ne/" + neID , ne_data )
8595 break
8696 }
8797 }
8898 }
99+ }
100+
101+ func FindDomainFromNetwork (ID string ) (domainid string , netid string ) {
102+
103+ url := "/0/connectivity/domain?configonly=true&level=3"
104+ body , _ := RestCall ("GET" , url , nil )
105+ var domain_data map [string ]interface {}
106+ err := json .Unmarshal ([]byte (body ), & domain_data )
107+ if err != nil {
108+ panic (err )
109+ }
110+ for domains , domain_val := range domain_data {
111+ if nes , ok := domain_val .(map [string ]interface {})["ne" ]; ok {
112+ for ne , data := range nes .(map [string ]interface {}) {
113+ if data .(map [string ]interface {})["metadata" ] == ID {
114+ domainid = domains
115+ netid = ne
116+ break
117+ }
118+ }
119+ }
120+ }
89121 return
90122}
91123
0 commit comments