Microsoft.Azure.Commands.Network.AddAzureVirtualNetworkGatewayIpConfigCommand.Execute C# (CSharp) Method

Execute() public method

public Execute ( ) : void
return void
        public override void Execute()
        {

            base.Execute();

            if (ShouldProcess(Name, Properties.Resources.AddingResourceMessage + Properties.Resources.VirtualNetworkGatewayIpConfigName))
            {
                // Get the subnetId and publicIpAddressId from the objects if specified
                if (string.Equals(ParameterSetName, "object"))
                {
                    if (Subnet != null)
                    {
                        this.SubnetId = this.Subnet.Id;
                    }
                    if (PublicIpAddress != null)
                    {
                        this.PublicIpAddressId = this.PublicIpAddress.Id;
                    }
                }

                var vnetGatewayIpConfig = new PSVirtualNetworkGatewayIpConfiguration();
                vnetGatewayIpConfig.Name = this.Name;

                if (!string.IsNullOrEmpty(this.SubnetId))
                {
                    vnetGatewayIpConfig.Subnet = new PSResourceId();
                    vnetGatewayIpConfig.Subnet.Id = this.SubnetId;
                }
                if (!string.IsNullOrEmpty(this.PrivateIpAddress))
                {
                    vnetGatewayIpConfig.PrivateIpAddress = this.PrivateIpAddress;
                    vnetGatewayIpConfig.PrivateIpAllocationMethod = Management.Network.Models.IPAllocationMethod.Static;
                }
                else
                {
                    vnetGatewayIpConfig.PrivateIpAllocationMethod = Management.Network.Models.IPAllocationMethod.Dynamic;
                }

                if (!string.IsNullOrEmpty(this.PublicIpAddressId))
                {
                    vnetGatewayIpConfig.PublicIpAddress = new PSResourceId();
                    vnetGatewayIpConfig.PublicIpAddress.Id = this.PublicIpAddressId;
                }

                vnetGatewayIpConfig.Id =
                    ChildResourceHelp.GetResourceNotSetId(
                        this.NetworkClient.NetworkManagementClient.SubscriptionId,
                        Properties.Resources.VirtualNetworkGatewayIpConfigName,
                        this.Name);

                if (this.VirtualNetworkGateway.IpConfigurations == null)
                {
                    this.VirtualNetworkGateway.IpConfigurations = new List<PSVirtualNetworkGatewayIpConfiguration>();
                }
                this.VirtualNetworkGateway.IpConfigurations.Add(vnetGatewayIpConfig);

                WriteObject(this.VirtualNetworkGateway);
            }
        }
    }
AddAzureVirtualNetworkGatewayIpConfigCommand