/// <summary>
        /// Updates the mutable properties of a VirtualListener.
        /// </summary>
        /// <param name="virtualListener">The edit virtualListener.</param>
        /// <returns>The async task of <see cref="ResponseType"/></returns>
        public async Task <ResponseType> EditVirtualListener(editVirtualListener virtualListener)
        {
            if (virtualListener.iruleId == null || virtualListener.iruleId.Length == 0)
            {
                virtualListener.iruleId = new string[] { null };
            }

            return(await _api.PostAsync <editVirtualListener, ResponseType>(ApiUris.EditVirtualListener(_api.OrganizationId), virtualListener));
        }
Example #2
0
        public async Task GetReservedPublicAddressesForNetworkDomain_ReturnsResponse()
        {
            requestsAndResponses.Add(ApiUris.GetReservedPublicAddresses(accountId, NetworkDomainId.ToString()), RequestFileResponseType.AsGoodResponse("GetReservedPublicAddresses.xml"));
            var webApi = GetWebApiClient();
            var ipAddressManagementAccessor = new IpAddressAccessor(webApi);

            var editVirtualListener = new editVirtualListener();

            var result = await ipAddressManagementAccessor.GetReservedPublicAddressesForNetworkDomain(NetworkDomainId);

            Assert.IsNotNull(result);
        }
Example #3
0
        public async Task EditVirtualListenerReturnsResponse()
        {
            requestsAndResponses.Add(ApiUris.EditVirtualListener(accountId), RequestFileResponseType.AsGoodResponse("EditVirtualListener.xml"));
            var webApi          = GetWebApiClient();
            var virtualListener = new VipVirtualListenerAccessor(webApi);

            var editVirtualListener = new editVirtualListener();

            var result = await virtualListener.EditVirtualListener(editVirtualListener);

            Assert.AreEqual("EDIT_VIRTUAL_LISTENER", result.operation);
            Assert.AreEqual("OK", result.responseCode);
        }
        /// <summary>
        ///     The process record method.
        /// </summary>
        protected override void ProcessRecord()
        {
            ResponseType response = null;

            base.ProcessRecord();
            try
            {
                var virtualListener = new editVirtualListener
                {
                    id                           = VirtualListener.id,
                    description                  = Description,
                    enabled                      = Enabled.GetValueOrDefault(),
                    enabledSpecified             = Enabled.HasValue,
                    connectionLimit              = ConnectionLimit,
                    connectionRateLimit          = ConnectionRateLimit,
                    sourcePortPreservation       = SourcePortPreservation,
                    poolId                       = PoolId.HasValue && PoolId.Value != Guid.Empty ? PoolId.Value.ToString() : null,
                    poolIdSpecified              = !PoolId.HasValue || PoolId.Value != Guid.Empty,
                    clientClonePoolId            = ClientClonePoolId.HasValue && ClientClonePoolId.Value != Guid.Empty ? ClientClonePoolId.Value.ToString() : null,
                    clientClonePoolIdSpecified   = !ClientClonePoolId.HasValue || ClientClonePoolId.Value != Guid.Empty,
                    persistenceProfileId         = PersistenceProfileId,
                    fallbackPersistenceProfileId = FallbackPersistenceProfileId,
                    optimizationProfile          = OptimizationProfileId,
                    iruleId                      = iRuleId
                };

                response = Connection.ApiClient.Networking.VipVirtualListener.EditVirtualListener(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);
        }
Example #5
0
        public async Task GetReservedPrivateAddressesForVlan_ReturnsResponse()
        {
            var vlanId = Guid.NewGuid();

            requestsAndResponses.Add(ApiUris.GetReservedPrivateAddresses(accountId, vlanId.ToString()), RequestFileResponseType.AsGoodResponse("GetReservedPrivateAddresses.xml"));
            var webApi = GetWebApiClient();
            var ipAddressManagementAccessor = new IpAddressAccessor(webApi);


            var editVirtualListener = new editVirtualListener();

            var result = await ipAddressManagementAccessor.GetReservedPrivateAddressesForVlan(vlanId);

            Assert.AreEqual(4, result.Count());
        }