/// <summary> /// The process record method. /// </summary> protected override void ProcessRecord() { ResponseType response = null; base.ProcessRecord(); try { var virtualListener = new createVirtualListener { networkDomainId = NetworkDomain.id, name = Name, description = Description, type = Type, protocol = Protocol, listenerIpAddress = IPAddress, port = Port.GetValueOrDefault(), portSpecified = Port.HasValue, enabled = Enabled, connectionLimit = ConnectionLimit, connectionRateLimit = ConnectionRateLimit, sourcePortPreservation = SourcePortPreservation, poolId = PoolId, clientClonePoolId = ClientClonePoolId, persistenceProfileId = PersistenceProfileId, fallbackPersistenceProfileId = FallbackPersistenceProfileId, optimizationProfile = OptimizationProfileId, iruleId = iRuleId }; response = Connection.ApiClient.Networking.VipVirtualListener.CreateVirtualListener(virtualListener).Result; } 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); }); } WriteObject(response); }
public async Task CreateVirtualListener_ReturnsResponse() { requestsAndResponses.Add(ApiUris.CreateVirtualListener(accountId), RequestFileResponseType.AsGoodResponse("CreateVirtualListenerResponse.xml")); var webApi = GetWebApiClient(); var createVirtualListener = new createVirtualListener { networkDomainId = Guid.NewGuid().ToString(), name = "NetworkNodeTest", description = "Descrioption", connectionLimit = 100, connectionRateLimit = 100 }; var virtualListener = new VipVirtualListenerAccessor(webApi); ResponseType domainResponse = await virtualListener.CreateVirtualListener(createVirtualListener); Assert.IsNotNull(domainResponse); Assert.AreEqual("OK", domainResponse.responseCode); Assert.AreEqual("CREATE_VIRTUAL_LISTENER", domainResponse.operation); Assert.IsNotNull(domainResponse.info.Any(q => q.name == "virtualListenerId")); Assert.IsNotNull(domainResponse.info.Any(q => q.name == "name")); Assert.IsNotNull(domainResponse.info.Any(q => q.name == "listenerIpAddress")); }
/// <summary> /// Creates a VirtualListener on a Network Domain in an MCP 2.0 data center location. /// </summary> /// <param name="virtualListener">The create virtual listener.</param> /// <returns>The async task of <see cref="ResponseType"/></returns> public async Task <ResponseType> CreateVirtualListener(createVirtualListener virtualListener) { return(await _api.PostAsync <createVirtualListener, ResponseType>(ApiUris.CreateVirtualListener(_api.OrganizationId), virtualListener)); }