protected override void ProcessRecord() { base.ProcessRecord(); var loadBalancingRule = new PSLoadBalancingRule(); loadBalancingRule.Name = this.Name; loadBalancingRule.Protocol = this.Protocol; loadBalancingRule.FrontendPort = this.FrontendPort; loadBalancingRule.BackendPort = this.BackendPort; if (this.IdleTimeoutInMinutes > 0) { loadBalancingRule.IdleTimeoutInMinutes = this.IdleTimeoutInMinutes; } if (!string.IsNullOrEmpty(this.LoadDistribution)) { loadBalancingRule.LoadDistribution = this.LoadDistribution; } loadBalancingRule.EnableFloatingIP = this.EnableFloatingIP.IsPresent; if (!string.IsNullOrEmpty(this.BackendAddressPoolId)) { loadBalancingRule.BackendAddressPool = new PSResourceId(); loadBalancingRule.BackendAddressPool.Id = this.BackendAddressPoolId; } if (!string.IsNullOrEmpty(this.ProbeId)) { loadBalancingRule.Probe = new PSResourceId(); loadBalancingRule.Probe.Id = this.ProbeId; } if (!string.IsNullOrEmpty(this.FrontendIpConfigurationId)) { loadBalancingRule.FrontendIPConfiguration = new PSResourceId() { Id = this.FrontendIpConfigurationId }; } loadBalancingRule.Id = ChildResourceHelper.GetResourceNotSetId( this.NetworkClient.NetworkResourceProviderClient.Credentials.SubscriptionId, Microsoft.Azure.Commands.Network.Properties.Resources.LoadBalancerRuleName, this.Name); WriteObject(loadBalancingRule); }
public override void ExecuteCmdlet() { base.ExecuteCmdlet(); var existingLoadBalancingRule = this.LoadBalancer.LoadBalancingRules.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); if (existingLoadBalancingRule != null) { throw new ArgumentException("LoadBalancingRule with the specified name already exists"); } var loadBalancingRule = new PSLoadBalancingRule(); loadBalancingRule.Name = this.Name; loadBalancingRule.Protocol = this.Protocol; loadBalancingRule.FrontendPort = this.FrontendPort; loadBalancingRule.BackendPort = this.BackendPort; if (this.IdleTimeoutInMinutes > 0) { loadBalancingRule.IdleTimeoutInMinutes = this.IdleTimeoutInMinutes; } if (!string.IsNullOrEmpty(this.LoadDistribution)) { loadBalancingRule.LoadDistribution = this.LoadDistribution; } loadBalancingRule.EnableFloatingIP = this.EnableFloatingIP.IsPresent; if (!string.IsNullOrEmpty(this.BackendAddressPoolId)) { loadBalancingRule.BackendAddressPool = new PSResourceId(); loadBalancingRule.BackendAddressPool.Id = this.BackendAddressPoolId; } if (!string.IsNullOrEmpty(this.ProbeId)) { loadBalancingRule.Probe = new PSResourceId(); loadBalancingRule.Probe.Id = this.ProbeId; } if (!string.IsNullOrEmpty(this.FrontendIpConfigurationId)) { loadBalancingRule.FrontendIPConfiguration = new PSResourceId() { Id = this.FrontendIpConfigurationId }; } loadBalancingRule.Id = ChildResourceHelper.GetResourceId( this.NetworkClient.NetworkManagementClient.SubscriptionId, this.LoadBalancer.ResourceGroupName, this.LoadBalancer.Name, Microsoft.Azure.Commands.Network.Properties.Resources.LoadBalancerRuleName, this.Name); this.LoadBalancer.LoadBalancingRules.Add(loadBalancingRule); WriteObject(this.LoadBalancer); }
public override void Execute() { if (string.Equals(ParameterSetName, Microsoft.Azure.Commands.Network.Properties.Resources.SetByResource)) { if (this.FrontendIpConfiguration != null) { this.FrontendIpConfigurationId = this.FrontendIpConfiguration.Id; } if (this.BackendAddressPool != null) { this.BackendAddressPoolId = this.BackendAddressPool.Id; } if (this.Probe != null) { this.ProbeId = this.Probe.Id; } } var vLoadBalancingRules = new PSLoadBalancingRule(); vLoadBalancingRules.Protocol = this.Protocol; vLoadBalancingRules.LoadDistribution = this.LoadDistribution; vLoadBalancingRules.FrontendPort = this.FrontendPort; vLoadBalancingRules.BackendPort = this.BackendPort; vLoadBalancingRules.IdleTimeoutInMinutes = this.MyInvocation.BoundParameters.ContainsKey("IdleTimeoutInMinutes") ? this.IdleTimeoutInMinutes : 4; vLoadBalancingRules.EnableFloatingIP = this.EnableFloatingIP; vLoadBalancingRules.EnableTcpReset = this.EnableTcpReset; vLoadBalancingRules.DisableOutboundSNAT = this.DisableOutboundSNAT; vLoadBalancingRules.Name = this.Name; if (!string.IsNullOrEmpty(this.FrontendIpConfigurationId)) { // FrontendIPConfiguration if (vLoadBalancingRules.FrontendIPConfiguration == null) { vLoadBalancingRules.FrontendIPConfiguration = new PSResourceId(); } vLoadBalancingRules.FrontendIPConfiguration.Id = this.FrontendIpConfigurationId; } if (!string.IsNullOrEmpty(this.BackendAddressPoolId)) { // BackendAddressPool if (vLoadBalancingRules.BackendAddressPool == null) { vLoadBalancingRules.BackendAddressPool = new PSResourceId(); } vLoadBalancingRules.BackendAddressPool.Id = this.BackendAddressPoolId; } if (!string.IsNullOrEmpty(this.ProbeId)) { // Probe if (vLoadBalancingRules.Probe == null) { vLoadBalancingRules.Probe = new PSResourceId(); } vLoadBalancingRules.Probe.Id = this.ProbeId; } var generatedId = string.Format( "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Network/loadBalancers/{2}/{3}/{4}", this.NetworkClient.NetworkManagementClient.SubscriptionId, Microsoft.Azure.Commands.Network.Properties.Resources.ResourceGroupNotSet, Microsoft.Azure.Commands.Network.Properties.Resources.LoadBalancerNameNotSet, "LoadBalancingRules", this.Name); vLoadBalancingRules.Id = generatedId; WriteObject(vLoadBalancingRules, true); }
public override void Execute() { if (string.Equals(ParameterSetName, Microsoft.Azure.Commands.Network.Properties.Resources.SetByResource)) { if (this.FrontendIpConfiguration != null) { this.FrontendIpConfigurationId = this.FrontendIpConfiguration.Id; } if (this.BackendAddressPool != null && this.BackendAddressPool.Length > 0) { this.BackendAddressPoolId = new string[this.BackendAddressPool.Length]; for (int i = 0; i < this.BackendAddressPool.Length; i++) { this.BackendAddressPoolId[i] = this.BackendAddressPool[i].Id; } } if (this.Probe != null) { this.ProbeId = this.Probe.Id; } } var vLoadBalancingRules = new PSLoadBalancingRule(); vLoadBalancingRules.Protocol = this.Protocol; vLoadBalancingRules.LoadDistribution = this.LoadDistribution; vLoadBalancingRules.FrontendPort = this.FrontendPort; vLoadBalancingRules.BackendPort = this.BackendPort; vLoadBalancingRules.IdleTimeoutInMinutes = this.MyInvocation.BoundParameters.ContainsKey("IdleTimeoutInMinutes") ? this.IdleTimeoutInMinutes : 4; vLoadBalancingRules.EnableFloatingIP = this.EnableFloatingIP; vLoadBalancingRules.EnableTcpReset = this.EnableTcpReset; vLoadBalancingRules.DisableOutboundSNAT = this.DisableOutboundSNAT; vLoadBalancingRules.Name = this.Name; if (!string.IsNullOrEmpty(this.FrontendIpConfigurationId)) { // FrontendIPConfiguration if (vLoadBalancingRules.FrontendIPConfiguration == null) { vLoadBalancingRules.FrontendIPConfiguration = new PSResourceId(); } vLoadBalancingRules.FrontendIPConfiguration.Id = this.FrontendIpConfigurationId; } if (this.BackendAddressPoolId != null && this.BackendAddressPoolId.Length > 0) { if (this.BackendAddressPoolId.Length == 1) { // BackendAddressPool if (vLoadBalancingRules.BackendAddressPool == null) { vLoadBalancingRules.BackendAddressPool = new PSResourceId(); } vLoadBalancingRules.BackendAddressPool.Id = this.BackendAddressPoolId[0]; } else if (this.BackendAddressPoolId.Length == 2) { // BackendAddressPools if (vLoadBalancingRules.BackendAddressPools == null) { vLoadBalancingRules.BackendAddressPools = new List <PSResourceId>(); } foreach (string backendAddressPoolId in this.BackendAddressPoolId) { vLoadBalancingRules.BackendAddressPools.Add(new PSResourceId() { Id = backendAddressPoolId }); } } else { throw new AzPSArgumentException("BackendAddressPool cannot be more than 2", "BackendAddressPool"); } } if (!string.IsNullOrEmpty(this.ProbeId)) { // Probe if (vLoadBalancingRules.Probe == null) { vLoadBalancingRules.Probe = new PSResourceId(); } vLoadBalancingRules.Probe.Id = this.ProbeId; } var generatedId = string.Format( "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Network/loadBalancers/{2}/{3}/{4}", this.NetworkClient.NetworkManagementClient.SubscriptionId, Microsoft.Azure.Commands.Network.Properties.Resources.ResourceGroupNotSet, Microsoft.Azure.Commands.Network.Properties.Resources.LoadBalancerNameNotSet, "LoadBalancingRules", this.Name); vLoadBalancingRules.Id = generatedId; WriteObject(vLoadBalancingRules, true); }
public override void Execute() { var vLoadBalancingRulesIndex = this.LoadBalancer.LoadBalancingRules.IndexOf( this.LoadBalancer.LoadBalancingRules.SingleOrDefault( resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase))); if (vLoadBalancingRulesIndex == -1) { throw new ArgumentException("LoadBalancingRules with the specified name does not exist"); } if (string.Equals(ParameterSetName, Microsoft.Azure.Commands.Network.Properties.Resources.SetByResource)) { if (this.FrontendIpConfiguration != null) { this.FrontendIpConfigurationId = this.FrontendIpConfiguration.Id; } if (this.BackendAddressPool != null && this.BackendAddressPool.Length > 0) { this.BackendAddressPoolId = new string[this.BackendAddressPool.Length]; for (int i = 0; i < this.BackendAddressPool.Length; i++) { this.BackendAddressPoolId[i] = this.BackendAddressPool[i].Id; } } if (this.Probe != null) { this.ProbeId = this.Probe.Id; } } var vLoadBalancingRules = new PSLoadBalancingRule(); vLoadBalancingRules.Protocol = this.Protocol; vLoadBalancingRules.LoadDistribution = this.LoadDistribution; vLoadBalancingRules.FrontendPort = this.FrontendPort; vLoadBalancingRules.BackendPort = this.BackendPort; vLoadBalancingRules.IdleTimeoutInMinutes = this.MyInvocation.BoundParameters.ContainsKey("IdleTimeoutInMinutes") ? this.IdleTimeoutInMinutes : 4; vLoadBalancingRules.EnableFloatingIP = this.EnableFloatingIP; vLoadBalancingRules.EnableTcpReset = this.EnableTcpReset; vLoadBalancingRules.DisableOutboundSNAT = this.DisableOutboundSNAT; vLoadBalancingRules.Name = this.Name; if (!string.IsNullOrEmpty(this.FrontendIpConfigurationId)) { // FrontendIPConfiguration if (vLoadBalancingRules.FrontendIPConfiguration == null) { vLoadBalancingRules.FrontendIPConfiguration = new PSResourceId(); } vLoadBalancingRules.FrontendIPConfiguration.Id = this.FrontendIpConfigurationId; } if (this.BackendAddressPoolId != null && this.BackendAddressPoolId.Length > 0) { if (this.BackendAddressPoolId.Length == 1) { // BackendAddressPool if (vLoadBalancingRules.BackendAddressPool == null) { vLoadBalancingRules.BackendAddressPool = new PSResourceId(); } vLoadBalancingRules.BackendAddressPool.Id = this.BackendAddressPoolId[0]; } else if (this.BackendAddressPoolId.Length == 2) { // BackendAddressPools if (vLoadBalancingRules.BackendAddressPools == null) { vLoadBalancingRules.BackendAddressPools = new List <PSResourceId>(); } foreach (string backendAddressPoolId in this.BackendAddressPoolId) { vLoadBalancingRules.BackendAddressPools.Add(new PSResourceId() { Id = backendAddressPoolId }); } } else { throw new AzPSArgumentException("BackendAddressPool cannot be more than 2", "BackendAddressPool"); } } if (!string.IsNullOrEmpty(this.ProbeId)) { // Probe if (vLoadBalancingRules.Probe == null) { vLoadBalancingRules.Probe = new PSResourceId(); } vLoadBalancingRules.Probe.Id = this.ProbeId; } this.LoadBalancer.LoadBalancingRules[vLoadBalancingRulesIndex] = vLoadBalancingRules; WriteObject(this.LoadBalancer, true); }
public override void Execute() { var existingLoadBalancingRule = this.LoadBalancer.LoadBalancingRules.SingleOrDefault(resource => string.Equals(resource.Name, this.Name, System.StringComparison.CurrentCultureIgnoreCase)); if (existingLoadBalancingRule != null) { throw new ArgumentException("LoadBalancingRule with the specified name already exists"); } // LoadBalancingRules if (this.LoadBalancer.LoadBalancingRules == null) { this.LoadBalancer.LoadBalancingRules = new List <PSLoadBalancingRule>(); } if (string.Equals(ParameterSetName, Microsoft.Azure.Commands.Network.Properties.Resources.SetByResource)) { if (this.FrontendIpConfiguration != null) { this.FrontendIpConfigurationId = this.FrontendIpConfiguration.Id; } if (this.BackendAddressPool != null) { this.BackendAddressPoolId = this.BackendAddressPool.Id; } if (this.Probe != null) { this.ProbeId = this.Probe.Id; } } var vLoadBalancingRules = new PSLoadBalancingRule(); vLoadBalancingRules.Protocol = this.Protocol; vLoadBalancingRules.LoadDistribution = this.LoadDistribution; vLoadBalancingRules.FrontendPort = this.FrontendPort; vLoadBalancingRules.BackendPort = this.BackendPort; vLoadBalancingRules.IdleTimeoutInMinutes = this.MyInvocation.BoundParameters.ContainsKey("IdleTimeoutInMinutes") ? this.IdleTimeoutInMinutes : 4; vLoadBalancingRules.EnableFloatingIP = this.EnableFloatingIP; vLoadBalancingRules.EnableTcpReset = this.EnableTcpReset; vLoadBalancingRules.DisableOutboundSNAT = this.DisableOutboundSNAT; vLoadBalancingRules.Name = this.Name; if (!string.IsNullOrEmpty(this.FrontendIpConfigurationId)) { // FrontendIPConfiguration if (vLoadBalancingRules.FrontendIPConfiguration == null) { vLoadBalancingRules.FrontendIPConfiguration = new PSResourceId(); } vLoadBalancingRules.FrontendIPConfiguration.Id = this.FrontendIpConfigurationId; } if (!string.IsNullOrEmpty(this.BackendAddressPoolId)) { // BackendAddressPool if (vLoadBalancingRules.BackendAddressPool == null) { vLoadBalancingRules.BackendAddressPool = new PSResourceId(); } vLoadBalancingRules.BackendAddressPool.Id = this.BackendAddressPoolId; } if (!string.IsNullOrEmpty(this.ProbeId)) { // Probe if (vLoadBalancingRules.Probe == null) { vLoadBalancingRules.Probe = new PSResourceId(); } vLoadBalancingRules.Probe.Id = this.ProbeId; } var generatedId = string.Format( "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Network/loadBalancers/{2}/{3}/{4}", this.NetworkClient.NetworkManagementClient.SubscriptionId, this.LoadBalancer.ResourceGroupName, this.LoadBalancer.Name, "LoadBalancingRules", this.Name); vLoadBalancingRules.Id = generatedId; this.LoadBalancer.LoadBalancingRules.Add(vLoadBalancingRules); WriteObject(this.LoadBalancer, true); }