Ejemplo n.º 1
0
 public static async Task <Status> CreateProbe(this IComputeApiClient client,
                                               string networkId,
                                               string name,
                                               ProbeType type,
                                               int port,
                                               int probeIntervalSeconds,
                                               int errorCountBeforeServerFail,
                                               int successCountBeforeServerEnable,
                                               int failedProbeIntervalSeconds,
                                               int maxReplyWaitSeconds,
                                               int statusCodeLowerBound,
                                               int statusCodeUpperBound,
                                               ProbeRequestMethod requestMethod,
                                               string requestUrl,
                                               string matchContent)
 {
     return
         (await
          client.NetworkingLegacy.NetworkVip.CreateProbe(
              networkId,
              name,
              type,
              port,
              probeIntervalSeconds,
              errorCountBeforeServerFail,
              successCountBeforeServerEnable,
              failedProbeIntervalSeconds,
              maxReplyWaitSeconds,
              statusCodeLowerBound,
              statusCodeUpperBound,
              requestMethod,
              requestUrl,
              matchContent));
 }
        /// <summary>
        /// The create probe.
        /// </summary>
        /// <param name="networkId">
        /// The network id.
        /// </param>
        /// <param name="name">
        /// The name.
        /// </param>
        /// <param name="type">
        /// The type.
        /// </param>
        /// <param name="port">
        /// The port.
        /// </param>
        /// <param name="probeIntervalSeconds">
        /// The probe interval seconds.
        /// </param>
        /// <param name="errorCountBeforeServerFail">
        /// The error count before server fail.
        /// </param>
        /// <param name="successCountBeforeServerEnable">
        /// The success count before server enable.
        /// </param>
        /// <param name="failedProbeIntervalSeconds">
        /// The failed probe interval seconds.
        /// </param>
        /// <param name="maxReplyWaitSeconds">
        /// The max reply wait seconds.
        /// </param>
        /// <param name="statusCodeLowerBound">
        /// The status code lower bound.
        /// </param>
        /// <param name="statusCodeUpperBound">
        /// The status code upper bound.
        /// </param>
        /// <param name="requestMethod">
        /// The request method.
        /// </param>
        /// <param name="requestUrl">
        /// The request url.
        /// </param>
        /// <param name="matchContent">
        /// The match content.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public async Task <Status> CreateProbe(string networkId,
                                               string name,
                                               ProbeType type,
                                               int port,
                                               int probeIntervalSeconds,
                                               int errorCountBeforeServerFail,
                                               int successCountBeforeServerEnable,
                                               int failedProbeIntervalSeconds,
                                               int maxReplyWaitSeconds,
                                               int statusCodeLowerBound,
                                               int statusCodeUpperBound,
                                               ProbeRequestMethod requestMethod,
                                               string requestUrl,
                                               string matchContent)
        {
            var probe = new NewProbe
            {
                name = name,
                type = type,
                probeIntervalSeconds           = probeIntervalSeconds.ToString(CultureInfo.InvariantCulture),
                errorCountBeforeServerFail     = errorCountBeforeServerFail.ToString(CultureInfo.InvariantCulture),
                successCountBeforeServerEnable = successCountBeforeServerEnable.ToString(CultureInfo.InvariantCulture),
                failedProbeIntervalSeconds     = failedProbeIntervalSeconds.ToString(CultureInfo.InvariantCulture),
                maxReplyWaitSeconds            = maxReplyWaitSeconds.ToString(CultureInfo.InvariantCulture),
            };

            if (type.Equals(ProbeType.HTTP) || type.Equals(ProbeType.HTTPS))
            {
                probe.statusCodeRange = new[]
                {
                    new ProbeStatusCodeRange
                    {
                        lowerBound = statusCodeLowerBound,
                        upperBound = statusCodeUpperBound
                    }
                };
                probe.requestMethod = requestMethod;
                probe.requestUrl    = requestUrl;
                probe.matchContent  = matchContent;
            }

            if (!port.Equals(0))
            {
                probe.port = port.ToString(CultureInfo.InvariantCulture);
            }


            Status status =
                await
                this._apiClient.PostAsync <NewProbe, Status>(
                    ApiUris.CreateOrGetVipProbes(this._apiClient.OrganizationId, networkId), probe);

            return(status);
        }
		/// <summary>
		/// Create a probe on the network VIP
		/// </summary>
		/// <param name="client">
		/// The <see cref="IComputeApiClient"/> object.
		/// </param>
		/// <param name="networkId">
		/// The network id
		/// </param>
		/// <param name="name">
		/// The real server name
		/// </param>
		/// <param name="type">
		/// </param>
		/// <param name="port">
		/// </param>
		/// <param name="probeIntervalSeconds">
		/// </param>
		/// <param name="errorCountBeforeServerFail">
		/// </param>
		/// <param name="successCountBeforeServerEnable">
		/// </param>
		/// <param name="failedProbeIntervalSeconds">
		/// </param>
		/// <param name="maxReplyWaitSeconds">
		/// </param>
		/// <param name="statusCodeLowerBound">
		/// </param>
		/// <param name="statusCodeUpperBound">
		/// </param>
		/// <param name="requestMethod">
		/// </param>
		/// <param name="requestUrl">
		/// </param>
		/// <param name="matchContent">
		/// </param>
		/// <returns>
		/// The <see cref="Task"/>.
		/// </returns>
		public static async Task<Status> CreateProbe(this IComputeApiClient client, 
			string networkId, 
			string name, 
			ProbeType type, 
			int port, 
			int probeIntervalSeconds, 
			int errorCountBeforeServerFail, 
			int successCountBeforeServerEnable, 
			int failedProbeIntervalSeconds, 
			int maxReplyWaitSeconds, 
			int statusCodeLowerBound, 
			int statusCodeUpperBound, 
			ProbeRequestMethod requestMethod, 
			string requestUrl, 
			string matchContent)
		{
			var probe = new NewProbe
			{
				name = name, 
				type = type, 
				probeIntervalSeconds = probeIntervalSeconds.ToString(CultureInfo.InvariantCulture), 
				errorCountBeforeServerFail = errorCountBeforeServerFail.ToString(CultureInfo.InvariantCulture), 
				successCountBeforeServerEnable = successCountBeforeServerEnable.ToString(CultureInfo.InvariantCulture), 
				failedProbeIntervalSeconds = failedProbeIntervalSeconds.ToString(CultureInfo.InvariantCulture), 
				maxReplyWaitSeconds = maxReplyWaitSeconds.ToString(CultureInfo.InvariantCulture), 
			};
			if (type.Equals(ProbeType.HTTP) || type.Equals(ProbeType.HTTPS))
			{
				probe.statusCodeRange = new[]
				{
       new ProbeStatusCodeRange {lowerBound = statusCodeLowerBound, upperBound = statusCodeUpperBound}
    };
				probe.requestMethod = requestMethod;
				probe.requestUrl = requestUrl;
				probe.matchContent = matchContent;
			}

			if (!port.Equals(0))
				probe.port = port.ToString(CultureInfo.InvariantCulture);


			Status status =
				await
					client.WebApi.ApiPostAsync<NewProbe, Status>(
						ApiUris.CreateOrGetVipProbes(client.Account.OrganizationId, networkId), probe);

			return status;
		}
		public static async Task<Status> CreateProbe(this IComputeApiClient client, 
			string networkId, 
			string name, 
			ProbeType type, 
			int port, 
			int probeIntervalSeconds, 
			int errorCountBeforeServerFail, 
			int successCountBeforeServerEnable, 
			int failedProbeIntervalSeconds, 
			int maxReplyWaitSeconds, 
			int statusCodeLowerBound, 
			int statusCodeUpperBound, 
			ProbeRequestMethod requestMethod, 
			string requestUrl, 
			string matchContent)
		{
			return
				await
				client.NetworkingLegacy.NetworkVip.CreateProbe(
					networkId,
					name,
					type,
					port,
					probeIntervalSeconds,
					errorCountBeforeServerFail,
					successCountBeforeServerEnable,
					failedProbeIntervalSeconds,
					maxReplyWaitSeconds,
					statusCodeLowerBound,
					statusCodeUpperBound,
					requestMethod,
					requestUrl,
					matchContent);
		}