public override void ExecuteCmdlet() { IotHubDescription iotHubDescription; if (ParameterSetName.Equals(InputObjectParameterSet)) { this.ResourceGroupName = this.InputObject.Resourcegroup; this.Name = this.InputObject.Name; iotHubDescription = IotHubUtils.ConvertObject <PSIotHub, IotHubDescription>(this.InputObject); } else { if (ParameterSetName.Equals(ResourceIdParameterSet)) { this.ResourceGroupName = IotHubUtils.GetResourceGroupName(this.ResourceId); this.Name = IotHubUtils.GetIotHubName(this.ResourceId); } iotHubDescription = this.IotHubClient.IotHubResource.Get(this.ResourceGroupName, this.Name); } if (string.IsNullOrEmpty(this.Key)) { this.WriteObject(IotHubUtils.ToPSEnrichmentProperties(iotHubDescription.Properties.Routing.Enrichments), true); } else { if (!iotHubDescription.Properties.Routing.Enrichments.Any(x => x.Key.Equals(this.Key.Trim(), StringComparison.OrdinalIgnoreCase))) { throw new ArgumentException(string.Format(Properties.Resources.MessageEnrichmentKeyMissing, this.Key)); } this.WriteObject(IotHubUtils.ToPSEnrichmentMetadata(iotHubDescription.Properties.Routing.Enrichments.FirstOrDefault(x => x.Key.Equals(this.Key, StringComparison.OrdinalIgnoreCase))), false); } }
public override void ExecuteCmdlet() { if (ShouldProcess(this.Key, Properties.Resources.AddIotHubMessageEnrichment)) { IotHubDescription iotHubDescription; if (ParameterSetName.Equals(InputObjectParameterSet)) { this.ResourceGroupName = this.InputObject.Resourcegroup; this.Name = this.InputObject.Name; iotHubDescription = IotHubUtils.ConvertObject <PSIotHub, IotHubDescription>(this.InputObject); } else { if (ParameterSetName.Equals(ResourceIdParameterSet)) { this.ResourceGroupName = IotHubUtils.GetResourceGroupName(this.ResourceId); this.Name = IotHubUtils.GetIotHubName(this.ResourceId); } iotHubDescription = this.IotHubClient.IotHubResource.Get(this.ResourceGroupName, this.Name); } if (iotHubDescription.Properties.Routing.Enrichments == null) { iotHubDescription.Properties.Routing.Enrichments = new List <EnrichmentProperties>(); } if (!iotHubDescription.Properties.Routing.Enrichments.Any(x => x.Key.Equals(this.Key.Trim(), StringComparison.OrdinalIgnoreCase))) { IList <string> endpointNames = new List <string>(); foreach (string endpoint in this.Endpoint) { endpointNames.Add(endpoint.Trim()); } iotHubDescription.Properties.Routing.Enrichments.Add( new EnrichmentProperties( this.Key.Trim(), this.Value.Trim(), endpointNames )); this.IotHubClient.IotHubResource.CreateOrUpdate(this.ResourceGroupName, this.Name, iotHubDescription); IotHubDescription updatedIotHubDescription = this.IotHubClient.IotHubResource.Get(this.ResourceGroupName, this.Name); this.WriteObject(IotHubUtils.ToPSEnrichmentMetadata(updatedIotHubDescription.Properties.Routing.Enrichments.FirstOrDefault(x => x.Key.Equals(this.Key, StringComparison.OrdinalIgnoreCase))), false); } else { throw new ArgumentException(string.Format(Properties.Resources.MessageEnrichmentKeyExist, this.Key)); } } }