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); }); } }