/// <summary>
        /// Updates an alert target
        /// </summary>
        /// <param name="targetId"></param>
        /// <param name="body"></param>
        /// <returns></returns>
        public void UpdateTarget(long?targetId, AlertTargetSwagger body)
        {
            // verify the required parameter 'targetId' is set
            if (targetId == null)
            {
                throw new ApiException(400, "Missing required parameter 'targetId' when calling UpdateTarget");
            }


            var path = "/alert_targets/{targetId}";

            path = path.Replace("{format}", "json");
            path = path.Replace("{" + "targetId" + "}", ApiClient.ParameterToString(targetId));

            var    queryParams  = new Dictionary <String, String>();
            var    headerParams = new Dictionary <String, String>();
            var    formParams   = new Dictionary <String, String>();
            var    fileParams   = new Dictionary <String, FileParameter>();
            String postBody     = null;

            postBody = ApiClient.Serialize(body);                                     // http body (model) parameter

            // authentication setting, if any
            String[] authSettings = new String[] {  };

            // make the HTTP request
            IRestResponse response = (IRestResponse)ApiClient.CallApi(path, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, authSettings);

            if (((int)response.StatusCode) >= 400)
            {
                throw new ApiException((int)response.StatusCode, "Error calling UpdateTarget: " + response.Content, response.Content);
            }
            else if (((int)response.StatusCode) == 0)
            {
                throw new ApiException((int)response.StatusCode, "Error calling UpdateTarget: " + response.ErrorMessage, response.ErrorMessage);
            }

            return;
        }
        /// <summary>
        /// Creates an alert target
        /// </summary>
        /// <param name="body"></param>
        /// <param name="validateConfig"></param>
        /// <param name="overwriteExisting"></param>
        /// <returns></returns>
        public void CreateTarget(AlertTargetSwagger body, string validateConfig, string overwriteExisting)
        {
            var path = "/alert_targets";

            path = path.Replace("{format}", "json");

            var    queryParams  = new Dictionary <String, String>();
            var    headerParams = new Dictionary <String, String>();
            var    formParams   = new Dictionary <String, String>();
            var    fileParams   = new Dictionary <String, FileParameter>();
            String postBody     = null;

            if (validateConfig != null)
            {
                queryParams.Add("validate_config", ApiClient.ParameterToString(validateConfig));                          // query parameter
            }
            if (overwriteExisting != null)
            {
                queryParams.Add("overwrite_existing", ApiClient.ParameterToString(overwriteExisting)); // query parameter
            }
            postBody = ApiClient.Serialize(body);                                                      // http body (model) parameter

            // authentication setting, if any
            String[] authSettings = new String[] {  };

            // make the HTTP request
            IRestResponse response = (IRestResponse)ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, authSettings);

            if (((int)response.StatusCode) >= 400)
            {
                throw new ApiException((int)response.StatusCode, "Error calling CreateTarget: " + response.Content, response.Content);
            }
            else if (((int)response.StatusCode) == 0)
            {
                throw new ApiException((int)response.StatusCode, "Error calling CreateTarget: " + response.ErrorMessage, response.ErrorMessage);
            }

            return;
        }