github.com/free5gc/openapi@v1.0.8/Nbsf_Management/api_pcf_bindings_collection.go (about)

     1  /*
     2   * Nbsf_Management
     3   *
     4   * Binding Support Management Service API. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
     5   *
     6   * API version: 1.1.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Nbsf_Management
    11  
    12  import (
    13  	"context"
    14  	"io/ioutil"
    15  	"net/http"
    16  	"net/url"
    17  	"strings"
    18  
    19  	"github.com/antihax/optional"
    20  
    21  	"github.com/free5gc/openapi"
    22  	"github.com/free5gc/openapi/models"
    23  )
    24  
    25  // Linger please
    26  var (
    27  	_ context.Context
    28  )
    29  
    30  type PCFBindingsCollectionApiService service
    31  
    32  /*
    33  PCFBindingsCollectionApiService Create a new Individual PCF binding information
    34   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    35   * @param pcfBinding
    36  @return models.PcfBinding
    37  */
    38  
    39  func (a *PCFBindingsCollectionApiService) CreatePCFBinding(ctx context.Context, pcfBinding models.PcfBinding) (models.PcfBinding, *http.Response, error) {
    40  	var (
    41  		localVarHTTPMethod   = strings.ToUpper("Post")
    42  		localVarPostBody     interface{}
    43  		localVarFormFileName string
    44  		localVarFileName     string
    45  		localVarFileBytes    []byte
    46  		localVarReturnValue  models.PcfBinding
    47  	)
    48  
    49  	// create path and map variables
    50  	localVarPath := a.client.cfg.BasePath() + "/pcfBindings"
    51  
    52  	localVarHeaderParams := make(map[string]string)
    53  	localVarQueryParams := url.Values{}
    54  	localVarFormParams := url.Values{}
    55  
    56  	localVarHTTPContentTypes := []string{"application/json"}
    57  
    58  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    59  
    60  	// to determine the Accept header
    61  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    62  
    63  	// set Accept header
    64  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    65  	if localVarHTTPHeaderAccept != "" {
    66  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    67  	}
    68  
    69  	// body params
    70  	localVarPostBody = &pcfBinding
    71  
    72  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    73  	if err != nil {
    74  		return localVarReturnValue, nil, err
    75  	}
    76  
    77  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    78  	if err != nil || localVarHTTPResponse == nil {
    79  		return localVarReturnValue, localVarHTTPResponse, err
    80  	}
    81  
    82  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
    83  	localVarHTTPResponse.Body.Close()
    84  	if err != nil {
    85  		return localVarReturnValue, localVarHTTPResponse, err
    86  	}
    87  
    88  	apiError := openapi.GenericOpenAPIError{
    89  		RawBody:     localVarBody,
    90  		ErrorStatus: localVarHTTPResponse.Status,
    91  	}
    92  
    93  	switch localVarHTTPResponse.StatusCode {
    94  	case 201:
    95  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
    96  		if err != nil {
    97  			apiError.ErrorStatus = err.Error()
    98  		}
    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.ExtProblemDetails
   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  }
   194  
   195  /*
   196  PCFBindingsCollectionApiService Read PCF Bindings information
   197   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   198   * @param optional nil or *GetPCFBindingsParamOpts - Optional Parameters:
   199   * @param "Ipv4Addr" (optional.String) -  The IPv4 Address of the served UE.
   200   * @param "Ipv6Prefix" (optional.Interface of string) -  The IPv6 Address of the served UE. The NF service consumer shall append '/128' to the IPv6 address in the attribute value. E.g. '2001:db8:85a3::8a2e:370:7334/128'.
   201   * @param "MacAddr48" (optional.String) -  The MAC Address of the served UE.
   202   * @param "Dnn" (optional.String) -  DNN.
   203   * @param "Supi" (optional.String) -  Subscription Permanent Identifier.
   204   * @param "Gpsi" (optional.String) -  Generic Public Subscription Identifier
   205   * @param "Snssai" (optional.Interface of Snssai) -  The identification of slice.
   206   * @param "IpDomain" (optional.String) -  The IPv4 address domain identifier.
   207   * @param "SuppFeat" (optional.String) -  To filter irrelevant responses related to unsupported features
   208  @return models.PcfBinding
   209  */
   210  
   211  type GetPCFBindingsParamOpts struct {
   212  	Ipv4Addr optional.String
   213  	// Ipv6Prefix optional.Interface
   214  	Ipv6Prefix optional.String
   215  	MacAddr48  optional.String
   216  	Dnn        optional.String
   217  	Supi       optional.String
   218  	Gpsi       optional.String
   219  	Snssai     optional.Interface
   220  	IpDomain   optional.String
   221  	SuppFeat   optional.String
   222  }
   223  
   224  func (a *PCFBindingsCollectionApiService) GetPCFBindings(ctx context.Context, localVarOptionals *GetPCFBindingsParamOpts) (models.PcfBinding, *http.Response, error) {
   225  	var (
   226  		localVarHTTPMethod   = strings.ToUpper("Get")
   227  		localVarPostBody     interface{}
   228  		localVarFormFileName string
   229  		localVarFileName     string
   230  		localVarFileBytes    []byte
   231  		localVarReturnValue  models.PcfBinding
   232  	)
   233  
   234  	// create path and map variables
   235  	localVarPath := a.client.cfg.BasePath() + "/pcfBindings"
   236  
   237  	localVarHeaderParams := make(map[string]string)
   238  	localVarQueryParams := url.Values{}
   239  	localVarFormParams := url.Values{}
   240  
   241  	if localVarOptionals != nil && localVarOptionals.Ipv4Addr.IsSet() && localVarOptionals.Ipv4Addr.Value() != "" {
   242  		localVarQueryParams.Add("ipv4Addr", openapi.ParameterToString(localVarOptionals.Ipv4Addr.Value(), ""))
   243  	}
   244  	if localVarOptionals != nil && localVarOptionals.Ipv6Prefix.IsSet() && localVarOptionals.Ipv6Prefix.Value() != "" {
   245  		localVarQueryParams.Add("ipv6Prefix", openapi.ParameterToString(localVarOptionals.Ipv6Prefix.Value(), ""))
   246  	}
   247  	if localVarOptionals != nil && localVarOptionals.MacAddr48.IsSet() && localVarOptionals.MacAddr48.Value() != "" {
   248  		localVarQueryParams.Add("macAddr48", openapi.ParameterToString(localVarOptionals.MacAddr48.Value(), ""))
   249  	}
   250  	if localVarOptionals != nil && localVarOptionals.Dnn.IsSet() && localVarOptionals.Dnn.Value() != "" {
   251  		localVarQueryParams.Add("dnn", openapi.ParameterToString(localVarOptionals.Dnn.Value(), ""))
   252  	}
   253  	if localVarOptionals != nil && localVarOptionals.Supi.IsSet() && localVarOptionals.Supi.Value() != "" {
   254  		localVarQueryParams.Add("supi", openapi.ParameterToString(localVarOptionals.Supi.Value(), ""))
   255  	}
   256  	if localVarOptionals != nil && localVarOptionals.Gpsi.IsSet() && localVarOptionals.Gpsi.Value() != "" {
   257  		localVarQueryParams.Add("gpsi", openapi.ParameterToString(localVarOptionals.Gpsi.Value(), ""))
   258  	}
   259  	if localVarOptionals != nil && localVarOptionals.Snssai.IsSet() && localVarOptionals.Snssai.Value() != "" {
   260  		localVarQueryParams.Add("snssai", openapi.ParameterToString(localVarOptionals.Snssai.Value(), ""))
   261  	}
   262  	if localVarOptionals != nil && localVarOptionals.IpDomain.IsSet() && localVarOptionals.IpDomain.Value() != "" {
   263  		localVarQueryParams.Add("ipDomain", openapi.ParameterToString(localVarOptionals.IpDomain.Value(), ""))
   264  	}
   265  	if localVarOptionals != nil && localVarOptionals.SuppFeat.IsSet() && localVarOptionals.SuppFeat.Value() != "" {
   266  		localVarQueryParams.Add("supp-feat", openapi.ParameterToString(localVarOptionals.SuppFeat.Value(), ""))
   267  	}
   268  
   269  	localVarHTTPContentTypes := []string{"application/json"}
   270  
   271  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
   272  
   273  	// to determine the Accept header
   274  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
   275  
   276  	// set Accept header
   277  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
   278  	if localVarHTTPHeaderAccept != "" {
   279  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   280  	}
   281  
   282  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   283  	if err != nil {
   284  		return localVarReturnValue, nil, err
   285  	}
   286  
   287  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
   288  	if err != nil || localVarHTTPResponse == nil {
   289  		return localVarReturnValue, localVarHTTPResponse, err
   290  	}
   291  
   292  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
   293  	localVarHTTPResponse.Body.Close()
   294  	if err != nil {
   295  		return localVarReturnValue, localVarHTTPResponse, err
   296  	}
   297  
   298  	apiError := openapi.GenericOpenAPIError{
   299  		RawBody:     localVarBody,
   300  		ErrorStatus: localVarHTTPResponse.Status,
   301  	}
   302  
   303  	switch localVarHTTPResponse.StatusCode {
   304  	case 200:
   305  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   306  		if err != nil {
   307  			apiError.ErrorStatus = err.Error()
   308  		}
   309  		return localVarReturnValue, localVarHTTPResponse, nil
   310  	case 204:
   311  		return localVarReturnValue, localVarHTTPResponse, nil
   312  	case 400:
   313  		var v models.ProblemDetails
   314  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   315  		if err != nil {
   316  			apiError.ErrorStatus = err.Error()
   317  			return localVarReturnValue, localVarHTTPResponse, apiError
   318  		}
   319  		apiError.ErrorModel = v
   320  		return localVarReturnValue, localVarHTTPResponse, apiError
   321  	case 401:
   322  		var v models.ProblemDetails
   323  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   324  		if err != nil {
   325  			apiError.ErrorStatus = err.Error()
   326  			return localVarReturnValue, localVarHTTPResponse, apiError
   327  		}
   328  		apiError.ErrorModel = v
   329  		return localVarReturnValue, localVarHTTPResponse, apiError
   330  	case 403:
   331  		var v models.ProblemDetails
   332  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   333  		if err != nil {
   334  			apiError.ErrorStatus = err.Error()
   335  			return localVarReturnValue, localVarHTTPResponse, apiError
   336  		}
   337  		apiError.ErrorModel = v
   338  		return localVarReturnValue, localVarHTTPResponse, apiError
   339  	case 404:
   340  		var v models.ProblemDetails
   341  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   342  		if err != nil {
   343  			apiError.ErrorStatus = err.Error()
   344  			return localVarReturnValue, localVarHTTPResponse, apiError
   345  		}
   346  		apiError.ErrorModel = v
   347  		return localVarReturnValue, localVarHTTPResponse, apiError
   348  	case 406:
   349  		return localVarReturnValue, localVarHTTPResponse, nil
   350  	case 414:
   351  		var v models.ProblemDetails
   352  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   353  		if err != nil {
   354  			apiError.ErrorStatus = err.Error()
   355  			return localVarReturnValue, localVarHTTPResponse, apiError
   356  		}
   357  		apiError.ErrorModel = v
   358  		return localVarReturnValue, localVarHTTPResponse, apiError
   359  	case 429:
   360  		var v models.ProblemDetails
   361  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   362  		if err != nil {
   363  			apiError.ErrorStatus = err.Error()
   364  			return localVarReturnValue, localVarHTTPResponse, apiError
   365  		}
   366  		apiError.ErrorModel = v
   367  		return localVarReturnValue, localVarHTTPResponse, apiError
   368  	case 500:
   369  		var v models.ProblemDetails
   370  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   371  		if err != nil {
   372  			apiError.ErrorStatus = err.Error()
   373  			return localVarReturnValue, localVarHTTPResponse, apiError
   374  		}
   375  		apiError.ErrorModel = v
   376  		return localVarReturnValue, localVarHTTPResponse, apiError
   377  	case 503:
   378  		var v models.ProblemDetails
   379  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   380  		if err != nil {
   381  			apiError.ErrorStatus = err.Error()
   382  			return localVarReturnValue, localVarHTTPResponse, apiError
   383  		}
   384  		apiError.ErrorModel = v
   385  		return localVarReturnValue, localVarHTTPResponse, apiError
   386  	default:
   387  		return localVarReturnValue, localVarHTTPResponse, nil
   388  	}
   389  }