github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/api_manager_health.go (about)

     1  /* Copyright © 2020 VMware, Inc. All Rights Reserved.
     2     SPDX-License-Identifier: BSD-2-Clause
     3  
     4     Generated by: https://github.com/swagger-api/swagger-codegen.git */
     5  
     6  package nsxt
     7  
     8  import (
     9  	"context"
    10  	"io/ioutil"
    11  	"net/http"
    12  	"net/url"
    13  	"strings"
    14  
    15  	"github.com/vmware/go-vmware-nsxt/administration"
    16  )
    17  
    18  // Linger please
    19  var (
    20  	_ context.Context
    21  )
    22  
    23  type NsxManagerHealthApiService service
    24  
    25  /*
    26  NsxManagerHealthApiService Gets Node health status
    27  Returns 200 if node is healthy and 503 if node is not
    28   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    29  
    30  @return NodeHealth
    31  */
    32  func (a *NsxManagerHealthApiService) GetNodeHealth(ctx context.Context) (administration.NodeHealth, *http.Response, error) {
    33  	var (
    34  		localVarHttpMethod  = strings.ToUpper("Get")
    35  		localVarPostBody    interface{}
    36  		localVarFileName    string
    37  		localVarFileBytes   []byte
    38  		localVarReturnValue administration.NodeHealth
    39  	)
    40  
    41  	// create path and map variables
    42  	localVarPath := a.client.cfg.BasePath + "/reverse-proxy/node/health"
    43  
    44  	localVarHeaderParams := make(map[string]string)
    45  	localVarQueryParams := url.Values{}
    46  	localVarFormParams := url.Values{}
    47  
    48  	// to determine the Content-Type header
    49  	localVarHttpContentTypes := []string{"application/json"}
    50  
    51  	// set Content-Type header
    52  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    53  	if localVarHttpContentType != "" {
    54  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    55  	}
    56  
    57  	// to determine the Accept header
    58  	localVarHttpHeaderAccepts := []string{"application/json"}
    59  
    60  	// set Accept header
    61  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    62  	if localVarHttpHeaderAccept != "" {
    63  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    64  	}
    65  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    66  	if err != nil {
    67  		return localVarReturnValue, nil, err
    68  	}
    69  
    70  	localVarHttpResponse, err := a.client.callAPI(r)
    71  	if err != nil || localVarHttpResponse == nil {
    72  		return localVarReturnValue, localVarHttpResponse, err
    73  	}
    74  
    75  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    76  	localVarHttpResponse.Body.Close()
    77  	if err != nil {
    78  		return localVarReturnValue, localVarHttpResponse, err
    79  	}
    80  
    81  	if localVarHttpResponse.StatusCode == 200 || localVarHttpResponse.StatusCode == 503 {
    82  		// If we succeed, return the data, otherwise pass on to decode error.
    83  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    84  		return localVarReturnValue, localVarHttpResponse, err
    85  	}
    86  
    87  	newErr := GenericSwaggerError{
    88  		body:  localVarBody,
    89  		error: localVarHttpResponse.Status,
    90  	}
    91  	return localVarReturnValue, localVarHttpResponse, newErr
    92  }