@@ -220,6 +220,16 @@ func convertCloudConfig(identity *unikornv1.Identity, in *providers.CloudConfig)
220220 return out
221221}
222222
223+ func generateClusterInfo (in * openapi.IdentityWrite ) * providers.ClusterInfo {
224+ out := & providers.ClusterInfo {
225+ OrganizationID : in .OrganizationId ,
226+ ProjectID : in .ProjectId ,
227+ ClusterID : in .ClusterId ,
228+ }
229+
230+ return out
231+ }
232+
223233func (h * Handler ) PostApiV1RegionsRegionIDIdentities (w http.ResponseWriter , r * http.Request , regionID openapi.RegionIDParameter ) {
224234 request := & openapi.IdentityWrite {}
225235
@@ -234,7 +244,7 @@ func (h *Handler) PostApiV1RegionsRegionIDIdentities(w http.ResponseWriter, r *h
234244 return
235245 }
236246
237- identity , cloudconfig , err := provider .CreateIdentity (r .Context (), & providers. ClusterInfo {} )
247+ identity , cloudconfig , err := provider .CreateIdentity (r .Context (), generateClusterInfo ( request ) )
238248 if err != nil {
239249 errors .HandleError (w , r , err )
240250 return
@@ -246,3 +256,39 @@ func (h *Handler) PostApiV1RegionsRegionIDIdentities(w http.ResponseWriter, r *h
246256
247257func (h * Handler ) DeleteApiV1RegionsRegionIDIdentitiesIdentityID (w http.ResponseWriter , r * http.Request , regionID openapi.RegionIDParameter , identityID openapi.IdentityIDParameter ) {
248258}
259+
260+ func convertExternalNetwork (in providers.ExternalNetwork ) openapi.ExternalNetwork {
261+ out := openapi.ExternalNetwork {
262+ Id : in .ID ,
263+ Name : in .Name ,
264+ }
265+
266+ return out
267+ }
268+
269+ func convertExternalNetworks (in providers.ExternalNetworks ) openapi.ExternalNetworks {
270+ out := make (openapi.ExternalNetworks , len (in ))
271+
272+ for i := range in {
273+ out [i ] = convertExternalNetwork (in [i ])
274+ }
275+
276+ return out
277+ }
278+
279+ func (h * Handler ) GetApiV1RegionsRegionIDExternalnetworks (w http.ResponseWriter , r * http.Request , regionID openapi.RegionIDParameter ) {
280+ provider , err := region .NewClient (h .client , h .namespace ).Provider (r .Context (), regionID )
281+ if err != nil {
282+ errors .HandleError (w , r , err )
283+ return
284+ }
285+
286+ result , err := provider .ListExternalNetworks (r .Context ())
287+ if err != nil {
288+ errors .HandleError (w , r , err )
289+ return
290+ }
291+
292+ h .setCacheable (w )
293+ util .WriteJSONResponse (w , r , http .StatusOK , convertExternalNetworks (result ))
294+ }
0 commit comments