github.com/free5gc/openapi@v1.0.8/Npcf_BDTPolicyControl/api_bdt_policies_collection.go (about)

     1  /*
     2   * Npcf_BDTPolicyControl Service API
     3   *
     4   * The Npcf_BDTPolicyControl Service is used by an NF service consumer to retrieve background data transfer policies from the PCF and to update the PCF with the background data transfer policy selected by the NF service consumer.
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Npcf_BDTPolicyControl
    11  
    12  import (
    13  	"context"
    14  	"io/ioutil"
    15  	"net/http"
    16  	"net/url"
    17  	"strings"
    18  
    19  	"github.com/free5gc/openapi"
    20  	"github.com/free5gc/openapi/models"
    21  )
    22  
    23  // Linger please
    24  var (
    25  	_ context.Context
    26  )
    27  
    28  type BDTPoliciesCollectionApiService service
    29  
    30  /*
    31   BDTPoliciesCollectionApiService Create a new Individual BDT policy
    32    * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33    * @param bdtReqData Contains information for the creation of a new Individual BDT policy resource.
    34   @return models.BdtPolicy
    35  */
    36  
    37  func (a *BDTPoliciesCollectionApiService) CreateBDTPolicy(ctx context.Context, bdtReqData models.BdtReqData) (models.BdtPolicy, *http.Response, error) {
    38  	var (
    39  		localVarHTTPMethod   = strings.ToUpper("Post")
    40  		localVarPostBody     interface{}
    41  		localVarFormFileName string
    42  		localVarFileName     string
    43  		localVarFileBytes    []byte
    44  		localVarReturnValue  models.BdtPolicy
    45  	)
    46  
    47  	// create path and map variables
    48  	localVarPath := a.client.cfg.BasePath() + "/bdtpolicies"
    49  
    50  	localVarHeaderParams := make(map[string]string)
    51  	localVarQueryParams := url.Values{}
    52  	localVarFormParams := url.Values{}
    53  
    54  	localVarHTTPContentTypes := []string{"application/json"}
    55  
    56  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    57  
    58  	// to determine the Accept header
    59  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    60  
    61  	// set Accept header
    62  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    63  	if localVarHTTPHeaderAccept != "" {
    64  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    65  	}
    66  
    67  	// body params
    68  	localVarPostBody = &bdtReqData
    69  
    70  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    71  	if err != nil {
    72  		return localVarReturnValue, nil, err
    73  	}
    74  
    75  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    76  	if err != nil || localVarHTTPResponse == nil {
    77  		return localVarReturnValue, localVarHTTPResponse, err
    78  	}
    79  
    80  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
    81  	localVarHTTPResponse.Body.Close()
    82  	if err != nil {
    83  		return localVarReturnValue, localVarHTTPResponse, err
    84  	}
    85  
    86  	apiError := openapi.GenericOpenAPIError{
    87  		RawBody:     localVarBody,
    88  		ErrorStatus: localVarHTTPResponse.Status,
    89  	}
    90  
    91  	switch localVarHTTPResponse.StatusCode {
    92  	case 201:
    93  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
    94  		if err != nil {
    95  			apiError.ErrorStatus = err.Error()
    96  		}
    97  		return localVarReturnValue, localVarHTTPResponse, nil
    98  	case 303:
    99  		return localVarReturnValue, localVarHTTPResponse, nil
   100  	case 400:
   101  		var v models.ProblemDetails
   102  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   103  		if err != nil {
   104  			apiError.ErrorStatus = err.Error()
   105  			return localVarReturnValue, localVarHTTPResponse, apiError
   106  		}
   107  		apiError.ErrorModel = v
   108  		return localVarReturnValue, localVarHTTPResponse, apiError
   109  	case 401:
   110  		var v models.ProblemDetails
   111  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   112  		if err != nil {
   113  			apiError.ErrorStatus = err.Error()
   114  			return localVarReturnValue, localVarHTTPResponse, apiError
   115  		}
   116  		apiError.ErrorModel = v
   117  		return localVarReturnValue, localVarHTTPResponse, apiError
   118  	case 403:
   119  		var v models.ProblemDetails
   120  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   121  		if err != nil {
   122  			apiError.ErrorStatus = err.Error()
   123  			return localVarReturnValue, localVarHTTPResponse, apiError
   124  		}
   125  		apiError.ErrorModel = v
   126  		return localVarReturnValue, localVarHTTPResponse, apiError
   127  	case 404:
   128  		var v models.ProblemDetails
   129  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   130  		if err != nil {
   131  			apiError.ErrorStatus = err.Error()
   132  			return localVarReturnValue, localVarHTTPResponse, apiError
   133  		}
   134  		apiError.ErrorModel = v
   135  		return localVarReturnValue, localVarHTTPResponse, apiError
   136  	case 411:
   137  		var v models.ProblemDetails
   138  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   139  		if err != nil {
   140  			apiError.ErrorStatus = err.Error()
   141  			return localVarReturnValue, localVarHTTPResponse, apiError
   142  		}
   143  		apiError.ErrorModel = v
   144  		return localVarReturnValue, localVarHTTPResponse, apiError
   145  	case 413:
   146  		var v models.ProblemDetails
   147  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   148  		if err != nil {
   149  			apiError.ErrorStatus = err.Error()
   150  			return localVarReturnValue, localVarHTTPResponse, apiError
   151  		}
   152  		apiError.ErrorModel = v
   153  		return localVarReturnValue, localVarHTTPResponse, apiError
   154  	case 415:
   155  		var v models.ProblemDetails
   156  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   157  		if err != nil {
   158  			apiError.ErrorStatus = err.Error()
   159  			return localVarReturnValue, localVarHTTPResponse, apiError
   160  		}
   161  		apiError.ErrorModel = v
   162  		return localVarReturnValue, localVarHTTPResponse, apiError
   163  	case 429:
   164  		var v models.ProblemDetails
   165  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   166  		if err != nil {
   167  			apiError.ErrorStatus = err.Error()
   168  			return localVarReturnValue, localVarHTTPResponse, apiError
   169  		}
   170  		apiError.ErrorModel = v
   171  		return localVarReturnValue, localVarHTTPResponse, apiError
   172  	case 500:
   173  		var v models.ProblemDetails
   174  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   175  		if err != nil {
   176  			apiError.ErrorStatus = err.Error()
   177  			return localVarReturnValue, localVarHTTPResponse, apiError
   178  		}
   179  		apiError.ErrorModel = v
   180  		return localVarReturnValue, localVarHTTPResponse, apiError
   181  	case 503:
   182  		var v models.ProblemDetails
   183  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   184  		if err != nil {
   185  			apiError.ErrorStatus = err.Error()
   186  			return localVarReturnValue, localVarHTTPResponse, apiError
   187  		}
   188  		apiError.ErrorModel = v
   189  		return localVarReturnValue, localVarHTTPResponse, apiError
   190  	default:
   191  		return localVarReturnValue, localVarHTTPResponse, nil
   192  	}
   193  }