示例#1
0
        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));
                }
            }
        }