private void CreatePublicIpOnMcp1Network()
        {
            Status status =
                Connection.ApiClient.NetworkingLegacy.Network.ReserveNetworkPublicIpAddressBlock(Network.id).Result;

            if (status != null)
            {
                if (status.additionalInformation != null && PassThru.IsPresent)
                {
                    var ipblock = new IpBlockType();


                    AdditionalInformation ipblockid =
                        status.additionalInformation.Single(info => info.name == "ipBlock.id");
                    if (ipblockid != null)
                    {
                        ipblock.id = ipblockid.value;
                    }

                    AdditionalInformation baseip =
                        status.additionalInformation.Single(info => info.name == "ipBlock.baseIp");
                    if (baseip != null)
                    {
                        ipblock.baseIp = baseip.value;
                    }

                    AdditionalInformation blocksize =
                        status.additionalInformation.Single(info => info.name == "ipBlock.size");
                    if (blocksize != null)
                    {
                        ipblock.subnetSize = int.Parse(blocksize.value);
                    }

                    ipblock.serverToVipConnectivity = false;
                    WriteObject(ipblock);
                }

                WriteDebug(
                    string.Format(
                        "{0} resulted in {1} ({2}): {3}",
                        status.operation,
                        status.result,
                        status.resultCode,
                        status.resultDetail));
            }
        }
        /// <summary>
        /// The process record.
        /// </summary>
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            try
            {
                Status status = Connection.ApiClient.ReserveNetworkPublicIpAddressBlock(Network.id).Result;
                if (status != null)
                {
                    if (status.additionalInformation != null && PassThru.IsPresent)
                    {
                        var ipblock = new IpBlockType();


                        AdditionalInformation ipblockid = status.additionalInformation.Single(info => info.name == "ipBlock.id");
                        if (ipblockid != null)
                        {
                            ipblock.id = ipblockid.value;
                        }

                        AdditionalInformation baseip = status.additionalInformation.Single(info => info.name == "ipBlock.baseIp");
                        if (baseip != null)
                        {
                            ipblock.baseIp = baseip.value;
                        }

                        AdditionalInformation blocksize = status.additionalInformation.Single(info => info.name == "ipBlock.size");
                        if (blocksize != null)
                        {
                            ipblock.subnetSize = int.Parse(blocksize.value);
                        }

                        ipblock.serverToVipConnectivity = false;
                        WriteObject(ipblock);
                    }

                    WriteDebug(
                        string.Format(
                            "{0} resulted in {1} ({2}): {3}",
                            status.operation,
                            status.result,
                            status.resultCode,
                            status.resultDetail));
                }
            }
            catch (AggregateException ae)
            {
                ae.Handle(
                    e =>
                {
                    if (e is ComputeApiException)
                    {
                        WriteError(new ErrorRecord(e, "-2", ErrorCategory.InvalidOperation, Connection));
                    }
                    else
                    {
// if (e is HttpRequestException)
                        ThrowTerminatingError(new ErrorRecord(e, "-1", ErrorCategory.ConnectionError, Connection));
                    }

                    return(true);
                });
            }
        }