public static LogicalInterfaceInfo LogicalInterface(IBMWIoTP.ApiClient cli, SchemaInfo sc) { Console.WriteLine("Logical Interface sample request"); Console.WriteLine("Add Draft LogicalInterface"); LogicalInterfaceDraft draft = new LogicalInterfaceDraft(); draft.name = "lidraft"; draft.schemaId = sc.id; draft.description = "some thing"; var li = cli.AddDraftLogicalInterfaces(draft); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(li)); Console.WriteLine("==============================================================================="); Console.WriteLine("Get all Draft Logical Interfaces"); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetAllDraftLogicalInterfaces())); Console.WriteLine("==============================================================================="); Console.WriteLine("Update Draft Logical Interfaces"); li.description = "changed to new discription"; li = cli.UpdateDraftLogicalInterfaces(li); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(li)); Console.WriteLine("==============================================================================="); Console.WriteLine("Get Draft Logical Interfaces"); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetDraftLogicalInterfaces(li.id))); Console.WriteLine("==============================================================================="); Console.WriteLine("Perform action on Draft Logical Interfaces"); OperationInfo work = new OperationInfo(OperationInfo.Validate); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.OperateDraftLogicalInterfaces(li.id, work))); Console.WriteLine("==============================================================================="); Console.WriteLine("Delete Draft Logical Interfaces"); var dummyli = cli.AddDraftLogicalInterfaces(draft); cli.DeleteDraftLogicalInterfaces(dummyli.id); Console.WriteLine("==============================================================================="); Console.WriteLine("Get all Draft Logical Interfaces"); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetAllDraftLogicalInterfaces())); Console.WriteLine("==============================================================================="); Console.WriteLine("Get All active Logical Interfaces"); LogicalInterfaceCollection coll = cli.GetAllActiveLogicalInterfaces(); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(coll)); Console.WriteLine("==============================================================================="); if (coll.results.Count > 0) { Console.WriteLine("Get active Logical Interfaces"); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetActiveLogicalInterfaces(coll.results[0].id))); Console.WriteLine("==============================================================================="); Console.WriteLine("Oparate on Logical Interfaces "); work = new OperationInfo(OperationInfo.Deactivate); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.OperateLogicalInterfaces(coll.results[0].id, work))); Console.WriteLine("==============================================================================="); } return(li); }
public static void sampleSequence(IBMWIoTP.ApiClient cli) { SchemaDraft sd = new SchemaDraft(); sd.name = "tempEventSchema"; sd.schemaFile = "tempSchemaPi.json"; Console.WriteLine("Create a draft event schema resource for your event type"); SchemaInfo sc = cli.AddDraftSchema(sd); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(sc)); Console.WriteLine("==============================================================================="); Console.WriteLine("Create a draft event type that references the event schema"); EventTypeDraft draft = new EventTypeDraft(); draft.name = "test"; draft.description = "eventType for temperature"; draft.schemaId = sc.id; EventTypeInfo info = cli.AddDraftEventType(draft); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(info)); Console.WriteLine("==============================================================================="); Console.WriteLine("Create a draft physical interface"); PhysicalInterfaceDraft draftPI = new PhysicalInterfaceDraft(); draftPI.name = "TempPI"; draftPI.description = "new PhysicalInterfaces for temp"; PhysicalInterfacesInfo newPI = cli.AddDraftPhysicalInterfaces(draftPI); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(newPI)); Console.WriteLine("==============================================================================="); Console.WriteLine("Add the event type to the draft physical interface"); EventTypeBind bind = new EventTypeBind(); bind.eventId = deviceEvent; bind.eventTypeId = info.id; EventTypeBind bindResponse = cli.MapDraftPhysicalInterfacesEvent(newPI.id, bind); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(bindResponse)); Console.WriteLine("==============================================================================="); Console.WriteLine("Update the draft device type to connect the draft physical interface"); PhysicalInterfacesInfo updatedPI = cli.AddDraftDeviceTypePI(deviceType, newPI); Console.WriteLine("==============================================================================="); Console.WriteLine("Create a draft logical interface schema resource"); SchemaDraft sdLI = new SchemaDraft(); sdLI.name = "temperatureEventSchema"; sdLI.schemaFile = "tempSchemaLi.json"; SchemaInfo schemaForLI = cli.AddDraftSchema(sdLI); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(schemaForLI)); Console.WriteLine("==============================================================================="); Console.WriteLine("Create a draft logical interface that references a draft logical interface schema"); LogicalInterfaceDraft draftLI = new LogicalInterfaceDraft(); draftLI.name = "environment sensor interface"; draftLI.schemaId = schemaForLI.id; LogicalInterfaceInfo newLI = cli.AddDraftLogicalInterfaces(draftLI); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(newLI)); Console.WriteLine("==============================================================================="); Console.WriteLine("Add the draft logical interface to a device type"); LogicalInterfaceInfo mappedLI = cli.AddDraftDeviceTypeLI(deviceType, newLI); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(mappedLI)); Console.WriteLine("==============================================================================="); Console.WriteLine("Define mappings to map properties in the inbound event to properties in the logical interface"); MappingDraft liMappingDraft = new MappingDraft(); liMappingDraft.notificationStrategy = "on-every-event"; liMappingDraft.propertyMappings = new { test = new { temperature = "$event.temp" } }; liMappingDraft.logicalInterfaceId = mappedLI.id; MappingInfo mappedLiInfo = cli.AddDraftDeviceTypeMapping(deviceType, liMappingDraft); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(mappedLiInfo)); Console.WriteLine("==============================================================================="); Console.WriteLine("Validate and activate the configuration"); OperationInfo activate = new OperationInfo(OperationInfo.Activate); var responce = cli.OperateDraftDeviceType(deviceType, activate); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(responce)); Console.WriteLine("==============================================================================="); Console.WriteLine(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(cli.GetCurrentDeviceState(deviceType, "1qaz2wsx", mappedLI.id))); }