package api import ( "context" "time" cpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/configurationmanagement" nbi "code.fbi.h-da.de/danet/gosdn/controller/northbound/client" ) // ExportSDNConfig returns the SDN configuration. func ExportSDNConfig(ctx context.Context, addr, pid string) (*cpb.ExportSDNConfigResponse, error) { configClient, err := nbi.ConfigurationManagementClient(addr, dialOptions...) if err != nil { return nil, err } req := &cpb.ExportSDNConfigRequest{ Timestamp: time.Now().UnixNano(), Pid: pid, } return configClient.ExportSDNConfig(ctx, req) } // ImportSDNConfig receives an SDN configuration and imports it. func ImportSDNConfig(ctx context.Context, addr, pid, sdnConfigData string) (*cpb.ImportSDNConfigResponse, error) { configClient, err := nbi.ConfigurationManagementClient(addr, dialOptions...) if err != nil { return nil, err } req := &cpb.ImportSDNConfigRequest{ Timestamp: time.Now().UnixNano(), Pid: pid, SdnConfigData: sdnConfigData, } return configClient.ImportSDNConfig(ctx, req) }