public override void ExecuteCmdlet()
        {
            IotHubDescription iotHubDescription;

            if (ParameterSetName.Equals(InputObjectParameterSet))
            {
                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.RouteName))
            {
                this.WriteObject(IotHubUtils.ToPSRouteProperties(iotHubDescription.Properties.Routing.Routes), true);
            }
            else
            {
                this.WriteObject(IotHubUtils.ToPSRouteMetadata(iotHubDescription.Properties.Routing.Routes.FirstOrDefault(x => x.Name.Equals(this.RouteName, StringComparison.OrdinalIgnoreCase))), false);
            }
        }
Exemple #2
0
        public override void ExecuteCmdlet()
        {
            if (ShouldProcess(this.RouteName, Properties.Resources.UpdateIotHubRoute))
            {
                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.Routes.Any(x => x.Name.Equals(this.RouteName, StringComparison.OrdinalIgnoreCase)))
                {
                    RouteProperties routeProperties = iotHubDescription.Properties.Routing.Routes.FirstOrDefault(x => x.Name.Equals(this.RouteName, StringComparison.OrdinalIgnoreCase));
                    if (this.Source.HasValue)
                    {
                        routeProperties.Source = this.Source.Value.ToString();
                    }
                    if (!string.IsNullOrEmpty(this.EndpointName))
                    {
                        routeProperties.EndpointNames = new List <string>()
                        {
                            this.EndpointName
                        };
                    }
                    if (!string.IsNullOrEmpty(this.Condition))
                    {
                        routeProperties.Condition = this.Condition;
                    }
                    if (this.Enabled.IsPresent)
                    {
                        routeProperties.IsEnabled = this.Enabled.IsPresent;
                    }

                    this.IotHubClient.IotHubResource.CreateOrUpdate(this.ResourceGroupName, this.Name, iotHubDescription);
                    IotHubDescription updatedIotHubDescription = this.IotHubClient.IotHubResource.Get(this.ResourceGroupName, this.Name);
                    this.WriteObject(IotHubUtils.ToPSRouteMetadata(updatedIotHubDescription.Properties.Routing.Routes.FirstOrDefault(x => x.Name.Equals(this.RouteName, StringComparison.OrdinalIgnoreCase))), false);
                }
                else
                {
                    throw new ArgumentException("Entered route doesn't exist.");
                }
            }
        }
Exemple #3
0
        public override void ExecuteCmdlet()
        {
            if (ShouldProcess(this.RouteName, Properties.Resources.AddIotHubRoute))
            {
                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);
                }

                iotHubDescription.Properties.Routing.Routes.Add(
                    new RouteProperties(
                        this.RouteName,
                        this.Source.ToString(),
                        new List <string>()
                {
                    this.EndpointName
                },
                        this.Enabled.IsPresent,
                        string.IsNullOrEmpty(this.Condition) ? null : this.Condition
                        ));

                this.IotHubClient.IotHubResource.CreateOrUpdate(this.ResourceGroupName, this.Name, iotHubDescription);
                IotHubDescription updatedIotHubDescription = this.IotHubClient.IotHubResource.Get(this.ResourceGroupName, this.Name);
                this.WriteObject(IotHubUtils.ToPSRouteMetadata(updatedIotHubDescription.Properties.Routing.Routes.FirstOrDefault(x => x.Name.Equals(this.RouteName, StringComparison.OrdinalIgnoreCase))), false);
            }
        }