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
        }
Beispiel #2
0
        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
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
0
 /// <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;
 }
Beispiel #7
0
        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);
        }