public void Configuration() { // an example: configuring the SDK var config = new Config("An MbedCloud Api Key", "https://www.example.com"); var deviceDirectory = new DeviceDirectoryApi(config); // end of example }
public void ListDevices() { // an example: list devices in Pelion Device Management var config = new Config("An MbedCloud Api Key", "custom host url"); var deviceDirectory = new DeviceDirectoryApi(config); var data = deviceDirectory.ListDevices(new QueryOptions { Order = "ASC" }); data.Select(device => $"{device.Id} [{device.State.ToString()}]") .ToList() .ForEach(device => Console.WriteLine(device)); // end of example }
public void ListDevicesWithFilters() { // an example: list deregistered devices in Pelion Device Management var config = new Config("An MbedCloud Api Key", "custom host url"); var deviceDirectory = new DeviceDirectoryApi(config); var options = new QueryOptions(); options.Filter.Add("state", "deregistered"); var data = deviceDirectory.ListDevices(options); data.Select(device => $"{device.Id} [{device.State.ToString()}]") .ToList() .ForEach(device => Console.WriteLine(device)); // end of example }
private async Task <ResponsePage <ConnectedDevice> > ListConnectedDevicesFunc(QueryOptions options) { try { var resp = await DeviceDirectoryApi.DeviceListAsync(limit : options.Limit, order : options.Order, after : options.After, filter : options.Filter?.FilterString, include : options.Include); var respDevices = new ResponsePage <ConnectedDevice>(after: resp.After, hasMore: resp.HasMore, totalCount: resp.TotalCount); foreach (var device in resp.Data) { respDevices.Add(ConnectedDevice.Map(device, this)); } return(respDevices); } catch (device_directory.Client.ApiException e) { throw new CloudApiException(e.ErrorCode, e.Message, e.ErrorContent); } }
/// <summary> /// Map to Device object. /// </summary> /// <param name="deviceData">DeviceDetal response object.</param> /// <param name="api">optional DeviceDirectoryApi</param> /// <returns>Device</returns> public static Device Map(DeviceData deviceData, DeviceDirectoryApi api = null) { var device = new Device(api) { BootstrappedTimestamp = deviceData.BootstrappedTimestamp.ToNullableUniversalTime(), UpdatedAt = deviceData.UpdatedAt.ToNullableUniversalTime(), CustomAttributes = deviceData.CustomAttributes, DeviceClass = deviceData.DeviceClass, Description = deviceData.Description, AutoUpdate = deviceData.AutoUpdate, Mechanism = deviceData.Mechanism.ParseEnum <Mechanism>(), State = deviceData.State.ParseEnum <State>(), ProvisionKey = deviceData.DeviceKey, SerialNumber = deviceData.SerialNumber, VendorId = deviceData.VendorId, AccountId = deviceData.AccountId, DeployedState = deviceData.DeployedState.ParseEnum <DeployedState>(), Deployment = deviceData.Deployment, MechanismUrl = deviceData.MechanismUrl, Id = deviceData.Id, Name = deviceData.Name, CreatedAt = deviceData.CreatedAt.ToNullableUniversalTime(), Manifest = deviceData.Manifest, CertificateFingerprint = deviceData.DeviceKey, CertificateIssuerId = deviceData.CaId, BootstrapCertificateExpiration = deviceData.BootstrapExpirationDate.ToNullableUniversalTime(), ConnectorCertificateExpiration = deviceData.ConnectorExpirationDate.ToNullableUniversalTime(), Alias = deviceData.EndpointName, HostGateway = deviceData.HostGateway, DeviceExecutionMode = deviceData.DeviceExecutionMode, FirmwareChecksum = deviceData.FirmwareChecksum, DeviceType = deviceData.EndpointType, ManifestTimestamp = deviceData.ManifestTimestamp.ToNullableUniversalTime(), ClaimedAt = deviceData.EnrolmentListTimestamp, }; return(device); }
/// <summary> /// Initializes a new instance of the <see cref="Device" /> class. /// </summary> /// <param name="api">DeviceDirectory Api.</param> public Device(DeviceDirectoryApi api) { this.api = api; }
public Instance AddModuleInstance(ModuleEnum module, InstanceConfiguration instanceConfiguration) { var additionalProperties = instanceConfiguration.GetHashtable(); var config = new Config( apiKey: instanceConfiguration.ApiKey, host: instanceConfiguration.Host) { AutostartNotifications = instanceConfiguration.AutostartDaemon, ForceClear = true, LogLevel = LogLevel.ALL, }; var instance = new Instance { Id = Guid.NewGuid().ToString(), Module = module, CreatedAt = DateTime.Now }; switch (module) { case ModuleEnum.AccountManagementApi: var accountApi = new AccountManagementApi(config); Instances.Add(instance, accountApi); break; case ModuleEnum.CertificatesApi: var certApi = new CertificatesApi(config); Instances.Add(instance, certApi); break; case ModuleEnum.ConnectApi: var connectApi = new ConnectApi(config); Instances.Add(instance, connectApi); break; case ModuleEnum.DeviceDirectoryApi: var deviceApi = new DeviceDirectoryApi(config); Instances.Add(instance, deviceApi); break; case ModuleEnum.StubAPI: var stubApi = new StubApi(config); Instances.Add(instance, stubApi); break; case ModuleEnum.UpdateApi: var updateApi = new UpdateApi(config); Instances.Add(instance, updateApi); break; case ModuleEnum.EnrollmentApi: var enrollmentApi = new EnrollmentApi(config); Instances.Add(instance, enrollmentApi); break; case ModuleEnum.BootstrapApi: var bootstrapApi = new BootstrapApi(config); Instances.Add(instance, bootstrapApi); break; case ModuleEnum.BillingApi: var billingApi = new BillingApi(config); Instances.Add(instance, billingApi); break; } return(instance); }
public void TestDeviceDirectoryApi() { var deviceDirectory = new DeviceDirectoryApi(new Config("apiKey")); TestUserAgent(deviceDirectory.Api.Configuration.UserAgent); }