/// <summary>
 /// Create deployment
 /// </summary>
 /// <param name="factory"></param>
 /// <param name="deviceId"></param>
 /// <param name="configuration"></param>
 public EdgeDeviceDeployment(EdgeDeploymentFactory factory,
                             string deviceId, ConfigurationContentModel configuration) :
     base(configuration)
 {
     _deviceId = deviceId ?? throw new ArgumentNullException(nameof(deviceId));
     _factory  = factory ?? throw new ArgumentNullException(nameof(factory));
 }
 /// <summary>
 /// Create new deployment
 /// </summary>
 /// <param name="configuration"></param>
 internal EdgeDeploymentBase(ConfigurationContentModel configuration)
 {
     if (configuration == null)
     {
         // Create default configuration
         _configuration = new ConfigurationContentModel();
         _edgeAgent     = new EdgeAgentConfigurationModel {
             SchemaVersion = kDefaultSchemaVersion,
             Modules       = new Dictionary <string, EdgeAgentModuleModel>(),
             Runtime       = new EdgeAgentRuntimeModel {
                 Settings = new EdgeAgentRuntimeSettingsModel()
             }
         };
         _edgeHub = new EdgeHubConfigurationModel {
             SchemaVersion = kDefaultSchemaVersion,
             Routes        = new Dictionary <string, string> {
                 [kDefaultRouteName] = kDefaultRoute
             },
             StorageConfig = new EdgeHubStoreAndForwardModel {
                 TimeToLiveSecs = 7200
             }
         };
         _configuration.AddModulesContent(_edgeAgent);
         _configuration.AddModulesContent(_edgeHub);
     }
     else
     {
         // Use provided configuration
         _configuration = configuration;
         _edgeAgent     = _configuration.GetEdgeAgentConfiguration();
         _edgeHub       = _configuration.GetEdgeHubConfiguration();
     }
 }
Ejemplo n.º 3
0
 /// <inheritdoc/>
 public async Task ApplyConfigurationAsync(string deviceId,
                                           ConfigurationContentModel configuration, CancellationToken ct)
 {
     try {
         await _registry.ApplyConfigurationContentOnDeviceAsync(deviceId,
                                                                configuration.ToContent(), ct);
     }
     catch (Exception e) {
         _logger.Verbose(e, "Apply configuration failed ");
         throw e.Rethrow();
     }
 }
 /// <inheritdoc/>
 public async Task ApplyConfigurationAsync(string deviceId,
                                           ConfigurationContentModel configuration)
 {
     try {
         await _registry.ApplyConfigurationContentOnDeviceAsync(deviceId,
                                                                configuration.ToContent());
     }
     catch (Exception e) {
         _logger.Debug(e, "Apply configuration failed ");
         throw e.Rethrow();
     }
 }
Ejemplo n.º 5
0
 /// <inheritdoc/>
 public Task ApplyConfigurationAsync(string deviceId,
                                     ConfigurationContentModel configuration, CancellationToken ct)
 {
     if (configuration == null)
     {
         throw new ArgumentNullException(nameof(configuration));
     }
     if (string.IsNullOrEmpty(deviceId))
     {
         throw new ArgumentNullException(nameof(deviceId));
     }
     return(Retry.WithExponentialBackoff(_logger, ct, async() => {
         var request = NewRequest(
             $"/devices/{ToResourceId(deviceId, null)}/applyConfigurationContent");
         request.SetContent(configuration);
         var response = await _httpClient.PostAsync(request, ct);
         response.Validate();
     }, kMaxRetryCount));
 }
 /// <summary>
 /// Create deployment
 /// </summary>
 /// <param name="factory"></param>
 /// <param name="name"></param>
 /// <param name="condition"></param>
 /// <param name="priority"></param>
 /// <param name="configuration"></param>
 public EdgeFleetDeployment(EdgeDeploymentFactory factory, string name,
                            string condition, int priority, ConfigurationContentModel configuration) :
     base(configuration)
 {
     if (string.IsNullOrEmpty(condition))
     {
         throw new ArgumentNullException(nameof(condition));
     }
     if (string.IsNullOrEmpty(name))
     {
         throw new ArgumentNullException(nameof(name));
     }
     _factory = factory ?? throw new ArgumentNullException(nameof(factory));
     _model   = new ConfigurationModel {
         SchemaVersion   = kDefaultSchemaVersion,
         Id              = name,
         Content         = _configuration,
         TargetCondition = condition,
         Priority        = priority
     };
 }
Ejemplo n.º 7
0
 public Task ApplyConfigurationAsync(string deviceId,
                                     ConfigurationContentModel configuration, CancellationToken ct = default)
 {
     return(Task.CompletedTask);
 }
 /// <inheritdoc/>
 public IEdgeDeployment Create(string name, string condition,
                               int priority, ConfigurationContentModel configuration)
 {
     return(new EdgeFleetDeployment(this, name, condition, priority, configuration));
 }
 /// <inheritdoc/>
 public IEdgeDeployment Create(string deviceId,
                               ConfigurationContentModel configuration)
 {
     return(new EdgeDeviceDeployment(this, deviceId, configuration));
 }