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

     1  /* Copyright © 2017 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  	"encoding/json"
    11  	"fmt"
    12  	"github.com/vmware/go-vmware-nsxt/manager"
    13  	"net/http"
    14  	"net/url"
    15  	"strings"
    16  )
    17  
    18  // Linger please
    19  var (
    20  	_ context.Context
    21  )
    22  
    23  type LogicalRoutingAndServicesApiService service
    24  
    25  /* LogicalRoutingAndServicesApiService Add a new BGP Neighbor on a Logical Router
    26  Add a new BGP Neighbor on a Logical Router
    27  * @param ctx context.Context Authentication Context
    28  @param logicalRouterId
    29  @param bgpNeighbor
    30  @return manager.BgpNeighbor*/
    31  func (a *LogicalRoutingAndServicesApiService) AddBgpNeighbor(ctx context.Context, logicalRouterId string, bgpNeighbor manager.BgpNeighbor) (manager.BgpNeighbor, *http.Response, error) {
    32  	var (
    33  		localVarHttpMethod = strings.ToUpper("Post")
    34  		localVarPostBody   interface{}
    35  		localVarFileName   string
    36  		localVarFileBytes  []byte
    37  		successPayload     manager.BgpNeighbor
    38  	)
    39  
    40  	// create path and map variables
    41  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp/neighbors"
    42  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
    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{
    59  		"application/json",
    60  	}
    61  
    62  	// set Accept header
    63  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    64  	if localVarHttpHeaderAccept != "" {
    65  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    66  	}
    67  	// body params
    68  	localVarPostBody = &bgpNeighbor
    69  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    70  	if err != nil {
    71  		return successPayload, nil, err
    72  	}
    73  
    74  	localVarHttpResponse, err := a.client.callAPI(r)
    75  	if err != nil || localVarHttpResponse == nil {
    76  		return successPayload, localVarHttpResponse, err
    77  	}
    78  	defer localVarHttpResponse.Body.Close()
    79  	if localVarHttpResponse.StatusCode >= 300 {
    80  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
    81  	}
    82  
    83  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
    84  		return successPayload, localVarHttpResponse, err
    85  	}
    86  
    87  	return successPayload, localVarHttpResponse, err
    88  }
    89  
    90  /* LogicalRoutingAndServicesApiService Add IPPrefixList on a Logical Router
    91  Adds a new IPPrefixList on a Logical Router
    92  * @param ctx context.Context Authentication Context
    93  @param logicalRouterId
    94  @param iPPrefixList
    95  @return manager.IpPrefixList*/
    96  func (a *LogicalRoutingAndServicesApiService) AddIPPrefixList(ctx context.Context, logicalRouterId string, iPPrefixList manager.IpPrefixList) (manager.IpPrefixList, *http.Response, error) {
    97  	var (
    98  		localVarHttpMethod = strings.ToUpper("Post")
    99  		localVarPostBody   interface{}
   100  		localVarFileName   string
   101  		localVarFileBytes  []byte
   102  		successPayload     manager.IpPrefixList
   103  	)
   104  
   105  	// create path and map variables
   106  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/ip-prefix-lists"
   107  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
   108  
   109  	localVarHeaderParams := make(map[string]string)
   110  	localVarQueryParams := url.Values{}
   111  	localVarFormParams := url.Values{}
   112  
   113  	// to determine the Content-Type header
   114  	localVarHttpContentTypes := []string{"application/json"}
   115  
   116  	// set Content-Type header
   117  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   118  	if localVarHttpContentType != "" {
   119  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   120  	}
   121  
   122  	// to determine the Accept header
   123  	localVarHttpHeaderAccepts := []string{
   124  		"application/json",
   125  	}
   126  
   127  	// set Accept header
   128  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   129  	if localVarHttpHeaderAccept != "" {
   130  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   131  	}
   132  	// body params
   133  	localVarPostBody = &iPPrefixList
   134  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   135  	if err != nil {
   136  		return successPayload, nil, err
   137  	}
   138  
   139  	localVarHttpResponse, err := a.client.callAPI(r)
   140  	if err != nil || localVarHttpResponse == nil {
   141  		return successPayload, localVarHttpResponse, err
   142  	}
   143  	defer localVarHttpResponse.Body.Close()
   144  	if localVarHttpResponse.StatusCode >= 300 {
   145  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   146  	}
   147  
   148  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   149  		return successPayload, localVarHttpResponse, err
   150  	}
   151  
   152  	return successPayload, localVarHttpResponse, err
   153  }
   154  
   155  /* LogicalRoutingAndServicesApiService Add a NAT rule in a specific logical router
   156  Add a NAT rule in a specific logical router.
   157  * @param ctx context.Context Authentication Context
   158  @param logicalRouterId
   159  @param natRule
   160  @return manager.NatRule*/
   161  func (a *LogicalRoutingAndServicesApiService) AddNatRule(ctx context.Context, logicalRouterId string, natRule manager.NatRule) (manager.NatRule, *http.Response, error) {
   162  	var (
   163  		localVarHttpMethod = strings.ToUpper("Post")
   164  		localVarPostBody   interface{}
   165  		localVarFileName   string
   166  		localVarFileBytes  []byte
   167  		successPayload     manager.NatRule
   168  	)
   169  
   170  	// create path and map variables
   171  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/nat/rules"
   172  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
   173  
   174  	localVarHeaderParams := make(map[string]string)
   175  	localVarQueryParams := url.Values{}
   176  	localVarFormParams := url.Values{}
   177  
   178  	// to determine the Content-Type header
   179  	localVarHttpContentTypes := []string{"application/json"}
   180  
   181  	// set Content-Type header
   182  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   183  	if localVarHttpContentType != "" {
   184  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   185  	}
   186  
   187  	// to determine the Accept header
   188  	localVarHttpHeaderAccepts := []string{
   189  		"application/json",
   190  	}
   191  
   192  	// set Accept header
   193  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   194  	if localVarHttpHeaderAccept != "" {
   195  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   196  	}
   197  	// body params
   198  	localVarPostBody = &natRule
   199  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   200  	if err != nil {
   201  		return successPayload, nil, err
   202  	}
   203  
   204  	localVarHttpResponse, err := a.client.callAPI(r)
   205  	if err != nil || localVarHttpResponse == nil {
   206  		return successPayload, localVarHttpResponse, err
   207  	}
   208  	defer localVarHttpResponse.Body.Close()
   209  	if localVarHttpResponse.StatusCode >= 300 {
   210  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   211  	}
   212  
   213  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   214  		return successPayload, localVarHttpResponse, err
   215  	}
   216  
   217  	return successPayload, localVarHttpResponse, err
   218  }
   219  
   220  /* LogicalRoutingAndServicesApiService Add manager.RouteMap on a Logical Router
   221  Adds a new manager.RouteMap on a Logical Router
   222  * @param ctx context.Context Authentication Context
   223  @param logicalRouterId
   224  @param routeMap
   225  @return manager.RouteMap*/
   226  func (a *LogicalRoutingAndServicesApiService) AddRouteMap(ctx context.Context, logicalRouterId string, routeMap manager.RouteMap) (manager.RouteMap, *http.Response, error) {
   227  	var (
   228  		localVarHttpMethod = strings.ToUpper("Post")
   229  		localVarPostBody   interface{}
   230  		localVarFileName   string
   231  		localVarFileBytes  []byte
   232  		successPayload     manager.RouteMap
   233  	)
   234  
   235  	// create path and map variables
   236  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/route-maps"
   237  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
   238  
   239  	localVarHeaderParams := make(map[string]string)
   240  	localVarQueryParams := url.Values{}
   241  	localVarFormParams := url.Values{}
   242  
   243  	// to determine the Content-Type header
   244  	localVarHttpContentTypes := []string{"application/json"}
   245  
   246  	// set Content-Type header
   247  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   248  	if localVarHttpContentType != "" {
   249  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   250  	}
   251  
   252  	// to determine the Accept header
   253  	localVarHttpHeaderAccepts := []string{
   254  		"application/json",
   255  	}
   256  
   257  	// set Accept header
   258  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   259  	if localVarHttpHeaderAccept != "" {
   260  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   261  	}
   262  	// body params
   263  	localVarPostBody = &routeMap
   264  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   265  	if err != nil {
   266  		return successPayload, nil, err
   267  	}
   268  
   269  	localVarHttpResponse, err := a.client.callAPI(r)
   270  	if err != nil || localVarHttpResponse == nil {
   271  		return successPayload, localVarHttpResponse, err
   272  	}
   273  	defer localVarHttpResponse.Body.Close()
   274  	if localVarHttpResponse.StatusCode >= 300 {
   275  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   276  	}
   277  
   278  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   279  		return successPayload, localVarHttpResponse, err
   280  	}
   281  
   282  	return successPayload, localVarHttpResponse, err
   283  }
   284  
   285  /* LogicalRoutingAndServicesApiService Add Static Routes on a Logical Router
   286  Adds a new static route on a Logical Router
   287  * @param ctx context.Context Authentication Context
   288  @param logicalRouterId
   289  @param staticRoute
   290  @return manager.StaticRoute*/
   291  func (a *LogicalRoutingAndServicesApiService) AddStaticRoute(ctx context.Context, logicalRouterId string, staticRoute manager.StaticRoute) (manager.StaticRoute, *http.Response, error) {
   292  	var (
   293  		localVarHttpMethod = strings.ToUpper("Post")
   294  		localVarPostBody   interface{}
   295  		localVarFileName   string
   296  		localVarFileBytes  []byte
   297  		successPayload     manager.StaticRoute
   298  	)
   299  
   300  	// create path and map variables
   301  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes"
   302  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
   303  
   304  	localVarHeaderParams := make(map[string]string)
   305  	localVarQueryParams := url.Values{}
   306  	localVarFormParams := url.Values{}
   307  
   308  	// to determine the Content-Type header
   309  	localVarHttpContentTypes := []string{"application/json"}
   310  
   311  	// set Content-Type header
   312  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   313  	if localVarHttpContentType != "" {
   314  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   315  	}
   316  
   317  	// to determine the Accept header
   318  	localVarHttpHeaderAccepts := []string{
   319  		"application/json",
   320  	}
   321  
   322  	// set Accept header
   323  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   324  	if localVarHttpHeaderAccept != "" {
   325  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   326  	}
   327  	// body params
   328  	localVarPostBody = &staticRoute
   329  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   330  	if err != nil {
   331  		return successPayload, nil, err
   332  	}
   333  
   334  	localVarHttpResponse, err := a.client.callAPI(r)
   335  	if err != nil || localVarHttpResponse == nil {
   336  		return successPayload, localVarHttpResponse, err
   337  	}
   338  	defer localVarHttpResponse.Body.Close()
   339  	if localVarHttpResponse.StatusCode >= 300 {
   340  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   341  	}
   342  
   343  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   344  		return successPayload, localVarHttpResponse, err
   345  	}
   346  
   347  	return successPayload, localVarHttpResponse, err
   348  }
   349  
   350  /* LogicalRoutingAndServicesApiService Create a DHCP Relay Service
   351  Creates a dhcp relay service.
   352  * @param ctx context.Context Authentication Context
   353  @param dhcpRelayService
   354  @return manager.DhcpRelayService*/
   355  func (a *LogicalRoutingAndServicesApiService) CreateDhcpRelay(ctx context.Context, dhcpRelayService manager.DhcpRelayService) (manager.DhcpRelayService, *http.Response, error) {
   356  	var (
   357  		localVarHttpMethod = strings.ToUpper("Post")
   358  		localVarPostBody   interface{}
   359  		localVarFileName   string
   360  		localVarFileBytes  []byte
   361  		successPayload     manager.DhcpRelayService
   362  	)
   363  
   364  	// create path and map variables
   365  	localVarPath := a.client.cfg.BasePath + "/dhcp/relays"
   366  
   367  	localVarHeaderParams := make(map[string]string)
   368  	localVarQueryParams := url.Values{}
   369  	localVarFormParams := url.Values{}
   370  
   371  	// to determine the Content-Type header
   372  	localVarHttpContentTypes := []string{"application/json"}
   373  
   374  	// set Content-Type header
   375  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   376  	if localVarHttpContentType != "" {
   377  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   378  	}
   379  
   380  	// to determine the Accept header
   381  	localVarHttpHeaderAccepts := []string{
   382  		"application/json",
   383  	}
   384  
   385  	// set Accept header
   386  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   387  	if localVarHttpHeaderAccept != "" {
   388  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   389  	}
   390  	// body params
   391  	localVarPostBody = &dhcpRelayService
   392  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   393  	if err != nil {
   394  		return successPayload, nil, err
   395  	}
   396  
   397  	localVarHttpResponse, err := a.client.callAPI(r)
   398  	if err != nil || localVarHttpResponse == nil {
   399  		return successPayload, localVarHttpResponse, err
   400  	}
   401  	defer localVarHttpResponse.Body.Close()
   402  	if localVarHttpResponse.StatusCode >= 300 {
   403  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   404  	}
   405  
   406  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   407  		return successPayload, localVarHttpResponse, err
   408  	}
   409  
   410  	return successPayload, localVarHttpResponse, err
   411  }
   412  
   413  /* LogicalRoutingAndServicesApiService Create a DHCP Relay Profile
   414  Creates a dhcp relay profile.
   415  * @param ctx context.Context Authentication Context
   416  @param dhcpRelayProfile
   417  @return manager.DhcpRelayProfile*/
   418  func (a *LogicalRoutingAndServicesApiService) CreateDhcpRelayProfile(ctx context.Context, dhcpRelayProfile manager.DhcpRelayProfile) (manager.DhcpRelayProfile, *http.Response, error) {
   419  	var (
   420  		localVarHttpMethod = strings.ToUpper("Post")
   421  		localVarPostBody   interface{}
   422  		localVarFileName   string
   423  		localVarFileBytes  []byte
   424  		successPayload     manager.DhcpRelayProfile
   425  	)
   426  
   427  	// create path and map variables
   428  	localVarPath := a.client.cfg.BasePath + "/dhcp/relay-profiles"
   429  
   430  	localVarHeaderParams := make(map[string]string)
   431  	localVarQueryParams := url.Values{}
   432  	localVarFormParams := url.Values{}
   433  
   434  	// to determine the Content-Type header
   435  	localVarHttpContentTypes := []string{"application/json"}
   436  
   437  	// set Content-Type header
   438  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   439  	if localVarHttpContentType != "" {
   440  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   441  	}
   442  
   443  	// to determine the Accept header
   444  	localVarHttpHeaderAccepts := []string{
   445  		"application/json",
   446  	}
   447  
   448  	// set Accept header
   449  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   450  	if localVarHttpHeaderAccept != "" {
   451  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   452  	}
   453  	// body params
   454  	localVarPostBody = &dhcpRelayProfile
   455  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   456  	if err != nil {
   457  		return successPayload, nil, err
   458  	}
   459  
   460  	localVarHttpResponse, err := a.client.callAPI(r)
   461  	if err != nil || localVarHttpResponse == nil {
   462  		return successPayload, localVarHttpResponse, err
   463  	}
   464  	defer localVarHttpResponse.Body.Close()
   465  	if localVarHttpResponse.StatusCode >= 300 {
   466  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   467  	}
   468  
   469  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   470  		return successPayload, localVarHttpResponse, err
   471  	}
   472  
   473  	return successPayload, localVarHttpResponse, err
   474  }
   475  
   476  /* LogicalRoutingAndServicesApiService Create a Logical Router
   477  Creates a logical router. The required parameters are router_type (TIER0 or TIER1) and edge_cluster_id (TIER0 only). Optional parameters include internal and external transit network addresses.
   478  * @param ctx context.Context Authentication Context
   479  @param logicalRouter
   480  @return manager.LogicalRouter*/
   481  func (a *LogicalRoutingAndServicesApiService) CreateLogicalRouter(ctx context.Context, logicalRouter manager.LogicalRouter) (manager.LogicalRouter, *http.Response, error) {
   482  	var (
   483  		localVarHttpMethod = strings.ToUpper("Post")
   484  		localVarPostBody   interface{}
   485  		localVarFileName   string
   486  		localVarFileBytes  []byte
   487  		successPayload     manager.LogicalRouter
   488  	)
   489  
   490  	// create path and map variables
   491  	localVarPath := a.client.cfg.BasePath + "/logical-routers"
   492  
   493  	localVarHeaderParams := make(map[string]string)
   494  	localVarQueryParams := url.Values{}
   495  	localVarFormParams := url.Values{}
   496  
   497  	// to determine the Content-Type header
   498  	localVarHttpContentTypes := []string{"application/json"}
   499  
   500  	// set Content-Type header
   501  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   502  	if localVarHttpContentType != "" {
   503  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   504  	}
   505  
   506  	// to determine the Accept header
   507  	localVarHttpHeaderAccepts := []string{
   508  		"application/json",
   509  	}
   510  
   511  	// set Accept header
   512  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   513  	if localVarHttpHeaderAccept != "" {
   514  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   515  	}
   516  	// body params
   517  	localVarPostBody = &logicalRouter
   518  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   519  	if err != nil {
   520  		return successPayload, nil, err
   521  	}
   522  
   523  	localVarHttpResponse, err := a.client.callAPI(r)
   524  	if err != nil || localVarHttpResponse == nil {
   525  		return successPayload, localVarHttpResponse, err
   526  	}
   527  	defer localVarHttpResponse.Body.Close()
   528  	if localVarHttpResponse.StatusCode >= 300 {
   529  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   530  	}
   531  
   532  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   533  		return successPayload, localVarHttpResponse, err
   534  	}
   535  
   536  	return successPayload, localVarHttpResponse, err
   537  }
   538  
   539  /* LogicalRoutingAndServicesApiService Create a Logical Router Port
   540  Creates a logical router port. The required parameters include resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort); and logical_router_id (the router to which each logical router port is assigned). The service_bindings parameter is optional.
   541  * @param ctx context.Context Authentication Context
   542  @param logicalRouterPort
   543  @return manager.LogicalRouterPort*/
   544  func (a *LogicalRoutingAndServicesApiService) CreateLogicalRouterPort(ctx context.Context, logicalRouterPort manager.LogicalRouterPort) (manager.LogicalRouterPort, *http.Response, error) {
   545  	var (
   546  		localVarHttpMethod = strings.ToUpper("Post")
   547  		localVarPostBody   interface{}
   548  		localVarFileName   string
   549  		localVarFileBytes  []byte
   550  		successPayload     manager.LogicalRouterPort
   551  	)
   552  
   553  	// create path and map variables
   554  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports"
   555  
   556  	localVarHeaderParams := make(map[string]string)
   557  	localVarQueryParams := url.Values{}
   558  	localVarFormParams := url.Values{}
   559  
   560  	// to determine the Content-Type header
   561  	localVarHttpContentTypes := []string{"application/json"}
   562  
   563  	// set Content-Type header
   564  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   565  	if localVarHttpContentType != "" {
   566  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   567  	}
   568  
   569  	// to determine the Accept header
   570  	localVarHttpHeaderAccepts := []string{
   571  		"application/json",
   572  	}
   573  
   574  	// set Accept header
   575  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   576  	if localVarHttpHeaderAccept != "" {
   577  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   578  	}
   579  	// body params
   580  	localVarPostBody = &logicalRouterPort
   581  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   582  	if err != nil {
   583  		return successPayload, nil, err
   584  	}
   585  
   586  	localVarHttpResponse, err := a.client.callAPI(r)
   587  	if err != nil || localVarHttpResponse == nil {
   588  		return successPayload, localVarHttpResponse, err
   589  	}
   590  	defer localVarHttpResponse.Body.Close()
   591  	if localVarHttpResponse.StatusCode >= 300 {
   592  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   593  	}
   594  
   595  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   596  		return successPayload, localVarHttpResponse, err
   597  	}
   598  
   599  	return successPayload, localVarHttpResponse, err
   600  }
   601  
   602  /* LogicalRoutingAndServicesApiService Create a Logical Router Uplink Port
   603  Creates a logical router uplink port on TIER0 router. The required parameters include logical_router_id (the router
   604  to which each logical router port is assigned). The service_bindings parameter is optional.
   605  * @param ctx context.Context Authentication Context
   606  @param logicalRouterPort
   607  @return manager.LogicalRouterUpLinkPort*/
   608  func (a *LogicalRoutingAndServicesApiService) CreateLogicalRouterUpLinkPort(ctx context.Context, logicalRouterPort manager.LogicalRouterUpLinkPort) (manager.LogicalRouterUpLinkPort, *http.Response, error) {
   609  	var (
   610  		localVarHttpMethod = strings.ToUpper("Post")
   611  		localVarPostBody   interface{}
   612  		localVarFileName   string
   613  		localVarFileBytes  []byte
   614  		successPayload     manager.LogicalRouterUpLinkPort
   615  	)
   616  
   617  	// set resource type for this type-specific API
   618  	logicalRouterPort.ResourceType = "LogicalRouterUpLinkPort"
   619  
   620  	// create path and map variables
   621  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports"
   622  
   623  	localVarHeaderParams := make(map[string]string)
   624  	localVarQueryParams := url.Values{}
   625  	localVarFormParams := url.Values{}
   626  
   627  	// to determine the Content-Type header
   628  	localVarHttpContentTypes := []string{"application/json"}
   629  
   630  	// set Content-Type header
   631  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   632  	if localVarHttpContentType != "" {
   633  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   634  	}
   635  
   636  	// to determine the Accept header
   637  	localVarHttpHeaderAccepts := []string{
   638  		"application/json",
   639  	}
   640  
   641  	// set Accept header
   642  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   643  	if localVarHttpHeaderAccept != "" {
   644  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   645  	}
   646  	// body params
   647  	localVarPostBody = &logicalRouterPort
   648  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   649  	if err != nil {
   650  		return successPayload, nil, err
   651  	}
   652  
   653  	localVarHttpResponse, err := a.client.callAPI(r)
   654  	if err != nil || localVarHttpResponse == nil {
   655  		return successPayload, localVarHttpResponse, err
   656  	}
   657  	defer localVarHttpResponse.Body.Close()
   658  	if localVarHttpResponse.StatusCode >= 300 {
   659  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   660  	}
   661  
   662  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   663  		return successPayload, localVarHttpResponse, err
   664  	}
   665  
   666  	return successPayload, localVarHttpResponse, err
   667  }
   668  
   669  /* LogicalRoutingAndServicesApiService Create a Logical Router Port
   670  Creates a logical router port on TIER0 router. This is the port where the LogicalRouterLinkPortOnTier1 of TIER1
   671  logical router connects to. The required parameters include logical_router_id (the router to which each logical
   672  router port is assigned). The service_bindings parameter is optional.
   673  * @param ctx context.Context Authentication Context
   674  @param logicalRouterPort
   675  @return manager.LogicalRouterLinkPortOnTier0*/
   676  func (a *LogicalRoutingAndServicesApiService) CreateLogicalRouterLinkPortOnTier0(ctx context.Context, logicalRouterPort manager.LogicalRouterLinkPortOnTier0) (manager.LogicalRouterLinkPortOnTier0, *http.Response, error) {
   677  	var (
   678  		localVarHttpMethod = strings.ToUpper("Post")
   679  		localVarPostBody   interface{}
   680  		localVarFileName   string
   681  		localVarFileBytes  []byte
   682  		successPayload     manager.LogicalRouterLinkPortOnTier0
   683  	)
   684  
   685  	// set resource type for this type-specific API
   686  	logicalRouterPort.ResourceType = "LogicalRouterLinkPortOnTIER0"
   687  
   688  	// create path and map variables
   689  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports"
   690  
   691  	localVarHeaderParams := make(map[string]string)
   692  	localVarQueryParams := url.Values{}
   693  	localVarFormParams := url.Values{}
   694  
   695  	// to determine the Content-Type header
   696  	localVarHttpContentTypes := []string{"application/json"}
   697  
   698  	// set Content-Type header
   699  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   700  	if localVarHttpContentType != "" {
   701  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   702  	}
   703  
   704  	// to determine the Accept header
   705  	localVarHttpHeaderAccepts := []string{
   706  		"application/json",
   707  	}
   708  
   709  	// set Accept header
   710  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   711  	if localVarHttpHeaderAccept != "" {
   712  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   713  	}
   714  	// body params
   715  	localVarPostBody = &logicalRouterPort
   716  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   717  	if err != nil {
   718  		return successPayload, nil, err
   719  	}
   720  
   721  	localVarHttpResponse, err := a.client.callAPI(r)
   722  	if err != nil || localVarHttpResponse == nil {
   723  		return successPayload, localVarHttpResponse, err
   724  	}
   725  	defer localVarHttpResponse.Body.Close()
   726  	if localVarHttpResponse.StatusCode >= 300 {
   727  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   728  	}
   729  
   730  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   731  		return successPayload, localVarHttpResponse, err
   732  	}
   733  
   734  	return successPayload, localVarHttpResponse, err
   735  }
   736  
   737  /* LogicalRoutingAndServicesApiService Create a Logical Router Port
   738  Creates a logical router port on TIER1 router. This is the port where the LogicalRouterLinkPortOnTier0 of TIER0
   739  logical router connects to. The required parameters include logical_router_id (the router to which each logical
   740  router port is assigned). The service_bindings parameter is optional.
   741  * @param ctx context.Context Authentication Context
   742  @param logicalRouterPort
   743  @return manager.LogicalRouterLinkPortOnTier1*/
   744  func (a *LogicalRoutingAndServicesApiService) CreateLogicalRouterLinkPortOnTier1(ctx context.Context, logicalRouterPort manager.LogicalRouterLinkPortOnTier1) (manager.LogicalRouterLinkPortOnTier1, *http.Response, error) {
   745  	var (
   746  		localVarHttpMethod = strings.ToUpper("Post")
   747  		localVarPostBody   interface{}
   748  		localVarFileName   string
   749  		localVarFileBytes  []byte
   750  		successPayload     manager.LogicalRouterLinkPortOnTier1
   751  	)
   752  
   753  	// set resource type for this type-specific API
   754  	logicalRouterPort.ResourceType = "LogicalRouterLinkPortOnTIER1"
   755  
   756  	// create path and map variables
   757  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports"
   758  
   759  	localVarHeaderParams := make(map[string]string)
   760  	localVarQueryParams := url.Values{}
   761  	localVarFormParams := url.Values{}
   762  
   763  	// to determine the Content-Type header
   764  	localVarHttpContentTypes := []string{"application/json"}
   765  
   766  	// set Content-Type header
   767  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   768  	if localVarHttpContentType != "" {
   769  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   770  	}
   771  
   772  	// to determine the Accept header
   773  	localVarHttpHeaderAccepts := []string{
   774  		"application/json",
   775  	}
   776  
   777  	// set Accept header
   778  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   779  	if localVarHttpHeaderAccept != "" {
   780  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   781  	}
   782  	// body params
   783  	localVarPostBody = &logicalRouterPort
   784  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   785  	if err != nil {
   786  		return successPayload, nil, err
   787  	}
   788  
   789  	localVarHttpResponse, err := a.client.callAPI(r)
   790  	if err != nil || localVarHttpResponse == nil {
   791  		return successPayload, localVarHttpResponse, err
   792  	}
   793  	defer localVarHttpResponse.Body.Close()
   794  	if localVarHttpResponse.StatusCode >= 300 {
   795  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   796  	}
   797  
   798  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   799  		return successPayload, localVarHttpResponse, err
   800  	}
   801  
   802  	return successPayload, localVarHttpResponse, err
   803  }
   804  
   805  /* LogicalRoutingAndServicesApiService Create a Logical Router DownLink Port
   806  Creates a logical router port on TIER1 router. This is the port for connected subnets on the logical router.
   807  The required parameters include logical_router_id (the router to which each logical router port is assigned).
   808  The service_bindings parameter is optional.
   809  * @param ctx context.Context Authentication Context
   810  @param logicalRouterPort
   811  @return manager.LogicalRouterDownLinkPort*/
   812  func (a *LogicalRoutingAndServicesApiService) CreateLogicalRouterDownLinkPort(ctx context.Context, logicalRouterPort manager.LogicalRouterDownLinkPort) (manager.LogicalRouterDownLinkPort, *http.Response, error) {
   813  	var (
   814  		localVarHttpMethod = strings.ToUpper("Post")
   815  		localVarPostBody   interface{}
   816  		localVarFileName   string
   817  		localVarFileBytes  []byte
   818  		successPayload     manager.LogicalRouterDownLinkPort
   819  	)
   820  
   821  	// set resource type for this type-specific API
   822  	logicalRouterPort.ResourceType = "LogicalRouterDownLinkPort"
   823  
   824  	// create path and map variables
   825  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports"
   826  
   827  	localVarHeaderParams := make(map[string]string)
   828  	localVarQueryParams := url.Values{}
   829  	localVarFormParams := url.Values{}
   830  
   831  	// to determine the Content-Type header
   832  	localVarHttpContentTypes := []string{"application/json"}
   833  
   834  	// set Content-Type header
   835  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   836  	if localVarHttpContentType != "" {
   837  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   838  	}
   839  
   840  	// to determine the Accept header
   841  	localVarHttpHeaderAccepts := []string{
   842  		"application/json",
   843  	}
   844  
   845  	// set Accept header
   846  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   847  	if localVarHttpHeaderAccept != "" {
   848  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   849  	}
   850  	// body params
   851  	localVarPostBody = &logicalRouterPort
   852  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   853  	if err != nil {
   854  		return successPayload, nil, err
   855  	}
   856  
   857  	localVarHttpResponse, err := a.client.callAPI(r)
   858  	if err != nil || localVarHttpResponse == nil {
   859  		return successPayload, localVarHttpResponse, err
   860  	}
   861  	defer localVarHttpResponse.Body.Close()
   862  	if localVarHttpResponse.StatusCode >= 300 {
   863  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   864  	}
   865  
   866  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   867  		return successPayload, localVarHttpResponse, err
   868  	}
   869  
   870  	return successPayload, localVarHttpResponse, err
   871  }
   872  
   873  /* LogicalRoutingAndServicesApiService Create a Logical Router Centralized Service Port
   874  Creates a logical router port on TIER0/TIER1 router. This is the port for connected subnets on the logical router.
   875  The required parameters include logical_router_id (the router to which each logical router port is assigned).
   876  The service_bindings parameter is optional.
   877  * @param ctx context.Context Authentication Context
   878  @param logicalRouterPort
   879  @return manager.LogicalRouterCentralizedServicePort*/
   880  func (a *LogicalRoutingAndServicesApiService) CreateLogicalRouterCentralizedServicePort(ctx context.Context, logicalRouterPort manager.LogicalRouterCentralizedServicePort) (manager.LogicalRouterCentralizedServicePort, *http.Response, error) {
   881  	var (
   882  		localVarHttpMethod = strings.ToUpper("Post")
   883  		localVarPostBody   interface{}
   884  		localVarFileName   string
   885  		localVarFileBytes  []byte
   886  		successPayload     manager.LogicalRouterCentralizedServicePort
   887  	)
   888  
   889  	// set resource type for this type-specific API
   890  	logicalRouterPort.ResourceType = "LogicalRouterCentralizedServicePort"
   891  
   892  	// create path and map variables
   893  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports"
   894  
   895  	localVarHeaderParams := make(map[string]string)
   896  	localVarQueryParams := url.Values{}
   897  	localVarFormParams := url.Values{}
   898  
   899  	// to determine the Content-Type header
   900  	localVarHttpContentTypes := []string{"application/json"}
   901  
   902  	// set Content-Type header
   903  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   904  	if localVarHttpContentType != "" {
   905  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   906  	}
   907  
   908  	// to determine the Accept header
   909  	localVarHttpHeaderAccepts := []string{
   910  		"application/json",
   911  	}
   912  
   913  	// set Accept header
   914  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   915  	if localVarHttpHeaderAccept != "" {
   916  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   917  	}
   918  	// body params
   919  	localVarPostBody = &logicalRouterPort
   920  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   921  	if err != nil {
   922  		return successPayload, nil, err
   923  	}
   924  
   925  	localVarHttpResponse, err := a.client.callAPI(r)
   926  	if err != nil || localVarHttpResponse == nil {
   927  		return successPayload, localVarHttpResponse, err
   928  	}
   929  	defer localVarHttpResponse.Body.Close()
   930  	if localVarHttpResponse.StatusCode >= 300 {
   931  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   932  	}
   933  
   934  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   935  		return successPayload, localVarHttpResponse, err
   936  	}
   937  
   938  	return successPayload, localVarHttpResponse, err
   939  }
   940  
   941  /* LogicalRoutingAndServicesApiService Create a Logical Router Loopback Port
   942  Creates a logical router loopback port. This is a loopback port for logical router component which is placed
   943  on chosen edge cluster member. The required parameters include logical_router_id (the router to which each logical
   944  router port is assigned). The service_bindings parameter is optional.
   945  * @param ctx context.Context Authentication Context
   946  @param logicalRouterPort
   947  @return manager.LogicalRouterLoopbackPort*/
   948  func (a *LogicalRoutingAndServicesApiService) CreateLogicalRouterLoopbackPort(ctx context.Context, logicalRouterPort manager.LogicalRouterLoopbackPort) (manager.LogicalRouterLoopbackPort, *http.Response, error) {
   949  	var (
   950  		localVarHttpMethod = strings.ToUpper("Post")
   951  		localVarPostBody   interface{}
   952  		localVarFileName   string
   953  		localVarFileBytes  []byte
   954  		successPayload     manager.LogicalRouterLoopbackPort
   955  	)
   956  
   957  	// set resource type for this type-specific API
   958  	logicalRouterPort.ResourceType = "LogicalRouterLoopbackPort"
   959  
   960  	// create path and map variables
   961  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports"
   962  
   963  	localVarHeaderParams := make(map[string]string)
   964  	localVarQueryParams := url.Values{}
   965  	localVarFormParams := url.Values{}
   966  
   967  	// to determine the Content-Type header
   968  	localVarHttpContentTypes := []string{"application/json"}
   969  
   970  	// set Content-Type header
   971  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   972  	if localVarHttpContentType != "" {
   973  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   974  	}
   975  
   976  	// to determine the Accept header
   977  	localVarHttpHeaderAccepts := []string{
   978  		"application/json",
   979  	}
   980  
   981  	// set Accept header
   982  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   983  	if localVarHttpHeaderAccept != "" {
   984  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   985  	}
   986  	// body params
   987  	localVarPostBody = &logicalRouterPort
   988  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   989  	if err != nil {
   990  		return successPayload, nil, err
   991  	}
   992  
   993  	localVarHttpResponse, err := a.client.callAPI(r)
   994  	if err != nil || localVarHttpResponse == nil {
   995  		return successPayload, localVarHttpResponse, err
   996  	}
   997  	defer localVarHttpResponse.Body.Close()
   998  	if localVarHttpResponse.StatusCode >= 300 {
   999  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1000  	}
  1001  
  1002  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1003  		return successPayload, localVarHttpResponse, err
  1004  	}
  1005  
  1006  	return successPayload, localVarHttpResponse, err
  1007  }
  1008  
  1009  /* LogicalRoutingAndServicesApiService Create a Logical Router Service
  1010  Creates a service that can be applied to one or more logical router ports. For some service types, you must create a service-profile before you can create a service.
  1011  * @param ctx context.Context Authentication Context
  1012  @param logicalService
  1013  @return manager.LogicalService*/
  1014  func (a *LogicalRoutingAndServicesApiService) CreateService(ctx context.Context, logicalService manager.LogicalService) (manager.LogicalService, *http.Response, error) {
  1015  	var (
  1016  		localVarHttpMethod = strings.ToUpper("Post")
  1017  		localVarPostBody   interface{}
  1018  		localVarFileName   string
  1019  		localVarFileBytes  []byte
  1020  		successPayload     manager.LogicalService
  1021  	)
  1022  
  1023  	// create path and map variables
  1024  	localVarPath := a.client.cfg.BasePath + "/services"
  1025  
  1026  	localVarHeaderParams := make(map[string]string)
  1027  	localVarQueryParams := url.Values{}
  1028  	localVarFormParams := url.Values{}
  1029  
  1030  	// to determine the Content-Type header
  1031  	localVarHttpContentTypes := []string{"application/json"}
  1032  
  1033  	// set Content-Type header
  1034  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1035  	if localVarHttpContentType != "" {
  1036  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1037  	}
  1038  
  1039  	// to determine the Accept header
  1040  	localVarHttpHeaderAccepts := []string{
  1041  		"application/json",
  1042  	}
  1043  
  1044  	// set Accept header
  1045  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1046  	if localVarHttpHeaderAccept != "" {
  1047  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1048  	}
  1049  	// body params
  1050  	localVarPostBody = &logicalService
  1051  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1052  	if err != nil {
  1053  		return successPayload, nil, err
  1054  	}
  1055  
  1056  	localVarHttpResponse, err := a.client.callAPI(r)
  1057  	if err != nil || localVarHttpResponse == nil {
  1058  		return successPayload, localVarHttpResponse, err
  1059  	}
  1060  	defer localVarHttpResponse.Body.Close()
  1061  	if localVarHttpResponse.StatusCode >= 300 {
  1062  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1063  	}
  1064  
  1065  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1066  		return successPayload, localVarHttpResponse, err
  1067  	}
  1068  
  1069  	return successPayload, localVarHttpResponse, err
  1070  }
  1071  
  1072  /* LogicalRoutingAndServicesApiService Create a Service Profile
  1073  Creates a service profile, which can then be used to create a service. Services are then applied to one or more logical router ports.
  1074  * @param ctx context.Context Authentication Context
  1075  @param serviceProfile
  1076  @return manager.ServiceProfile*/
  1077  func (a *LogicalRoutingAndServicesApiService) CreateServiceProfile(ctx context.Context, serviceProfile manager.ServiceProfile) (manager.ServiceProfile, *http.Response, error) {
  1078  	var (
  1079  		localVarHttpMethod = strings.ToUpper("Post")
  1080  		localVarPostBody   interface{}
  1081  		localVarFileName   string
  1082  		localVarFileBytes  []byte
  1083  		successPayload     manager.ServiceProfile
  1084  	)
  1085  
  1086  	// create path and map variables
  1087  	localVarPath := a.client.cfg.BasePath + "/service-profiles"
  1088  
  1089  	localVarHeaderParams := make(map[string]string)
  1090  	localVarQueryParams := url.Values{}
  1091  	localVarFormParams := url.Values{}
  1092  
  1093  	// to determine the Content-Type header
  1094  	localVarHttpContentTypes := []string{"application/json"}
  1095  
  1096  	// set Content-Type header
  1097  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1098  	if localVarHttpContentType != "" {
  1099  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1100  	}
  1101  
  1102  	// to determine the Accept header
  1103  	localVarHttpHeaderAccepts := []string{
  1104  		"application/json",
  1105  	}
  1106  
  1107  	// set Accept header
  1108  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1109  	if localVarHttpHeaderAccept != "" {
  1110  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1111  	}
  1112  	// body params
  1113  	localVarPostBody = &serviceProfile
  1114  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1115  	if err != nil {
  1116  		return successPayload, nil, err
  1117  	}
  1118  
  1119  	localVarHttpResponse, err := a.client.callAPI(r)
  1120  	if err != nil || localVarHttpResponse == nil {
  1121  		return successPayload, localVarHttpResponse, err
  1122  	}
  1123  	defer localVarHttpResponse.Body.Close()
  1124  	if localVarHttpResponse.StatusCode >= 300 {
  1125  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1126  	}
  1127  
  1128  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1129  		return successPayload, localVarHttpResponse, err
  1130  	}
  1131  
  1132  	return successPayload, localVarHttpResponse, err
  1133  }
  1134  
  1135  /* LogicalRoutingAndServicesApiService Create a static hop BFD peer
  1136  Creates a BFD peer for static route. The required parameters includes peer IP address.
  1137  * @param ctx context.Context Authentication Context
  1138  @param logicalRouterId
  1139  @param staticHopBfdPeer
  1140  @return manager.StaticHopBfdPeer*/
  1141  func (a *LogicalRoutingAndServicesApiService) CreateStaticHopBfdPeer(ctx context.Context, logicalRouterId string, staticHopBfdPeer manager.StaticHopBfdPeer) (manager.StaticHopBfdPeer, *http.Response, error) {
  1142  	var (
  1143  		localVarHttpMethod = strings.ToUpper("Post")
  1144  		localVarPostBody   interface{}
  1145  		localVarFileName   string
  1146  		localVarFileBytes  []byte
  1147  		successPayload     manager.StaticHopBfdPeer
  1148  	)
  1149  
  1150  	// create path and map variables
  1151  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers"
  1152  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1153  
  1154  	localVarHeaderParams := make(map[string]string)
  1155  	localVarQueryParams := url.Values{}
  1156  	localVarFormParams := url.Values{}
  1157  
  1158  	// to determine the Content-Type header
  1159  	localVarHttpContentTypes := []string{"application/json"}
  1160  
  1161  	// set Content-Type header
  1162  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1163  	if localVarHttpContentType != "" {
  1164  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1165  	}
  1166  
  1167  	// to determine the Accept header
  1168  	localVarHttpHeaderAccepts := []string{
  1169  		"application/json",
  1170  	}
  1171  
  1172  	// set Accept header
  1173  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1174  	if localVarHttpHeaderAccept != "" {
  1175  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1176  	}
  1177  	// body params
  1178  	localVarPostBody = &staticHopBfdPeer
  1179  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1180  	if err != nil {
  1181  		return successPayload, nil, err
  1182  	}
  1183  
  1184  	localVarHttpResponse, err := a.client.callAPI(r)
  1185  	if err != nil || localVarHttpResponse == nil {
  1186  		return successPayload, localVarHttpResponse, err
  1187  	}
  1188  	defer localVarHttpResponse.Body.Close()
  1189  	if localVarHttpResponse.StatusCode >= 300 {
  1190  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1191  	}
  1192  
  1193  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1194  		return successPayload, localVarHttpResponse, err
  1195  	}
  1196  
  1197  	return successPayload, localVarHttpResponse, err
  1198  }
  1199  
  1200  /* LogicalRoutingAndServicesApiService Delete a specific BGP Neighbor on a Logical Router
  1201  Delete a specific BGP Neighbor on a Logical Router
  1202  * @param ctx context.Context Authentication Context
  1203  @param logicalRouterId
  1204  @param id
  1205  @return */
  1206  func (a *LogicalRoutingAndServicesApiService) DeleteBgpNeighbor(ctx context.Context, logicalRouterId string, id string) (*http.Response, error) {
  1207  	var (
  1208  		localVarHttpMethod = strings.ToUpper("Delete")
  1209  		localVarPostBody   interface{}
  1210  		localVarFileName   string
  1211  		localVarFileBytes  []byte
  1212  	)
  1213  
  1214  	// create path and map variables
  1215  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}"
  1216  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1217  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  1218  
  1219  	localVarHeaderParams := make(map[string]string)
  1220  	localVarQueryParams := url.Values{}
  1221  	localVarFormParams := url.Values{}
  1222  
  1223  	// to determine the Content-Type header
  1224  	localVarHttpContentTypes := []string{"application/json"}
  1225  
  1226  	// set Content-Type header
  1227  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1228  	if localVarHttpContentType != "" {
  1229  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1230  	}
  1231  
  1232  	// to determine the Accept header
  1233  	localVarHttpHeaderAccepts := []string{
  1234  		"application/json",
  1235  	}
  1236  
  1237  	// set Accept header
  1238  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1239  	if localVarHttpHeaderAccept != "" {
  1240  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1241  	}
  1242  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1243  	if err != nil {
  1244  		return nil, err
  1245  	}
  1246  
  1247  	localVarHttpResponse, err := a.client.callAPI(r)
  1248  	if err != nil || localVarHttpResponse == nil {
  1249  		return localVarHttpResponse, err
  1250  	}
  1251  	defer localVarHttpResponse.Body.Close()
  1252  	if localVarHttpResponse.StatusCode >= 300 {
  1253  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1254  	}
  1255  
  1256  	return localVarHttpResponse, err
  1257  }
  1258  
  1259  /* LogicalRoutingAndServicesApiService Delete a DHCP Relay Service
  1260  Deletes the specified dhcp relay service.
  1261  * @param ctx context.Context Authentication Context
  1262  @param relayId
  1263  @return */
  1264  func (a *LogicalRoutingAndServicesApiService) DeleteDhcpRelay(ctx context.Context, relayId string) (*http.Response, error) {
  1265  	var (
  1266  		localVarHttpMethod = strings.ToUpper("Delete")
  1267  		localVarPostBody   interface{}
  1268  		localVarFileName   string
  1269  		localVarFileBytes  []byte
  1270  	)
  1271  
  1272  	// create path and map variables
  1273  	localVarPath := a.client.cfg.BasePath + "/dhcp/relays/{relay-id}"
  1274  	localVarPath = strings.Replace(localVarPath, "{"+"relay-id"+"}", fmt.Sprintf("%v", relayId), -1)
  1275  
  1276  	localVarHeaderParams := make(map[string]string)
  1277  	localVarQueryParams := url.Values{}
  1278  	localVarFormParams := url.Values{}
  1279  
  1280  	// to determine the Content-Type header
  1281  	localVarHttpContentTypes := []string{"application/json"}
  1282  
  1283  	// set Content-Type header
  1284  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1285  	if localVarHttpContentType != "" {
  1286  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1287  	}
  1288  
  1289  	// to determine the Accept header
  1290  	localVarHttpHeaderAccepts := []string{
  1291  		"application/json",
  1292  	}
  1293  
  1294  	// set Accept header
  1295  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1296  	if localVarHttpHeaderAccept != "" {
  1297  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1298  	}
  1299  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1300  	if err != nil {
  1301  		return nil, err
  1302  	}
  1303  
  1304  	localVarHttpResponse, err := a.client.callAPI(r)
  1305  	if err != nil || localVarHttpResponse == nil {
  1306  		return localVarHttpResponse, err
  1307  	}
  1308  	defer localVarHttpResponse.Body.Close()
  1309  	if localVarHttpResponse.StatusCode >= 300 {
  1310  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1311  	}
  1312  
  1313  	return localVarHttpResponse, err
  1314  }
  1315  
  1316  /* LogicalRoutingAndServicesApiService Delete a DHCP Relay Profile
  1317  Deletes the specified dhcp relay profile.
  1318  * @param ctx context.Context Authentication Context
  1319  @param relayProfileId
  1320  @return */
  1321  func (a *LogicalRoutingAndServicesApiService) DeleteDhcpRelayProfile(ctx context.Context, relayProfileId string) (*http.Response, error) {
  1322  	var (
  1323  		localVarHttpMethod = strings.ToUpper("Delete")
  1324  		localVarPostBody   interface{}
  1325  		localVarFileName   string
  1326  		localVarFileBytes  []byte
  1327  	)
  1328  
  1329  	// create path and map variables
  1330  	localVarPath := a.client.cfg.BasePath + "/dhcp/relay-profiles/{relay-profile-id}"
  1331  	localVarPath = strings.Replace(localVarPath, "{"+"relay-profile-id"+"}", fmt.Sprintf("%v", relayProfileId), -1)
  1332  
  1333  	localVarHeaderParams := make(map[string]string)
  1334  	localVarQueryParams := url.Values{}
  1335  	localVarFormParams := url.Values{}
  1336  
  1337  	// to determine the Content-Type header
  1338  	localVarHttpContentTypes := []string{"application/json"}
  1339  
  1340  	// set Content-Type header
  1341  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1342  	if localVarHttpContentType != "" {
  1343  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1344  	}
  1345  
  1346  	// to determine the Accept header
  1347  	localVarHttpHeaderAccepts := []string{
  1348  		"application/json",
  1349  	}
  1350  
  1351  	// set Accept header
  1352  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1353  	if localVarHttpHeaderAccept != "" {
  1354  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1355  	}
  1356  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1357  	if err != nil {
  1358  		return nil, err
  1359  	}
  1360  
  1361  	localVarHttpResponse, err := a.client.callAPI(r)
  1362  	if err != nil || localVarHttpResponse == nil {
  1363  		return localVarHttpResponse, err
  1364  	}
  1365  	defer localVarHttpResponse.Body.Close()
  1366  	if localVarHttpResponse.StatusCode >= 300 {
  1367  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1368  	}
  1369  
  1370  	return localVarHttpResponse, err
  1371  }
  1372  
  1373  /* LogicalRoutingAndServicesApiService Delete a specific IPPrefixList on a Logical Router
  1374  Deletes a specific IPPrefixList on the specified logical router.
  1375  * @param ctx context.Context Authentication Context
  1376  @param logicalRouterId
  1377  @param id
  1378  @return */
  1379  func (a *LogicalRoutingAndServicesApiService) DeleteIPPrefixList(ctx context.Context, logicalRouterId string, id string) (*http.Response, error) {
  1380  	var (
  1381  		localVarHttpMethod = strings.ToUpper("Delete")
  1382  		localVarPostBody   interface{}
  1383  		localVarFileName   string
  1384  		localVarFileBytes  []byte
  1385  	)
  1386  
  1387  	// create path and map variables
  1388  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/ip-prefix-lists/{id}"
  1389  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1390  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  1391  
  1392  	localVarHeaderParams := make(map[string]string)
  1393  	localVarQueryParams := url.Values{}
  1394  	localVarFormParams := url.Values{}
  1395  
  1396  	// to determine the Content-Type header
  1397  	localVarHttpContentTypes := []string{"application/json"}
  1398  
  1399  	// set Content-Type header
  1400  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1401  	if localVarHttpContentType != "" {
  1402  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1403  	}
  1404  
  1405  	// to determine the Accept header
  1406  	localVarHttpHeaderAccepts := []string{
  1407  		"application/json",
  1408  	}
  1409  
  1410  	// set Accept header
  1411  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1412  	if localVarHttpHeaderAccept != "" {
  1413  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1414  	}
  1415  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1416  	if err != nil {
  1417  		return nil, err
  1418  	}
  1419  
  1420  	localVarHttpResponse, err := a.client.callAPI(r)
  1421  	if err != nil || localVarHttpResponse == nil {
  1422  		return localVarHttpResponse, err
  1423  	}
  1424  	defer localVarHttpResponse.Body.Close()
  1425  	if localVarHttpResponse.StatusCode >= 300 {
  1426  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1427  	}
  1428  
  1429  	return localVarHttpResponse, err
  1430  }
  1431  
  1432  /* LogicalRoutingAndServicesApiService Delete a Logical Router
  1433  Deletes the specified logical router. You must delete associated logical router ports before you can delete a logical router. Otherwise use force delete which will delete all related ports and other entities associated with that LR. To force delete logical router pass force=true in query param.
  1434  * @param ctx context.Context Authentication Context
  1435  @param logicalRouterId
  1436  @param optional (nil or map[string]interface{}) with one or more of:
  1437      @param "force" (bool) Force delete the resource even if it is being used somewhere
  1438  @return */
  1439  func (a *LogicalRoutingAndServicesApiService) DeleteLogicalRouter(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (*http.Response, error) {
  1440  	var (
  1441  		localVarHttpMethod = strings.ToUpper("Delete")
  1442  		localVarPostBody   interface{}
  1443  		localVarFileName   string
  1444  		localVarFileBytes  []byte
  1445  	)
  1446  
  1447  	// create path and map variables
  1448  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}"
  1449  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1450  
  1451  	localVarHeaderParams := make(map[string]string)
  1452  	localVarQueryParams := url.Values{}
  1453  	localVarFormParams := url.Values{}
  1454  
  1455  	if err := typeCheckParameter(localVarOptionals["force"], "bool", "force"); err != nil {
  1456  		return nil, err
  1457  	}
  1458  
  1459  	if localVarTempParam, localVarOk := localVarOptionals["force"].(bool); localVarOk {
  1460  		localVarQueryParams.Add("force", parameterToString(localVarTempParam, ""))
  1461  	}
  1462  	// to determine the Content-Type header
  1463  	localVarHttpContentTypes := []string{"application/json"}
  1464  
  1465  	// set Content-Type header
  1466  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1467  	if localVarHttpContentType != "" {
  1468  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1469  	}
  1470  
  1471  	// to determine the Accept header
  1472  	localVarHttpHeaderAccepts := []string{
  1473  		"application/json",
  1474  	}
  1475  
  1476  	// set Accept header
  1477  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1478  	if localVarHttpHeaderAccept != "" {
  1479  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1480  	}
  1481  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1482  	if err != nil {
  1483  		return nil, err
  1484  	}
  1485  
  1486  	localVarHttpResponse, err := a.client.callAPI(r)
  1487  	if err != nil || localVarHttpResponse == nil {
  1488  		return localVarHttpResponse, err
  1489  	}
  1490  	defer localVarHttpResponse.Body.Close()
  1491  	if localVarHttpResponse.StatusCode >= 300 {
  1492  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1493  	}
  1494  
  1495  	return localVarHttpResponse, err
  1496  }
  1497  
  1498  /* LogicalRoutingAndServicesApiService Delete a Logical Router Port
  1499  Deletes the specified logical router port. You must delete logical router ports before you can delete the associated logical router. To Delete Tier0 router link port you must have to delete attached tier1 router link port, otherwise pass \"force=true\" as query param to force delete the Tier0 router link port.
  1500  * @param ctx context.Context Authentication Context
  1501  @param logicalRouterPortId
  1502  @param optional (nil or map[string]interface{}) with one or more of:
  1503      @param "force" (bool) Force delete the resource even if it is being used somewhere
  1504  @return */
  1505  func (a *LogicalRoutingAndServicesApiService) DeleteLogicalRouterPort(ctx context.Context, logicalRouterPortId string, localVarOptionals map[string]interface{}) (*http.Response, error) {
  1506  	var (
  1507  		localVarHttpMethod = strings.ToUpper("Delete")
  1508  		localVarPostBody   interface{}
  1509  		localVarFileName   string
  1510  		localVarFileBytes  []byte
  1511  	)
  1512  
  1513  	// create path and map variables
  1514  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  1515  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  1516  
  1517  	localVarHeaderParams := make(map[string]string)
  1518  	localVarQueryParams := url.Values{}
  1519  	localVarFormParams := url.Values{}
  1520  
  1521  	if err := typeCheckParameter(localVarOptionals["force"], "bool", "force"); err != nil {
  1522  		return nil, err
  1523  	}
  1524  
  1525  	if localVarTempParam, localVarOk := localVarOptionals["force"].(bool); localVarOk {
  1526  		localVarQueryParams.Add("force", parameterToString(localVarTempParam, ""))
  1527  	}
  1528  	// to determine the Content-Type header
  1529  	localVarHttpContentTypes := []string{"application/json"}
  1530  
  1531  	// set Content-Type header
  1532  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1533  	if localVarHttpContentType != "" {
  1534  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1535  	}
  1536  
  1537  	// to determine the Accept header
  1538  	localVarHttpHeaderAccepts := []string{
  1539  		"application/json",
  1540  	}
  1541  
  1542  	// set Accept header
  1543  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1544  	if localVarHttpHeaderAccept != "" {
  1545  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1546  	}
  1547  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1548  	if err != nil {
  1549  		return nil, err
  1550  	}
  1551  
  1552  	localVarHttpResponse, err := a.client.callAPI(r)
  1553  	if err != nil || localVarHttpResponse == nil {
  1554  		return localVarHttpResponse, err
  1555  	}
  1556  	defer localVarHttpResponse.Body.Close()
  1557  	if localVarHttpResponse.StatusCode >= 300 {
  1558  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1559  	}
  1560  
  1561  	return localVarHttpResponse, err
  1562  }
  1563  
  1564  /* LogicalRoutingAndServicesApiService Delete a specific NAT rule from a logical router
  1565  Delete a specific NAT rule from a logical router
  1566  * @param ctx context.Context Authentication Context
  1567  @param logicalRouterId
  1568  @param ruleId
  1569  @return */
  1570  func (a *LogicalRoutingAndServicesApiService) DeleteNatRule(ctx context.Context, logicalRouterId string, ruleId string) (*http.Response, error) {
  1571  	var (
  1572  		localVarHttpMethod = strings.ToUpper("Delete")
  1573  		localVarPostBody   interface{}
  1574  		localVarFileName   string
  1575  		localVarFileBytes  []byte
  1576  	)
  1577  
  1578  	// create path and map variables
  1579  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/nat/rules/{rule-id}"
  1580  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1581  	localVarPath = strings.Replace(localVarPath, "{"+"rule-id"+"}", fmt.Sprintf("%v", ruleId), -1)
  1582  
  1583  	localVarHeaderParams := make(map[string]string)
  1584  	localVarQueryParams := url.Values{}
  1585  	localVarFormParams := url.Values{}
  1586  
  1587  	// to determine the Content-Type header
  1588  	localVarHttpContentTypes := []string{"application/json"}
  1589  
  1590  	// set Content-Type header
  1591  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1592  	if localVarHttpContentType != "" {
  1593  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1594  	}
  1595  
  1596  	// to determine the Accept header
  1597  	localVarHttpHeaderAccepts := []string{
  1598  		"application/json",
  1599  	}
  1600  
  1601  	// set Accept header
  1602  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1603  	if localVarHttpHeaderAccept != "" {
  1604  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1605  	}
  1606  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1607  	if err != nil {
  1608  		return nil, err
  1609  	}
  1610  
  1611  	localVarHttpResponse, err := a.client.callAPI(r)
  1612  	if err != nil || localVarHttpResponse == nil {
  1613  		return localVarHttpResponse, err
  1614  	}
  1615  	defer localVarHttpResponse.Body.Close()
  1616  	if localVarHttpResponse.StatusCode >= 300 {
  1617  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1618  	}
  1619  
  1620  	return localVarHttpResponse, err
  1621  }
  1622  
  1623  /* LogicalRoutingAndServicesApiService Delete a specific manager.RouteMap on a Logical Router
  1624  Deletes a specific manager.RouteMap on the specified logical router.
  1625  * @param ctx context.Context Authentication Context
  1626  @param logicalRouterId
  1627  @param id
  1628  @return */
  1629  func (a *LogicalRoutingAndServicesApiService) DeleteRouteMap(ctx context.Context, logicalRouterId string, id string) (*http.Response, error) {
  1630  	var (
  1631  		localVarHttpMethod = strings.ToUpper("Delete")
  1632  		localVarPostBody   interface{}
  1633  		localVarFileName   string
  1634  		localVarFileBytes  []byte
  1635  	)
  1636  
  1637  	// create path and map variables
  1638  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/route-maps/{id}"
  1639  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1640  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  1641  
  1642  	localVarHeaderParams := make(map[string]string)
  1643  	localVarQueryParams := url.Values{}
  1644  	localVarFormParams := url.Values{}
  1645  
  1646  	// to determine the Content-Type header
  1647  	localVarHttpContentTypes := []string{"application/json"}
  1648  
  1649  	// set Content-Type header
  1650  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1651  	if localVarHttpContentType != "" {
  1652  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1653  	}
  1654  
  1655  	// to determine the Accept header
  1656  	localVarHttpHeaderAccepts := []string{
  1657  		"application/json",
  1658  	}
  1659  
  1660  	// set Accept header
  1661  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1662  	if localVarHttpHeaderAccept != "" {
  1663  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1664  	}
  1665  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1666  	if err != nil {
  1667  		return nil, err
  1668  	}
  1669  
  1670  	localVarHttpResponse, err := a.client.callAPI(r)
  1671  	if err != nil || localVarHttpResponse == nil {
  1672  		return localVarHttpResponse, err
  1673  	}
  1674  	defer localVarHttpResponse.Body.Close()
  1675  	if localVarHttpResponse.StatusCode >= 300 {
  1676  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1677  	}
  1678  
  1679  	return localVarHttpResponse, err
  1680  }
  1681  
  1682  /* LogicalRoutingAndServicesApiService Delete a Logical Router Service
  1683  Deletes the specified logical router service.
  1684  * @param ctx context.Context Authentication Context
  1685  @param serviceId
  1686  @return */
  1687  func (a *LogicalRoutingAndServicesApiService) DeleteService(ctx context.Context, serviceId string) (*http.Response, error) {
  1688  	var (
  1689  		localVarHttpMethod = strings.ToUpper("Delete")
  1690  		localVarPostBody   interface{}
  1691  		localVarFileName   string
  1692  		localVarFileBytes  []byte
  1693  	)
  1694  
  1695  	// create path and map variables
  1696  	localVarPath := a.client.cfg.BasePath + "/services/{service-id}"
  1697  	localVarPath = strings.Replace(localVarPath, "{"+"service-id"+"}", fmt.Sprintf("%v", serviceId), -1)
  1698  
  1699  	localVarHeaderParams := make(map[string]string)
  1700  	localVarQueryParams := url.Values{}
  1701  	localVarFormParams := url.Values{}
  1702  
  1703  	// to determine the Content-Type header
  1704  	localVarHttpContentTypes := []string{"application/json"}
  1705  
  1706  	// set Content-Type header
  1707  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1708  	if localVarHttpContentType != "" {
  1709  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1710  	}
  1711  
  1712  	// to determine the Accept header
  1713  	localVarHttpHeaderAccepts := []string{
  1714  		"application/json",
  1715  	}
  1716  
  1717  	// set Accept header
  1718  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1719  	if localVarHttpHeaderAccept != "" {
  1720  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1721  	}
  1722  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1723  	if err != nil {
  1724  		return nil, err
  1725  	}
  1726  
  1727  	localVarHttpResponse, err := a.client.callAPI(r)
  1728  	if err != nil || localVarHttpResponse == nil {
  1729  		return localVarHttpResponse, err
  1730  	}
  1731  	defer localVarHttpResponse.Body.Close()
  1732  	if localVarHttpResponse.StatusCode >= 300 {
  1733  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1734  	}
  1735  
  1736  	return localVarHttpResponse, err
  1737  }
  1738  
  1739  /* LogicalRoutingAndServicesApiService Delete a Service Profile
  1740  Deletes the specified service profile.
  1741  * @param ctx context.Context Authentication Context
  1742  @param serviceProfileId
  1743  @return */
  1744  func (a *LogicalRoutingAndServicesApiService) DeleteServiceProfile(ctx context.Context, serviceProfileId string) (*http.Response, error) {
  1745  	var (
  1746  		localVarHttpMethod = strings.ToUpper("Delete")
  1747  		localVarPostBody   interface{}
  1748  		localVarFileName   string
  1749  		localVarFileBytes  []byte
  1750  	)
  1751  
  1752  	// create path and map variables
  1753  	localVarPath := a.client.cfg.BasePath + "/service-profiles/{service-profile-id}"
  1754  	localVarPath = strings.Replace(localVarPath, "{"+"service-profile-id"+"}", fmt.Sprintf("%v", serviceProfileId), -1)
  1755  
  1756  	localVarHeaderParams := make(map[string]string)
  1757  	localVarQueryParams := url.Values{}
  1758  	localVarFormParams := url.Values{}
  1759  
  1760  	// to determine the Content-Type header
  1761  	localVarHttpContentTypes := []string{"application/json"}
  1762  
  1763  	// set Content-Type header
  1764  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1765  	if localVarHttpContentType != "" {
  1766  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1767  	}
  1768  
  1769  	// to determine the Accept header
  1770  	localVarHttpHeaderAccepts := []string{
  1771  		"application/json",
  1772  	}
  1773  
  1774  	// set Accept header
  1775  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1776  	if localVarHttpHeaderAccept != "" {
  1777  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1778  	}
  1779  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1780  	if err != nil {
  1781  		return nil, err
  1782  	}
  1783  
  1784  	localVarHttpResponse, err := a.client.callAPI(r)
  1785  	if err != nil || localVarHttpResponse == nil {
  1786  		return localVarHttpResponse, err
  1787  	}
  1788  	defer localVarHttpResponse.Body.Close()
  1789  	if localVarHttpResponse.StatusCode >= 300 {
  1790  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1791  	}
  1792  
  1793  	return localVarHttpResponse, err
  1794  }
  1795  
  1796  /* LogicalRoutingAndServicesApiService Delete a specified static route BFD peer cofigured on a specified logical router
  1797  Deletes the specified BFD peer present on specified logical router.
  1798  * @param ctx context.Context Authentication Context
  1799  @param logicalRouterId
  1800  @param bfdPeerId
  1801  @param optional (nil or map[string]interface{}) with one or more of:
  1802      @param "force" (bool) Force delete the resource even if it is being used somewhere
  1803  @return */
  1804  func (a *LogicalRoutingAndServicesApiService) DeleteStaticHopBfdPeer(ctx context.Context, logicalRouterId string, bfdPeerId string, localVarOptionals map[string]interface{}) (*http.Response, error) {
  1805  	var (
  1806  		localVarHttpMethod = strings.ToUpper("Delete")
  1807  		localVarPostBody   interface{}
  1808  		localVarFileName   string
  1809  		localVarFileBytes  []byte
  1810  	)
  1811  
  1812  	// create path and map variables
  1813  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers/{bfd-peer-id}"
  1814  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1815  	localVarPath = strings.Replace(localVarPath, "{"+"bfd-peer-id"+"}", fmt.Sprintf("%v", bfdPeerId), -1)
  1816  
  1817  	localVarHeaderParams := make(map[string]string)
  1818  	localVarQueryParams := url.Values{}
  1819  	localVarFormParams := url.Values{}
  1820  
  1821  	if err := typeCheckParameter(localVarOptionals["force"], "bool", "force"); err != nil {
  1822  		return nil, err
  1823  	}
  1824  
  1825  	if localVarTempParam, localVarOk := localVarOptionals["force"].(bool); localVarOk {
  1826  		localVarQueryParams.Add("force", parameterToString(localVarTempParam, ""))
  1827  	}
  1828  	// to determine the Content-Type header
  1829  	localVarHttpContentTypes := []string{"application/json"}
  1830  
  1831  	// set Content-Type header
  1832  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1833  	if localVarHttpContentType != "" {
  1834  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1835  	}
  1836  
  1837  	// to determine the Accept header
  1838  	localVarHttpHeaderAccepts := []string{
  1839  		"application/json",
  1840  	}
  1841  
  1842  	// set Accept header
  1843  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1844  	if localVarHttpHeaderAccept != "" {
  1845  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1846  	}
  1847  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1848  	if err != nil {
  1849  		return nil, err
  1850  	}
  1851  
  1852  	localVarHttpResponse, err := a.client.callAPI(r)
  1853  	if err != nil || localVarHttpResponse == nil {
  1854  		return localVarHttpResponse, err
  1855  	}
  1856  	defer localVarHttpResponse.Body.Close()
  1857  	if localVarHttpResponse.StatusCode >= 300 {
  1858  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1859  	}
  1860  
  1861  	return localVarHttpResponse, err
  1862  }
  1863  
  1864  /* LogicalRoutingAndServicesApiService Delete a specific Static Route on a Logical Router
  1865  Deletes a specific static route on the specified logical router.
  1866  * @param ctx context.Context Authentication Context
  1867  @param logicalRouterId
  1868  @param id
  1869  @return */
  1870  func (a *LogicalRoutingAndServicesApiService) DeleteStaticRoute(ctx context.Context, logicalRouterId string, id string) (*http.Response, error) {
  1871  	var (
  1872  		localVarHttpMethod = strings.ToUpper("Delete")
  1873  		localVarPostBody   interface{}
  1874  		localVarFileName   string
  1875  		localVarFileBytes  []byte
  1876  	)
  1877  
  1878  	// create path and map variables
  1879  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes/{id}"
  1880  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1881  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  1882  
  1883  	localVarHeaderParams := make(map[string]string)
  1884  	localVarQueryParams := url.Values{}
  1885  	localVarFormParams := url.Values{}
  1886  
  1887  	// to determine the Content-Type header
  1888  	localVarHttpContentTypes := []string{"application/json"}
  1889  
  1890  	// set Content-Type header
  1891  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1892  	if localVarHttpContentType != "" {
  1893  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1894  	}
  1895  
  1896  	// to determine the Accept header
  1897  	localVarHttpHeaderAccepts := []string{
  1898  		"application/json",
  1899  	}
  1900  
  1901  	// set Accept header
  1902  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1903  	if localVarHttpHeaderAccept != "" {
  1904  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1905  	}
  1906  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1907  	if err != nil {
  1908  		return nil, err
  1909  	}
  1910  
  1911  	localVarHttpResponse, err := a.client.callAPI(r)
  1912  	if err != nil || localVarHttpResponse == nil {
  1913  		return localVarHttpResponse, err
  1914  	}
  1915  	defer localVarHttpResponse.Body.Close()
  1916  	if localVarHttpResponse.StatusCode >= 300 {
  1917  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1918  	}
  1919  
  1920  	return localVarHttpResponse, err
  1921  }
  1922  
  1923  /* LogicalRoutingAndServicesApiService Get the status of all the BGP neighbors for the Logical Router of the given id
  1924  Returns the status of all the BGP neighbors for the Logical Router of the given id. To get BGP neighbors status for the logical router from particular node, parameter \"transport_node_id=<transportnode_id>\" needs to be specified. The query parameter \"source=cached\" is not supported.
  1925  * @param ctx context.Context Authentication Context
  1926  @param logicalRouterId
  1927  @param optional (nil or map[string]interface{}) with one or more of:
  1928      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  1929      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  1930      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  1931      @param "sortAscending" (bool)
  1932      @param "sortBy" (string) Field by which records are sorted
  1933      @param "source" (string) Data source type.
  1934      @param "transportNodeId" (string) Transport node id
  1935  @return manager.BgpNeighborsStatusListResult*/
  1936  func (a *LogicalRoutingAndServicesApiService) GetBgpNeighborsStatus(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.BgpNeighborsStatusListResult, *http.Response, error) {
  1937  	var (
  1938  		localVarHttpMethod = strings.ToUpper("Get")
  1939  		localVarPostBody   interface{}
  1940  		localVarFileName   string
  1941  		localVarFileBytes  []byte
  1942  		successPayload     manager.BgpNeighborsStatusListResult
  1943  	)
  1944  
  1945  	// create path and map variables
  1946  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp/neighbors/status"
  1947  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  1948  
  1949  	localVarHeaderParams := make(map[string]string)
  1950  	localVarQueryParams := url.Values{}
  1951  	localVarFormParams := url.Values{}
  1952  
  1953  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  1954  		return successPayload, nil, err
  1955  	}
  1956  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  1957  		return successPayload, nil, err
  1958  	}
  1959  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  1960  		return successPayload, nil, err
  1961  	}
  1962  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  1963  		return successPayload, nil, err
  1964  	}
  1965  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  1966  		return successPayload, nil, err
  1967  	}
  1968  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  1969  		return successPayload, nil, err
  1970  	}
  1971  	if err := typeCheckParameter(localVarOptionals["transportNodeId"], "string", "transportNodeId"); err != nil {
  1972  		return successPayload, nil, err
  1973  	}
  1974  
  1975  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  1976  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  1977  	}
  1978  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  1979  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  1980  	}
  1981  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  1982  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  1983  	}
  1984  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  1985  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  1986  	}
  1987  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  1988  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  1989  	}
  1990  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  1991  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  1992  	}
  1993  	if localVarTempParam, localVarOk := localVarOptionals["transportNodeId"].(string); localVarOk {
  1994  		localVarQueryParams.Add("transport_node_id", parameterToString(localVarTempParam, ""))
  1995  	}
  1996  	// to determine the Content-Type header
  1997  	localVarHttpContentTypes := []string{"application/json"}
  1998  
  1999  	// set Content-Type header
  2000  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2001  	if localVarHttpContentType != "" {
  2002  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2003  	}
  2004  
  2005  	// to determine the Accept header
  2006  	localVarHttpHeaderAccepts := []string{
  2007  		"application/json",
  2008  	}
  2009  
  2010  	// set Accept header
  2011  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2012  	if localVarHttpHeaderAccept != "" {
  2013  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2014  	}
  2015  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2016  	if err != nil {
  2017  		return successPayload, nil, err
  2018  	}
  2019  
  2020  	localVarHttpResponse, err := a.client.callAPI(r)
  2021  	if err != nil || localVarHttpResponse == nil {
  2022  		return successPayload, localVarHttpResponse, err
  2023  	}
  2024  	defer localVarHttpResponse.Body.Close()
  2025  	if localVarHttpResponse.StatusCode >= 300 {
  2026  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2027  	}
  2028  
  2029  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2030  		return successPayload, localVarHttpResponse, err
  2031  	}
  2032  
  2033  	return successPayload, localVarHttpResponse, err
  2034  }
  2035  
  2036  /* LogicalRoutingAndServicesApiService Get FIB table on a specified node for a logical router
  2037  Returns the FIB for the logical router on a node of the given transport-node-id. Query parameter \"transport_node_id=<transport-node-id>\" is required. To filter the result by network address, paramter \"network_prefix=<a.b.c.d/mask>\" needs to be specified. The query parameter \"source=cached\" is not supported.
  2038  * @param ctx context.Context Authentication Context
  2039  @param logicalRouterId
  2040  @param transportNodeId TransportNode Id
  2041  @param optional (nil or map[string]interface{}) with one or more of:
  2042      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  2043      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  2044      @param "networkPrefix" (string) IPv4 CIDR Block
  2045      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  2046      @param "sortAscending" (bool)
  2047      @param "sortBy" (string) Field by which records are sorted
  2048      @param "source" (string) Data source type.
  2049  @return manager.LogicalRouterRouteTable*/
  2050  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterForwardingTable(ctx context.Context, logicalRouterId string, transportNodeId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterRouteTable, *http.Response, error) {
  2051  	var (
  2052  		localVarHttpMethod = strings.ToUpper("Get")
  2053  		localVarPostBody   interface{}
  2054  		localVarFileName   string
  2055  		localVarFileBytes  []byte
  2056  		successPayload     manager.LogicalRouterRouteTable
  2057  	)
  2058  
  2059  	// create path and map variables
  2060  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/forwarding-table"
  2061  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  2062  
  2063  	localVarHeaderParams := make(map[string]string)
  2064  	localVarQueryParams := url.Values{}
  2065  	localVarFormParams := url.Values{}
  2066  
  2067  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  2068  		return successPayload, nil, err
  2069  	}
  2070  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  2071  		return successPayload, nil, err
  2072  	}
  2073  	if err := typeCheckParameter(localVarOptionals["networkPrefix"], "string", "networkPrefix"); err != nil {
  2074  		return successPayload, nil, err
  2075  	}
  2076  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  2077  		return successPayload, nil, err
  2078  	}
  2079  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  2080  		return successPayload, nil, err
  2081  	}
  2082  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  2083  		return successPayload, nil, err
  2084  	}
  2085  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2086  		return successPayload, nil, err
  2087  	}
  2088  
  2089  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  2090  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  2091  	}
  2092  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  2093  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  2094  	}
  2095  	if localVarTempParam, localVarOk := localVarOptionals["networkPrefix"].(string); localVarOk {
  2096  		localVarQueryParams.Add("network_prefix", parameterToString(localVarTempParam, ""))
  2097  	}
  2098  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  2099  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  2100  	}
  2101  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  2102  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  2103  	}
  2104  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  2105  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  2106  	}
  2107  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2108  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2109  	}
  2110  	localVarQueryParams.Add("transport_node_id", parameterToString(transportNodeId, ""))
  2111  	// to determine the Content-Type header
  2112  	localVarHttpContentTypes := []string{"application/json"}
  2113  
  2114  	// set Content-Type header
  2115  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2116  	if localVarHttpContentType != "" {
  2117  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2118  	}
  2119  
  2120  	// to determine the Accept header
  2121  	localVarHttpHeaderAccepts := []string{
  2122  		"application/json",
  2123  	}
  2124  
  2125  	// set Accept header
  2126  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2127  	if localVarHttpHeaderAccept != "" {
  2128  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2129  	}
  2130  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2131  	if err != nil {
  2132  		return successPayload, nil, err
  2133  	}
  2134  
  2135  	localVarHttpResponse, err := a.client.callAPI(r)
  2136  	if err != nil || localVarHttpResponse == nil {
  2137  		return successPayload, localVarHttpResponse, err
  2138  	}
  2139  	defer localVarHttpResponse.Body.Close()
  2140  	if localVarHttpResponse.StatusCode >= 300 {
  2141  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2142  	}
  2143  
  2144  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2145  		return successPayload, localVarHttpResponse, err
  2146  	}
  2147  
  2148  	return successPayload, localVarHttpResponse, err
  2149  }
  2150  
  2151  /* LogicalRoutingAndServicesApiService Get FIB table on a specified node for a logical router
  2152  Returns the FIB table in CSV format for the logical router on a node of the given transport-node-id. Query parameter \"transport_node_id=<transport-node-id>\" is required. To filter the result by network address, paramter \"network_prefix=<a.b.c.d/mask>\" needs to be specified. The query parameter \"source=cached\" is not supported.
  2153  * @param ctx context.Context Authentication Context
  2154  @param logicalRouterId
  2155  @param transportNodeId TransportNode Id
  2156  @param optional (nil or map[string]interface{}) with one or more of:
  2157      @param "networkPrefix" (string) IPv4 CIDR Block
  2158      @param "source" (string) Data source type.
  2159  @return manager.LogicalRouterRouteTableInCsvFormat*/
  2160  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterForwardingTableInCsvFormatCsv(ctx context.Context, logicalRouterId string, transportNodeId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterRouteTableInCsvFormat, *http.Response, error) {
  2161  	var (
  2162  		localVarHttpMethod = strings.ToUpper("Get")
  2163  		localVarPostBody   interface{}
  2164  		localVarFileName   string
  2165  		localVarFileBytes  []byte
  2166  		successPayload     manager.LogicalRouterRouteTableInCsvFormat
  2167  	)
  2168  
  2169  	// create path and map variables
  2170  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/forwarding-table?format=csv"
  2171  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  2172  
  2173  	localVarHeaderParams := make(map[string]string)
  2174  	localVarQueryParams := url.Values{}
  2175  	localVarFormParams := url.Values{}
  2176  
  2177  	if err := typeCheckParameter(localVarOptionals["networkPrefix"], "string", "networkPrefix"); err != nil {
  2178  		return successPayload, nil, err
  2179  	}
  2180  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2181  		return successPayload, nil, err
  2182  	}
  2183  
  2184  	if localVarTempParam, localVarOk := localVarOptionals["networkPrefix"].(string); localVarOk {
  2185  		localVarQueryParams.Add("network_prefix", parameterToString(localVarTempParam, ""))
  2186  	}
  2187  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2188  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2189  	}
  2190  	localVarQueryParams.Add("transport_node_id", parameterToString(transportNodeId, ""))
  2191  	// to determine the Content-Type header
  2192  	localVarHttpContentTypes := []string{"application/json"}
  2193  
  2194  	// set Content-Type header
  2195  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2196  	if localVarHttpContentType != "" {
  2197  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2198  	}
  2199  
  2200  	// to determine the Accept header
  2201  	localVarHttpHeaderAccepts := []string{
  2202  		"text/csv",
  2203  	}
  2204  
  2205  	// set Accept header
  2206  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2207  	if localVarHttpHeaderAccept != "" {
  2208  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2209  	}
  2210  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2211  	if err != nil {
  2212  		return successPayload, nil, err
  2213  	}
  2214  
  2215  	localVarHttpResponse, err := a.client.callAPI(r)
  2216  	if err != nil || localVarHttpResponse == nil {
  2217  		return successPayload, localVarHttpResponse, err
  2218  	}
  2219  	defer localVarHttpResponse.Body.Close()
  2220  	if localVarHttpResponse.StatusCode >= 300 {
  2221  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2222  	}
  2223  
  2224  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2225  		return successPayload, localVarHttpResponse, err
  2226  	}
  2227  
  2228  	return successPayload, localVarHttpResponse, err
  2229  }
  2230  
  2231  /* LogicalRoutingAndServicesApiService Get the ARP table for the Logical Router Port of the given id
  2232  Returns ARP table for the Logical Router Port of the given id, on a node if a query parameter \"transport_node_id=<transport-node-id>\" is given. The transport_node_id parameter is mandatory if the router port is not uplink type. The query parameter \"source=cached\" is not supported.
  2233  * @param ctx context.Context Authentication Context
  2234  @param logicalRouterPortId
  2235  @param optional (nil or map[string]interface{}) with one or more of:
  2236      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  2237      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  2238      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  2239      @param "sortAscending" (bool)
  2240      @param "sortBy" (string) Field by which records are sorted
  2241      @param "source" (string) Data source type.
  2242      @param "transportNodeId" (string) TransportNode Id
  2243  @return manager.LogicalRouterPortArpTable*/
  2244  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterPortArpTable(ctx context.Context, logicalRouterPortId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterPortArpTable, *http.Response, error) {
  2245  	var (
  2246  		localVarHttpMethod = strings.ToUpper("Get")
  2247  		localVarPostBody   interface{}
  2248  		localVarFileName   string
  2249  		localVarFileBytes  []byte
  2250  		successPayload     manager.LogicalRouterPortArpTable
  2251  	)
  2252  
  2253  	// create path and map variables
  2254  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}/arp-table"
  2255  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  2256  
  2257  	localVarHeaderParams := make(map[string]string)
  2258  	localVarQueryParams := url.Values{}
  2259  	localVarFormParams := url.Values{}
  2260  
  2261  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  2262  		return successPayload, nil, err
  2263  	}
  2264  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  2265  		return successPayload, nil, err
  2266  	}
  2267  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  2268  		return successPayload, nil, err
  2269  	}
  2270  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  2271  		return successPayload, nil, err
  2272  	}
  2273  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  2274  		return successPayload, nil, err
  2275  	}
  2276  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2277  		return successPayload, nil, err
  2278  	}
  2279  	if err := typeCheckParameter(localVarOptionals["transportNodeId"], "string", "transportNodeId"); err != nil {
  2280  		return successPayload, nil, err
  2281  	}
  2282  
  2283  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  2284  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  2285  	}
  2286  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  2287  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  2288  	}
  2289  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  2290  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  2291  	}
  2292  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  2293  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  2294  	}
  2295  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  2296  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  2297  	}
  2298  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2299  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2300  	}
  2301  	if localVarTempParam, localVarOk := localVarOptionals["transportNodeId"].(string); localVarOk {
  2302  		localVarQueryParams.Add("transport_node_id", parameterToString(localVarTempParam, ""))
  2303  	}
  2304  	// to determine the Content-Type header
  2305  	localVarHttpContentTypes := []string{"application/json"}
  2306  
  2307  	// set Content-Type header
  2308  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2309  	if localVarHttpContentType != "" {
  2310  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2311  	}
  2312  
  2313  	// to determine the Accept header
  2314  	localVarHttpHeaderAccepts := []string{
  2315  		"application/json",
  2316  	}
  2317  
  2318  	// set Accept header
  2319  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2320  	if localVarHttpHeaderAccept != "" {
  2321  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2322  	}
  2323  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2324  	if err != nil {
  2325  		return successPayload, nil, err
  2326  	}
  2327  
  2328  	localVarHttpResponse, err := a.client.callAPI(r)
  2329  	if err != nil || localVarHttpResponse == nil {
  2330  		return successPayload, localVarHttpResponse, err
  2331  	}
  2332  	defer localVarHttpResponse.Body.Close()
  2333  	if localVarHttpResponse.StatusCode >= 300 {
  2334  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2335  	}
  2336  
  2337  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2338  		return successPayload, localVarHttpResponse, err
  2339  	}
  2340  
  2341  	return successPayload, localVarHttpResponse, err
  2342  }
  2343  
  2344  /* LogicalRoutingAndServicesApiService Get the ARP table for the Logical Router Port of the given id
  2345  Returns ARP table in CSV format for the Logical Router Port of the given id, on a node if a query parameter \"transport_node_id=<transport-node-id>\" is given. The transport_node_id parameter is mandatory if the router port is not uplink type. The query parameter \"source=cached\" is not supported.
  2346  * @param ctx context.Context Authentication Context
  2347  @param logicalRouterPortId
  2348  @param optional (nil or map[string]interface{}) with one or more of:
  2349      @param "source" (string) Data source type.
  2350      @param "transportNodeId" (string) TransportNode Id
  2351  @return manager.LogicalRouterPortArpTableInCsvFormat*/
  2352  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterPortArpTableInCsvFormatCsv(ctx context.Context, logicalRouterPortId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterPortArpTableInCsvFormat, *http.Response, error) {
  2353  	var (
  2354  		localVarHttpMethod = strings.ToUpper("Get")
  2355  		localVarPostBody   interface{}
  2356  		localVarFileName   string
  2357  		localVarFileBytes  []byte
  2358  		successPayload     manager.LogicalRouterPortArpTableInCsvFormat
  2359  	)
  2360  
  2361  	// create path and map variables
  2362  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}/arp-table?format=csv"
  2363  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  2364  
  2365  	localVarHeaderParams := make(map[string]string)
  2366  	localVarQueryParams := url.Values{}
  2367  	localVarFormParams := url.Values{}
  2368  
  2369  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2370  		return successPayload, nil, err
  2371  	}
  2372  	if err := typeCheckParameter(localVarOptionals["transportNodeId"], "string", "transportNodeId"); err != nil {
  2373  		return successPayload, nil, err
  2374  	}
  2375  
  2376  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2377  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2378  	}
  2379  	if localVarTempParam, localVarOk := localVarOptionals["transportNodeId"].(string); localVarOk {
  2380  		localVarQueryParams.Add("transport_node_id", parameterToString(localVarTempParam, ""))
  2381  	}
  2382  	// to determine the Content-Type header
  2383  	localVarHttpContentTypes := []string{"application/json"}
  2384  
  2385  	// set Content-Type header
  2386  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2387  	if localVarHttpContentType != "" {
  2388  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2389  	}
  2390  
  2391  	// to determine the Accept header
  2392  	localVarHttpHeaderAccepts := []string{
  2393  		"text/csv",
  2394  	}
  2395  
  2396  	// set Accept header
  2397  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2398  	if localVarHttpHeaderAccept != "" {
  2399  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2400  	}
  2401  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2402  	if err != nil {
  2403  		return successPayload, nil, err
  2404  	}
  2405  
  2406  	localVarHttpResponse, err := a.client.callAPI(r)
  2407  	if err != nil || localVarHttpResponse == nil {
  2408  		return successPayload, localVarHttpResponse, err
  2409  	}
  2410  	defer localVarHttpResponse.Body.Close()
  2411  	if localVarHttpResponse.StatusCode >= 300 {
  2412  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2413  	}
  2414  
  2415  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2416  		return successPayload, localVarHttpResponse, err
  2417  	}
  2418  
  2419  	return successPayload, localVarHttpResponse, err
  2420  }
  2421  
  2422  /* LogicalRoutingAndServicesApiService Get the statistics of a specified logical router port on all or a specified node
  2423  Returns the statistics for the Logical Router Port. If query parameter \"transport_node_id=<transport-node-id>\" is given,  only the statistics from the given node for the logical router port will be returned. Otherwise the statistics from each node for the same logical router port will be returned. The transport_node_id is mandatory if the router port is not uplink type. The query parameter \"source=realtime\" is not supported.
  2424  * @param ctx context.Context Authentication Context
  2425  @param logicalRouterPortId
  2426  @param optional (nil or map[string]interface{}) with one or more of:
  2427      @param "source" (string) Data source type.
  2428      @param "transportNodeId" (string) TransportNode Id
  2429  @return manager.LogicalRouterPortStatistics*/
  2430  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterPortStatistics(ctx context.Context, logicalRouterPortId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterPortStatistics, *http.Response, error) {
  2431  	var (
  2432  		localVarHttpMethod = strings.ToUpper("Get")
  2433  		localVarPostBody   interface{}
  2434  		localVarFileName   string
  2435  		localVarFileBytes  []byte
  2436  		successPayload     manager.LogicalRouterPortStatistics
  2437  	)
  2438  
  2439  	// create path and map variables
  2440  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}/statistics"
  2441  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  2442  
  2443  	localVarHeaderParams := make(map[string]string)
  2444  	localVarQueryParams := url.Values{}
  2445  	localVarFormParams := url.Values{}
  2446  
  2447  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2448  		return successPayload, nil, err
  2449  	}
  2450  	if err := typeCheckParameter(localVarOptionals["transportNodeId"], "string", "transportNodeId"); err != nil {
  2451  		return successPayload, nil, err
  2452  	}
  2453  
  2454  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2455  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2456  	}
  2457  	if localVarTempParam, localVarOk := localVarOptionals["transportNodeId"].(string); localVarOk {
  2458  		localVarQueryParams.Add("transport_node_id", parameterToString(localVarTempParam, ""))
  2459  	}
  2460  	// to determine the Content-Type header
  2461  	localVarHttpContentTypes := []string{"application/json"}
  2462  
  2463  	// set Content-Type header
  2464  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2465  	if localVarHttpContentType != "" {
  2466  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2467  	}
  2468  
  2469  	// to determine the Accept header
  2470  	localVarHttpHeaderAccepts := []string{
  2471  		"application/json",
  2472  	}
  2473  
  2474  	// set Accept header
  2475  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2476  	if localVarHttpHeaderAccept != "" {
  2477  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2478  	}
  2479  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2480  	if err != nil {
  2481  		return successPayload, nil, err
  2482  	}
  2483  
  2484  	localVarHttpResponse, err := a.client.callAPI(r)
  2485  	if err != nil || localVarHttpResponse == nil {
  2486  		return successPayload, localVarHttpResponse, err
  2487  	}
  2488  	defer localVarHttpResponse.Body.Close()
  2489  	if localVarHttpResponse.StatusCode >= 300 {
  2490  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2491  	}
  2492  
  2493  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2494  		return successPayload, localVarHttpResponse, err
  2495  	}
  2496  
  2497  	return successPayload, localVarHttpResponse, err
  2498  }
  2499  
  2500  /* LogicalRoutingAndServicesApiService Get the statistics summary of a specified logical router port
  2501  Returns the summation of statistics from all nodes for the Specified Logical Router Port. The query parameter \"source=realtime\" is not supported.
  2502  * @param ctx context.Context Authentication Context
  2503  @param logicalRouterPortId
  2504  @param optional (nil or map[string]interface{}) with one or more of:
  2505      @param "source" (string) Data source type.
  2506  @return manager.LogicalRouterPortStatisticsSummary*/
  2507  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterPortStatisticsSummary(ctx context.Context, logicalRouterPortId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterPortStatisticsSummary, *http.Response, error) {
  2508  	var (
  2509  		localVarHttpMethod = strings.ToUpper("Get")
  2510  		localVarPostBody   interface{}
  2511  		localVarFileName   string
  2512  		localVarFileBytes  []byte
  2513  		successPayload     manager.LogicalRouterPortStatisticsSummary
  2514  	)
  2515  
  2516  	// create path and map variables
  2517  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}/statistics/summary"
  2518  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  2519  
  2520  	localVarHeaderParams := make(map[string]string)
  2521  	localVarQueryParams := url.Values{}
  2522  	localVarFormParams := url.Values{}
  2523  
  2524  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2525  		return successPayload, nil, err
  2526  	}
  2527  
  2528  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2529  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2530  	}
  2531  	// to determine the Content-Type header
  2532  	localVarHttpContentTypes := []string{"application/json"}
  2533  
  2534  	// set Content-Type header
  2535  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2536  	if localVarHttpContentType != "" {
  2537  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2538  	}
  2539  
  2540  	// to determine the Accept header
  2541  	localVarHttpHeaderAccepts := []string{
  2542  		"application/json",
  2543  	}
  2544  
  2545  	// set Accept header
  2546  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2547  	if localVarHttpHeaderAccept != "" {
  2548  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2549  	}
  2550  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2551  	if err != nil {
  2552  		return successPayload, nil, err
  2553  	}
  2554  
  2555  	localVarHttpResponse, err := a.client.callAPI(r)
  2556  	if err != nil || localVarHttpResponse == nil {
  2557  		return successPayload, localVarHttpResponse, err
  2558  	}
  2559  	defer localVarHttpResponse.Body.Close()
  2560  	if localVarHttpResponse.StatusCode >= 300 {
  2561  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2562  	}
  2563  
  2564  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2565  		return successPayload, localVarHttpResponse, err
  2566  	}
  2567  
  2568  	return successPayload, localVarHttpResponse, err
  2569  }
  2570  
  2571  /* LogicalRoutingAndServicesApiService Get route table on a given node for a logical router
  2572  Deprecated - Please use /logical-routers/<logical-router-id>/routing/routing-table for RIB and /logical-routers/<logical-router-id>/routing/forwarding-table for FIB. Returns the route table for the logical router on a node of the given transport-node-id. Query parameter \"transport_node_id=<transport-node-id>\" is required. The query parameter \"source=cached\" is not supported.
  2573  * @param ctx context.Context Authentication Context
  2574  @param logicalRouterId
  2575  @param transportNodeId TransportNode Id
  2576  @param optional (nil or map[string]interface{}) with one or more of:
  2577      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  2578      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  2579      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  2580      @param "sortAscending" (bool)
  2581      @param "sortBy" (string) Field by which records are sorted
  2582      @param "source" (string) Data source type.
  2583  @return manager.LogicalRouterRouteTable*/
  2584  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterRouteTable(ctx context.Context, logicalRouterId string, transportNodeId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterRouteTable, *http.Response, error) {
  2585  	var (
  2586  		localVarHttpMethod = strings.ToUpper("Get")
  2587  		localVarPostBody   interface{}
  2588  		localVarFileName   string
  2589  		localVarFileBytes  []byte
  2590  		successPayload     manager.LogicalRouterRouteTable
  2591  	)
  2592  
  2593  	// create path and map variables
  2594  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/route-table"
  2595  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  2596  
  2597  	localVarHeaderParams := make(map[string]string)
  2598  	localVarQueryParams := url.Values{}
  2599  	localVarFormParams := url.Values{}
  2600  
  2601  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  2602  		return successPayload, nil, err
  2603  	}
  2604  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  2605  		return successPayload, nil, err
  2606  	}
  2607  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  2608  		return successPayload, nil, err
  2609  	}
  2610  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  2611  		return successPayload, nil, err
  2612  	}
  2613  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  2614  		return successPayload, nil, err
  2615  	}
  2616  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2617  		return successPayload, nil, err
  2618  	}
  2619  
  2620  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  2621  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  2622  	}
  2623  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  2624  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  2625  	}
  2626  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  2627  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  2628  	}
  2629  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  2630  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  2631  	}
  2632  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  2633  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  2634  	}
  2635  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2636  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2637  	}
  2638  	localVarQueryParams.Add("transport_node_id", parameterToString(transportNodeId, ""))
  2639  	// to determine the Content-Type header
  2640  	localVarHttpContentTypes := []string{"application/json"}
  2641  
  2642  	// set Content-Type header
  2643  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2644  	if localVarHttpContentType != "" {
  2645  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2646  	}
  2647  
  2648  	// to determine the Accept header
  2649  	localVarHttpHeaderAccepts := []string{
  2650  		"application/json",
  2651  	}
  2652  
  2653  	// set Accept header
  2654  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2655  	if localVarHttpHeaderAccept != "" {
  2656  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2657  	}
  2658  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2659  	if err != nil {
  2660  		return successPayload, nil, err
  2661  	}
  2662  
  2663  	localVarHttpResponse, err := a.client.callAPI(r)
  2664  	if err != nil || localVarHttpResponse == nil {
  2665  		return successPayload, localVarHttpResponse, err
  2666  	}
  2667  	defer localVarHttpResponse.Body.Close()
  2668  	if localVarHttpResponse.StatusCode >= 300 {
  2669  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2670  	}
  2671  
  2672  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2673  		return successPayload, localVarHttpResponse, err
  2674  	}
  2675  
  2676  	return successPayload, localVarHttpResponse, err
  2677  }
  2678  
  2679  /* LogicalRoutingAndServicesApiService Get route table on a node for a logical router
  2680  Deprecated - Please use /logical-routers/<logical-router-id>/routing/routing-table for RIB and /logical-routers/<logical-router-id>/routing/forwarding-table for FIB. Returns the route table in CSV format for the logical router on a node of the given transport-node-id. Query parameter \"transport_node_id=<transport-node-id>\" is required. The query parameter \"source=cached\" is not supported.
  2681  * @param ctx context.Context Authentication Context
  2682  @param logicalRouterId
  2683  @param transportNodeId TransportNode Id
  2684  @param optional (nil or map[string]interface{}) with one or more of:
  2685      @param "source" (string) Data source type.
  2686  @return manager.LogicalRouterRouteTableInCsvFormat*/
  2687  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterRouteTableInCsvFormatCsv(ctx context.Context, logicalRouterId string, transportNodeId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterRouteTableInCsvFormat, *http.Response, error) {
  2688  	var (
  2689  		localVarHttpMethod = strings.ToUpper("Get")
  2690  		localVarPostBody   interface{}
  2691  		localVarFileName   string
  2692  		localVarFileBytes  []byte
  2693  		successPayload     manager.LogicalRouterRouteTableInCsvFormat
  2694  	)
  2695  
  2696  	// create path and map variables
  2697  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/route-table?format=csv"
  2698  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  2699  
  2700  	localVarHeaderParams := make(map[string]string)
  2701  	localVarQueryParams := url.Values{}
  2702  	localVarFormParams := url.Values{}
  2703  
  2704  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2705  		return successPayload, nil, err
  2706  	}
  2707  
  2708  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2709  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2710  	}
  2711  	localVarQueryParams.Add("transport_node_id", parameterToString(transportNodeId, ""))
  2712  	// to determine the Content-Type header
  2713  	localVarHttpContentTypes := []string{"application/json"}
  2714  
  2715  	// set Content-Type header
  2716  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2717  	if localVarHttpContentType != "" {
  2718  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2719  	}
  2720  
  2721  	// to determine the Accept header
  2722  	localVarHttpHeaderAccepts := []string{
  2723  		"text/csv",
  2724  	}
  2725  
  2726  	// set Accept header
  2727  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2728  	if localVarHttpHeaderAccept != "" {
  2729  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2730  	}
  2731  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2732  	if err != nil {
  2733  		return successPayload, nil, err
  2734  	}
  2735  
  2736  	localVarHttpResponse, err := a.client.callAPI(r)
  2737  	if err != nil || localVarHttpResponse == nil {
  2738  		return successPayload, localVarHttpResponse, err
  2739  	}
  2740  	defer localVarHttpResponse.Body.Close()
  2741  	if localVarHttpResponse.StatusCode >= 300 {
  2742  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2743  	}
  2744  
  2745  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2746  		return successPayload, localVarHttpResponse, err
  2747  	}
  2748  
  2749  	return successPayload, localVarHttpResponse, err
  2750  }
  2751  
  2752  /* LogicalRoutingAndServicesApiService Get RIB table on a specified node for a logical router
  2753  Returns the route table(RIB) for the logical router on a node of the given transport-node-id. Query parameter \"transport_node_id=<transport-node-id>\" is required. To filter the result by network address, parameter \"network_prefix=<a.b.c.d/mask>\" needs to be specified. To filter the result by route source, parameter \"route_source=<source_type>\" needs to be specified where source_type can be BGP, STATIC, CONNECTED, NSX_STATIC, TIER1_NAT or TIER0_NAT. It is also possible to filter the RIB table using both network address and route source filter together. The query parameter \"source=cached\" is not supported.
  2754  * @param ctx context.Context Authentication Context
  2755  @param logicalRouterId
  2756  @param transportNodeId TransportNode Id
  2757  @param optional (nil or map[string]interface{}) with one or more of:
  2758      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  2759      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  2760      @param "networkPrefix" (string) IPv4 CIDR Block
  2761      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  2762      @param "routeSource" (string) To filter the RIB table based on the source from which route is learned.
  2763      @param "sortAscending" (bool)
  2764      @param "sortBy" (string) Field by which records are sorted
  2765      @param "source" (string) Data source type.
  2766  @return manager.LogicalRouterRouteTable*/
  2767  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterRoutingTable(ctx context.Context, logicalRouterId string, transportNodeId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterRouteTable, *http.Response, error) {
  2768  	var (
  2769  		localVarHttpMethod = strings.ToUpper("Get")
  2770  		localVarPostBody   interface{}
  2771  		localVarFileName   string
  2772  		localVarFileBytes  []byte
  2773  		successPayload     manager.LogicalRouterRouteTable
  2774  	)
  2775  
  2776  	// create path and map variables
  2777  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/routing-table"
  2778  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  2779  
  2780  	localVarHeaderParams := make(map[string]string)
  2781  	localVarQueryParams := url.Values{}
  2782  	localVarFormParams := url.Values{}
  2783  
  2784  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  2785  		return successPayload, nil, err
  2786  	}
  2787  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  2788  		return successPayload, nil, err
  2789  	}
  2790  	if err := typeCheckParameter(localVarOptionals["networkPrefix"], "string", "networkPrefix"); err != nil {
  2791  		return successPayload, nil, err
  2792  	}
  2793  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  2794  		return successPayload, nil, err
  2795  	}
  2796  	if err := typeCheckParameter(localVarOptionals["routeSource"], "string", "routeSource"); err != nil {
  2797  		return successPayload, nil, err
  2798  	}
  2799  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  2800  		return successPayload, nil, err
  2801  	}
  2802  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  2803  		return successPayload, nil, err
  2804  	}
  2805  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2806  		return successPayload, nil, err
  2807  	}
  2808  
  2809  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  2810  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  2811  	}
  2812  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  2813  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  2814  	}
  2815  	if localVarTempParam, localVarOk := localVarOptionals["networkPrefix"].(string); localVarOk {
  2816  		localVarQueryParams.Add("network_prefix", parameterToString(localVarTempParam, ""))
  2817  	}
  2818  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  2819  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  2820  	}
  2821  	if localVarTempParam, localVarOk := localVarOptionals["routeSource"].(string); localVarOk {
  2822  		localVarQueryParams.Add("route_source", parameterToString(localVarTempParam, ""))
  2823  	}
  2824  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  2825  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  2826  	}
  2827  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  2828  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  2829  	}
  2830  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2831  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2832  	}
  2833  	localVarQueryParams.Add("transport_node_id", parameterToString(transportNodeId, ""))
  2834  	// to determine the Content-Type header
  2835  	localVarHttpContentTypes := []string{"application/json"}
  2836  
  2837  	// set Content-Type header
  2838  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2839  	if localVarHttpContentType != "" {
  2840  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2841  	}
  2842  
  2843  	// to determine the Accept header
  2844  	localVarHttpHeaderAccepts := []string{
  2845  		"application/json",
  2846  	}
  2847  
  2848  	// set Accept header
  2849  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2850  	if localVarHttpHeaderAccept != "" {
  2851  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2852  	}
  2853  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2854  	if err != nil {
  2855  		return successPayload, nil, err
  2856  	}
  2857  
  2858  	localVarHttpResponse, err := a.client.callAPI(r)
  2859  	if err != nil || localVarHttpResponse == nil {
  2860  		return successPayload, localVarHttpResponse, err
  2861  	}
  2862  	defer localVarHttpResponse.Body.Close()
  2863  	if localVarHttpResponse.StatusCode >= 300 {
  2864  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2865  	}
  2866  
  2867  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2868  		return successPayload, localVarHttpResponse, err
  2869  	}
  2870  
  2871  	return successPayload, localVarHttpResponse, err
  2872  }
  2873  
  2874  /* LogicalRoutingAndServicesApiService Get RIB table on a specified node for a logical router
  2875  Returns the route table in CSV format for the logical router on a node of the given transport-node-id. Query parameter \"transport_node_id=<transport-node-id>\" is required. To filter the result by network address, paramter \"network_prefix=<a.b.c.d/mask>\" needs to be specified. To filter the result by route source, parameter \"route_source=<source_type>\" needs to be specified where source_type can be BGP, STATIC, CONNECTED, NSX_STATIC, TIER1_NAT or TIER0_NAT. It is also possible to filter the RIB table using both network address and route source filter together. The query parameter \"source=cached\" is not supported.
  2876  * @param ctx context.Context Authentication Context
  2877  @param logicalRouterId
  2878  @param transportNodeId TransportNode Id
  2879  @param optional (nil or map[string]interface{}) with one or more of:
  2880      @param "networkPrefix" (string) IPv4 CIDR Block
  2881      @param "routeSource" (string) To filter the RIB table based on the source from which route is learned.
  2882      @param "source" (string) Data source type.
  2883  @return manager.LogicalRouterRouteTableInCsvFormat*/
  2884  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterRoutingTableInCsvFormatCsv(ctx context.Context, logicalRouterId string, transportNodeId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterRouteTableInCsvFormat, *http.Response, error) {
  2885  	var (
  2886  		localVarHttpMethod = strings.ToUpper("Get")
  2887  		localVarPostBody   interface{}
  2888  		localVarFileName   string
  2889  		localVarFileBytes  []byte
  2890  		successPayload     manager.LogicalRouterRouteTableInCsvFormat
  2891  	)
  2892  
  2893  	// create path and map variables
  2894  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/routing-table?format=csv"
  2895  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  2896  
  2897  	localVarHeaderParams := make(map[string]string)
  2898  	localVarQueryParams := url.Values{}
  2899  	localVarFormParams := url.Values{}
  2900  
  2901  	if err := typeCheckParameter(localVarOptionals["networkPrefix"], "string", "networkPrefix"); err != nil {
  2902  		return successPayload, nil, err
  2903  	}
  2904  	if err := typeCheckParameter(localVarOptionals["routeSource"], "string", "routeSource"); err != nil {
  2905  		return successPayload, nil, err
  2906  	}
  2907  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2908  		return successPayload, nil, err
  2909  	}
  2910  
  2911  	if localVarTempParam, localVarOk := localVarOptionals["networkPrefix"].(string); localVarOk {
  2912  		localVarQueryParams.Add("network_prefix", parameterToString(localVarTempParam, ""))
  2913  	}
  2914  	if localVarTempParam, localVarOk := localVarOptionals["routeSource"].(string); localVarOk {
  2915  		localVarQueryParams.Add("route_source", parameterToString(localVarTempParam, ""))
  2916  	}
  2917  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2918  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2919  	}
  2920  	localVarQueryParams.Add("transport_node_id", parameterToString(transportNodeId, ""))
  2921  	// to determine the Content-Type header
  2922  	localVarHttpContentTypes := []string{"application/json"}
  2923  
  2924  	// set Content-Type header
  2925  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2926  	if localVarHttpContentType != "" {
  2927  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2928  	}
  2929  
  2930  	// to determine the Accept header
  2931  	localVarHttpHeaderAccepts := []string{
  2932  		"text/csv",
  2933  	}
  2934  
  2935  	// set Accept header
  2936  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2937  	if localVarHttpHeaderAccept != "" {
  2938  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2939  	}
  2940  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  2941  	if err != nil {
  2942  		return successPayload, nil, err
  2943  	}
  2944  
  2945  	localVarHttpResponse, err := a.client.callAPI(r)
  2946  	if err != nil || localVarHttpResponse == nil {
  2947  		return successPayload, localVarHttpResponse, err
  2948  	}
  2949  	defer localVarHttpResponse.Body.Close()
  2950  	if localVarHttpResponse.StatusCode >= 300 {
  2951  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  2952  	}
  2953  
  2954  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  2955  		return successPayload, localVarHttpResponse, err
  2956  	}
  2957  
  2958  	return successPayload, localVarHttpResponse, err
  2959  }
  2960  
  2961  /* LogicalRoutingAndServicesApiService Get the status for the Logical Router of the given id
  2962  Returns status for the Logical Router of the given id.
  2963  * @param ctx context.Context Authentication Context
  2964  @param logicalRouterId
  2965  @param optional (nil or map[string]interface{}) with one or more of:
  2966      @param "source" (string) Data source type.
  2967  @return manager.LogicalRouterStatus*/
  2968  func (a *LogicalRoutingAndServicesApiService) GetLogicalRouterStatus(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.LogicalRouterStatus, *http.Response, error) {
  2969  	var (
  2970  		localVarHttpMethod = strings.ToUpper("Get")
  2971  		localVarPostBody   interface{}
  2972  		localVarFileName   string
  2973  		localVarFileBytes  []byte
  2974  		successPayload     manager.LogicalRouterStatus
  2975  	)
  2976  
  2977  	// create path and map variables
  2978  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/status"
  2979  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  2980  
  2981  	localVarHeaderParams := make(map[string]string)
  2982  	localVarQueryParams := url.Values{}
  2983  	localVarFormParams := url.Values{}
  2984  
  2985  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  2986  		return successPayload, nil, err
  2987  	}
  2988  
  2989  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  2990  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  2991  	}
  2992  	// to determine the Content-Type header
  2993  	localVarHttpContentTypes := []string{"application/json"}
  2994  
  2995  	// set Content-Type header
  2996  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2997  	if localVarHttpContentType != "" {
  2998  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2999  	}
  3000  
  3001  	// to determine the Accept header
  3002  	localVarHttpHeaderAccepts := []string{
  3003  		"application/json",
  3004  	}
  3005  
  3006  	// set Accept header
  3007  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3008  	if localVarHttpHeaderAccept != "" {
  3009  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3010  	}
  3011  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3012  	if err != nil {
  3013  		return successPayload, nil, err
  3014  	}
  3015  
  3016  	localVarHttpResponse, err := a.client.callAPI(r)
  3017  	if err != nil || localVarHttpResponse == nil {
  3018  		return successPayload, localVarHttpResponse, err
  3019  	}
  3020  	defer localVarHttpResponse.Body.Close()
  3021  	if localVarHttpResponse.StatusCode >= 300 {
  3022  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3023  	}
  3024  
  3025  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3026  		return successPayload, localVarHttpResponse, err
  3027  	}
  3028  
  3029  	return successPayload, localVarHttpResponse, err
  3030  }
  3031  
  3032  /* LogicalRoutingAndServicesApiService Get a specific NAT rule from a given logical router
  3033  Get a specific NAT rule from a given logical router
  3034  * @param ctx context.Context Authentication Context
  3035  @param logicalRouterId
  3036  @param ruleId
  3037  @return manager.NatRule*/
  3038  func (a *LogicalRoutingAndServicesApiService) GetNatRule(ctx context.Context, logicalRouterId string, ruleId string) (manager.NatRule, *http.Response, error) {
  3039  	var (
  3040  		localVarHttpMethod = strings.ToUpper("Get")
  3041  		localVarPostBody   interface{}
  3042  		localVarFileName   string
  3043  		localVarFileBytes  []byte
  3044  		successPayload     manager.NatRule
  3045  	)
  3046  
  3047  	// create path and map variables
  3048  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/nat/rules/{rule-id}"
  3049  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  3050  	localVarPath = strings.Replace(localVarPath, "{"+"rule-id"+"}", fmt.Sprintf("%v", ruleId), -1)
  3051  
  3052  	localVarHeaderParams := make(map[string]string)
  3053  	localVarQueryParams := url.Values{}
  3054  	localVarFormParams := url.Values{}
  3055  
  3056  	// to determine the Content-Type header
  3057  	localVarHttpContentTypes := []string{"application/json"}
  3058  
  3059  	// set Content-Type header
  3060  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3061  	if localVarHttpContentType != "" {
  3062  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3063  	}
  3064  
  3065  	// to determine the Accept header
  3066  	localVarHttpHeaderAccepts := []string{
  3067  		"application/json",
  3068  	}
  3069  
  3070  	// set Accept header
  3071  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3072  	if localVarHttpHeaderAccept != "" {
  3073  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3074  	}
  3075  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3076  	if err != nil {
  3077  		return successPayload, nil, err
  3078  	}
  3079  
  3080  	localVarHttpResponse, err := a.client.callAPI(r)
  3081  	if err != nil || localVarHttpResponse == nil {
  3082  		return successPayload, localVarHttpResponse, err
  3083  	}
  3084  	defer localVarHttpResponse.Body.Close()
  3085  	if localVarHttpResponse.StatusCode >= 300 {
  3086  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3087  	}
  3088  
  3089  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3090  		return successPayload, localVarHttpResponse, err
  3091  	}
  3092  
  3093  	return successPayload, localVarHttpResponse, err
  3094  }
  3095  
  3096  /* LogicalRoutingAndServicesApiService Get the statistics of all rules of the logical router
  3097  Returns the summation of statistics for all rules from all nodes for the Specified Logical Router. Also gives the per transport node statistics for provided logical router. The query parameter \"source=realtime\" is not supported.
  3098  * @param ctx context.Context Authentication Context
  3099  @param logicalRouterId
  3100  @param optional (nil or map[string]interface{}) with one or more of:
  3101      @param "source" (string) Data source type.
  3102  @return manager.NatStatisticsPerLogicalRouter*/
  3103  func (a *LogicalRoutingAndServicesApiService) GetNatStatisticsPerLogicalRouter(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.NatStatisticsPerLogicalRouter, *http.Response, error) {
  3104  	var (
  3105  		localVarHttpMethod = strings.ToUpper("Get")
  3106  		localVarPostBody   interface{}
  3107  		localVarFileName   string
  3108  		localVarFileBytes  []byte
  3109  		successPayload     manager.NatStatisticsPerLogicalRouter
  3110  	)
  3111  
  3112  	// create path and map variables
  3113  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/nat/rules/statistics"
  3114  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  3115  
  3116  	localVarHeaderParams := make(map[string]string)
  3117  	localVarQueryParams := url.Values{}
  3118  	localVarFormParams := url.Values{}
  3119  
  3120  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  3121  		return successPayload, nil, err
  3122  	}
  3123  
  3124  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  3125  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  3126  	}
  3127  	// to determine the Content-Type header
  3128  	localVarHttpContentTypes := []string{"application/json"}
  3129  
  3130  	// set Content-Type header
  3131  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3132  	if localVarHttpContentType != "" {
  3133  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3134  	}
  3135  
  3136  	// to determine the Accept header
  3137  	localVarHttpHeaderAccepts := []string{
  3138  		"application/json",
  3139  	}
  3140  
  3141  	// set Accept header
  3142  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3143  	if localVarHttpHeaderAccept != "" {
  3144  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3145  	}
  3146  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3147  	if err != nil {
  3148  		return successPayload, nil, err
  3149  	}
  3150  
  3151  	localVarHttpResponse, err := a.client.callAPI(r)
  3152  	if err != nil || localVarHttpResponse == nil {
  3153  		return successPayload, localVarHttpResponse, err
  3154  	}
  3155  	defer localVarHttpResponse.Body.Close()
  3156  	if localVarHttpResponse.StatusCode >= 300 {
  3157  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3158  	}
  3159  
  3160  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3161  		return successPayload, localVarHttpResponse, err
  3162  	}
  3163  
  3164  	return successPayload, localVarHttpResponse, err
  3165  }
  3166  
  3167  /* LogicalRoutingAndServicesApiService Get the statistics of a specified logical router NAT Rule
  3168  Returns the summation of statistics from all nodes for the Specified Logical Router NAT Rule. Query parameter \"source=realtime\" is the only supported source.
  3169  * @param ctx context.Context Authentication Context
  3170  @param logicalRouterId
  3171  @param ruleId
  3172  @param optional (nil or map[string]interface{}) with one or more of:
  3173      @param "source" (string) Data source type.
  3174  @return manager.NatStatisticsPerRule*/
  3175  func (a *LogicalRoutingAndServicesApiService) GetNatStatisticsPerRule(ctx context.Context, logicalRouterId string, ruleId string, localVarOptionals map[string]interface{}) (manager.NatStatisticsPerRule, *http.Response, error) {
  3176  	var (
  3177  		localVarHttpMethod = strings.ToUpper("Get")
  3178  		localVarPostBody   interface{}
  3179  		localVarFileName   string
  3180  		localVarFileBytes  []byte
  3181  		successPayload     manager.NatStatisticsPerRule
  3182  	)
  3183  
  3184  	// create path and map variables
  3185  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/nat/rules/{rule-id}/statistics"
  3186  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  3187  	localVarPath = strings.Replace(localVarPath, "{"+"rule-id"+"}", fmt.Sprintf("%v", ruleId), -1)
  3188  
  3189  	localVarHeaderParams := make(map[string]string)
  3190  	localVarQueryParams := url.Values{}
  3191  	localVarFormParams := url.Values{}
  3192  
  3193  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  3194  		return successPayload, nil, err
  3195  	}
  3196  
  3197  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  3198  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  3199  	}
  3200  	// to determine the Content-Type header
  3201  	localVarHttpContentTypes := []string{"application/json"}
  3202  
  3203  	// set Content-Type header
  3204  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3205  	if localVarHttpContentType != "" {
  3206  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3207  	}
  3208  
  3209  	// to determine the Accept header
  3210  	localVarHttpHeaderAccepts := []string{
  3211  		"application/json",
  3212  	}
  3213  
  3214  	// set Accept header
  3215  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3216  	if localVarHttpHeaderAccept != "" {
  3217  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3218  	}
  3219  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3220  	if err != nil {
  3221  		return successPayload, nil, err
  3222  	}
  3223  
  3224  	localVarHttpResponse, err := a.client.callAPI(r)
  3225  	if err != nil || localVarHttpResponse == nil {
  3226  		return successPayload, localVarHttpResponse, err
  3227  	}
  3228  	defer localVarHttpResponse.Body.Close()
  3229  	if localVarHttpResponse.StatusCode >= 300 {
  3230  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3231  	}
  3232  
  3233  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3234  		return successPayload, localVarHttpResponse, err
  3235  	}
  3236  
  3237  	return successPayload, localVarHttpResponse, err
  3238  }
  3239  
  3240  /* LogicalRoutingAndServicesApiService Get statistics for all logical router NAT rules on a transport node
  3241  Returns the summation of statistics for all rules from all logical routers which are present on given transport node. Only cached statistics are supported. The query parameter \"source=realtime\" is not supported.
  3242  * @param ctx context.Context Authentication Context
  3243  @param nodeId
  3244  @param optional (nil or map[string]interface{}) with one or more of:
  3245      @param "source" (string) Data source type.
  3246  @return manager.NatStatisticsPerTransportNode*/
  3247  func (a *LogicalRoutingAndServicesApiService) GetNatStatisticsPerTransportNode(ctx context.Context, nodeId string, localVarOptionals map[string]interface{}) (manager.NatStatisticsPerTransportNode, *http.Response, error) {
  3248  	var (
  3249  		localVarHttpMethod = strings.ToUpper("Get")
  3250  		localVarPostBody   interface{}
  3251  		localVarFileName   string
  3252  		localVarFileBytes  []byte
  3253  		successPayload     manager.NatStatisticsPerTransportNode
  3254  	)
  3255  
  3256  	// create path and map variables
  3257  	localVarPath := a.client.cfg.BasePath + "/transport-nodes/{node-id}/statistics/nat-rules"
  3258  	localVarPath = strings.Replace(localVarPath, "{"+"node-id"+"}", fmt.Sprintf("%v", nodeId), -1)
  3259  
  3260  	localVarHeaderParams := make(map[string]string)
  3261  	localVarQueryParams := url.Values{}
  3262  	localVarFormParams := url.Values{}
  3263  
  3264  	if err := typeCheckParameter(localVarOptionals["source"], "string", "source"); err != nil {
  3265  		return successPayload, nil, err
  3266  	}
  3267  
  3268  	if localVarTempParam, localVarOk := localVarOptionals["source"].(string); localVarOk {
  3269  		localVarQueryParams.Add("source", parameterToString(localVarTempParam, ""))
  3270  	}
  3271  	// to determine the Content-Type header
  3272  	localVarHttpContentTypes := []string{"application/json"}
  3273  
  3274  	// set Content-Type header
  3275  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3276  	if localVarHttpContentType != "" {
  3277  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3278  	}
  3279  
  3280  	// to determine the Accept header
  3281  	localVarHttpHeaderAccepts := []string{
  3282  		"application/json",
  3283  	}
  3284  
  3285  	// set Accept header
  3286  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3287  	if localVarHttpHeaderAccept != "" {
  3288  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3289  	}
  3290  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3291  	if err != nil {
  3292  		return successPayload, nil, err
  3293  	}
  3294  
  3295  	localVarHttpResponse, err := a.client.callAPI(r)
  3296  	if err != nil || localVarHttpResponse == nil {
  3297  		return successPayload, localVarHttpResponse, err
  3298  	}
  3299  	defer localVarHttpResponse.Body.Close()
  3300  	if localVarHttpResponse.StatusCode >= 300 {
  3301  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3302  	}
  3303  
  3304  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3305  		return successPayload, localVarHttpResponse, err
  3306  	}
  3307  
  3308  	return successPayload, localVarHttpResponse, err
  3309  }
  3310  
  3311  /* LogicalRoutingAndServicesApiService Paginated list of BGP Neighbors on a Logical Router
  3312  Paginated list of BGP Neighbors on a Logical Router
  3313  * @param ctx context.Context Authentication Context
  3314  @param logicalRouterId
  3315  @param optional (nil or map[string]interface{}) with one or more of:
  3316      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  3317      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  3318      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  3319      @param "sortAscending" (bool)
  3320      @param "sortBy" (string) Field by which records are sorted
  3321  @return manager.BgpNeighborListResult*/
  3322  func (a *LogicalRoutingAndServicesApiService) ListBgpNeighbors(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.BgpNeighborListResult, *http.Response, error) {
  3323  	var (
  3324  		localVarHttpMethod = strings.ToUpper("Get")
  3325  		localVarPostBody   interface{}
  3326  		localVarFileName   string
  3327  		localVarFileBytes  []byte
  3328  		successPayload     manager.BgpNeighborListResult
  3329  	)
  3330  
  3331  	// create path and map variables
  3332  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp/neighbors"
  3333  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  3334  
  3335  	localVarHeaderParams := make(map[string]string)
  3336  	localVarQueryParams := url.Values{}
  3337  	localVarFormParams := url.Values{}
  3338  
  3339  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  3340  		return successPayload, nil, err
  3341  	}
  3342  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  3343  		return successPayload, nil, err
  3344  	}
  3345  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  3346  		return successPayload, nil, err
  3347  	}
  3348  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  3349  		return successPayload, nil, err
  3350  	}
  3351  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  3352  		return successPayload, nil, err
  3353  	}
  3354  
  3355  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  3356  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  3357  	}
  3358  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  3359  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  3360  	}
  3361  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  3362  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  3363  	}
  3364  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  3365  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  3366  	}
  3367  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  3368  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  3369  	}
  3370  	// to determine the Content-Type header
  3371  	localVarHttpContentTypes := []string{"application/json"}
  3372  
  3373  	// set Content-Type header
  3374  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3375  	if localVarHttpContentType != "" {
  3376  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3377  	}
  3378  
  3379  	// to determine the Accept header
  3380  	localVarHttpHeaderAccepts := []string{
  3381  		"application/json",
  3382  	}
  3383  
  3384  	// set Accept header
  3385  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3386  	if localVarHttpHeaderAccept != "" {
  3387  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3388  	}
  3389  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3390  	if err != nil {
  3391  		return successPayload, nil, err
  3392  	}
  3393  
  3394  	localVarHttpResponse, err := a.client.callAPI(r)
  3395  	if err != nil || localVarHttpResponse == nil {
  3396  		return successPayload, localVarHttpResponse, err
  3397  	}
  3398  	defer localVarHttpResponse.Body.Close()
  3399  	if localVarHttpResponse.StatusCode >= 300 {
  3400  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3401  	}
  3402  
  3403  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3404  		return successPayload, localVarHttpResponse, err
  3405  	}
  3406  
  3407  	return successPayload, localVarHttpResponse, err
  3408  }
  3409  
  3410  /* LogicalRoutingAndServicesApiService List All DHCP Relay Profiles
  3411  Returns information about all dhcp relay profiles.
  3412  * @param ctx context.Context Authentication Context
  3413  @param optional (nil or map[string]interface{}) with one or more of:
  3414      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  3415      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  3416      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  3417      @param "sortAscending" (bool)
  3418      @param "sortBy" (string) Field by which records are sorted
  3419  @return manager.DhcpRelayProfileListResult*/
  3420  func (a *LogicalRoutingAndServicesApiService) ListDhcpRelayProfiles(ctx context.Context, localVarOptionals map[string]interface{}) (manager.DhcpRelayProfileListResult, *http.Response, error) {
  3421  	var (
  3422  		localVarHttpMethod = strings.ToUpper("Get")
  3423  		localVarPostBody   interface{}
  3424  		localVarFileName   string
  3425  		localVarFileBytes  []byte
  3426  		successPayload     manager.DhcpRelayProfileListResult
  3427  	)
  3428  
  3429  	// create path and map variables
  3430  	localVarPath := a.client.cfg.BasePath + "/dhcp/relay-profiles"
  3431  
  3432  	localVarHeaderParams := make(map[string]string)
  3433  	localVarQueryParams := url.Values{}
  3434  	localVarFormParams := url.Values{}
  3435  
  3436  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  3437  		return successPayload, nil, err
  3438  	}
  3439  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  3440  		return successPayload, nil, err
  3441  	}
  3442  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  3443  		return successPayload, nil, err
  3444  	}
  3445  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  3446  		return successPayload, nil, err
  3447  	}
  3448  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  3449  		return successPayload, nil, err
  3450  	}
  3451  
  3452  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  3453  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  3454  	}
  3455  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  3456  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  3457  	}
  3458  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  3459  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  3460  	}
  3461  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  3462  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  3463  	}
  3464  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  3465  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  3466  	}
  3467  	// to determine the Content-Type header
  3468  	localVarHttpContentTypes := []string{"application/json"}
  3469  
  3470  	// set Content-Type header
  3471  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3472  	if localVarHttpContentType != "" {
  3473  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3474  	}
  3475  
  3476  	// to determine the Accept header
  3477  	localVarHttpHeaderAccepts := []string{
  3478  		"application/json",
  3479  	}
  3480  
  3481  	// set Accept header
  3482  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3483  	if localVarHttpHeaderAccept != "" {
  3484  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3485  	}
  3486  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3487  	if err != nil {
  3488  		return successPayload, nil, err
  3489  	}
  3490  
  3491  	localVarHttpResponse, err := a.client.callAPI(r)
  3492  	if err != nil || localVarHttpResponse == nil {
  3493  		return successPayload, localVarHttpResponse, err
  3494  	}
  3495  	defer localVarHttpResponse.Body.Close()
  3496  	if localVarHttpResponse.StatusCode >= 300 {
  3497  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3498  	}
  3499  
  3500  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3501  		return successPayload, localVarHttpResponse, err
  3502  	}
  3503  
  3504  	return successPayload, localVarHttpResponse, err
  3505  }
  3506  
  3507  /* LogicalRoutingAndServicesApiService List all DHCP Relay Services
  3508  Returns information about all configured dhcp relay services.
  3509  * @param ctx context.Context Authentication Context
  3510  @param optional (nil or map[string]interface{}) with one or more of:
  3511      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  3512      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  3513      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  3514      @param "sortAscending" (bool)
  3515      @param "sortBy" (string) Field by which records are sorted
  3516  @return manager.DhcpRelayServiceListResult*/
  3517  func (a *LogicalRoutingAndServicesApiService) ListDhcpRelays(ctx context.Context, localVarOptionals map[string]interface{}) (manager.DhcpRelayServiceListResult, *http.Response, error) {
  3518  	var (
  3519  		localVarHttpMethod = strings.ToUpper("Get")
  3520  		localVarPostBody   interface{}
  3521  		localVarFileName   string
  3522  		localVarFileBytes  []byte
  3523  		successPayload     manager.DhcpRelayServiceListResult
  3524  	)
  3525  
  3526  	// create path and map variables
  3527  	localVarPath := a.client.cfg.BasePath + "/dhcp/relays"
  3528  
  3529  	localVarHeaderParams := make(map[string]string)
  3530  	localVarQueryParams := url.Values{}
  3531  	localVarFormParams := url.Values{}
  3532  
  3533  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  3534  		return successPayload, nil, err
  3535  	}
  3536  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  3537  		return successPayload, nil, err
  3538  	}
  3539  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  3540  		return successPayload, nil, err
  3541  	}
  3542  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  3543  		return successPayload, nil, err
  3544  	}
  3545  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  3546  		return successPayload, nil, err
  3547  	}
  3548  
  3549  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  3550  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  3551  	}
  3552  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  3553  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  3554  	}
  3555  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  3556  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  3557  	}
  3558  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  3559  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  3560  	}
  3561  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  3562  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  3563  	}
  3564  	// to determine the Content-Type header
  3565  	localVarHttpContentTypes := []string{"application/json"}
  3566  
  3567  	// set Content-Type header
  3568  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3569  	if localVarHttpContentType != "" {
  3570  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3571  	}
  3572  
  3573  	// to determine the Accept header
  3574  	localVarHttpHeaderAccepts := []string{
  3575  		"application/json",
  3576  	}
  3577  
  3578  	// set Accept header
  3579  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3580  	if localVarHttpHeaderAccept != "" {
  3581  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3582  	}
  3583  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3584  	if err != nil {
  3585  		return successPayload, nil, err
  3586  	}
  3587  
  3588  	localVarHttpResponse, err := a.client.callAPI(r)
  3589  	if err != nil || localVarHttpResponse == nil {
  3590  		return successPayload, localVarHttpResponse, err
  3591  	}
  3592  	defer localVarHttpResponse.Body.Close()
  3593  	if localVarHttpResponse.StatusCode >= 300 {
  3594  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3595  	}
  3596  
  3597  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3598  		return successPayload, localVarHttpResponse, err
  3599  	}
  3600  
  3601  	return successPayload, localVarHttpResponse, err
  3602  }
  3603  
  3604  /* LogicalRoutingAndServicesApiService Paginated List of IPPrefixLists
  3605  Paginated List of IPPrefixLists
  3606  * @param ctx context.Context Authentication Context
  3607  @param logicalRouterId
  3608  @param optional (nil or map[string]interface{}) with one or more of:
  3609      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  3610      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  3611      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  3612      @param "sortAscending" (bool)
  3613      @param "sortBy" (string) Field by which records are sorted
  3614  @return manager.IpPrefixListListResult*/
  3615  func (a *LogicalRoutingAndServicesApiService) ListIPPrefixLists(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.IpPrefixListListResult, *http.Response, error) {
  3616  	var (
  3617  		localVarHttpMethod = strings.ToUpper("Get")
  3618  		localVarPostBody   interface{}
  3619  		localVarFileName   string
  3620  		localVarFileBytes  []byte
  3621  		successPayload     manager.IpPrefixListListResult
  3622  	)
  3623  
  3624  	// create path and map variables
  3625  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/ip-prefix-lists"
  3626  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  3627  
  3628  	localVarHeaderParams := make(map[string]string)
  3629  	localVarQueryParams := url.Values{}
  3630  	localVarFormParams := url.Values{}
  3631  
  3632  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  3633  		return successPayload, nil, err
  3634  	}
  3635  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  3636  		return successPayload, nil, err
  3637  	}
  3638  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  3639  		return successPayload, nil, err
  3640  	}
  3641  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  3642  		return successPayload, nil, err
  3643  	}
  3644  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  3645  		return successPayload, nil, err
  3646  	}
  3647  
  3648  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  3649  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  3650  	}
  3651  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  3652  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  3653  	}
  3654  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  3655  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  3656  	}
  3657  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  3658  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  3659  	}
  3660  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  3661  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  3662  	}
  3663  	// to determine the Content-Type header
  3664  	localVarHttpContentTypes := []string{"application/json"}
  3665  
  3666  	// set Content-Type header
  3667  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3668  	if localVarHttpContentType != "" {
  3669  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3670  	}
  3671  
  3672  	// to determine the Accept header
  3673  	localVarHttpHeaderAccepts := []string{
  3674  		"application/json",
  3675  	}
  3676  
  3677  	// set Accept header
  3678  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3679  	if localVarHttpHeaderAccept != "" {
  3680  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3681  	}
  3682  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3683  	if err != nil {
  3684  		return successPayload, nil, err
  3685  	}
  3686  
  3687  	localVarHttpResponse, err := a.client.callAPI(r)
  3688  	if err != nil || localVarHttpResponse == nil {
  3689  		return successPayload, localVarHttpResponse, err
  3690  	}
  3691  	defer localVarHttpResponse.Body.Close()
  3692  	if localVarHttpResponse.StatusCode >= 300 {
  3693  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3694  	}
  3695  
  3696  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3697  		return successPayload, localVarHttpResponse, err
  3698  	}
  3699  
  3700  	return successPayload, localVarHttpResponse, err
  3701  }
  3702  
  3703  /* LogicalRoutingAndServicesApiService List Logical Router Ports
  3704  Returns information about all logical router ports. Information includes the resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort); logical_router_id (the router to which each logical router port is assigned); and any service_bindings (such as DHCP relay service). The GET request can include a query parameter (logical_router_id or logical_switch_id).
  3705  * @param ctx context.Context Authentication Context
  3706  @param optional (nil or map[string]interface{}) with one or more of:
  3707      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  3708      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  3709      @param "logicalRouterId" (string) Logical Router identifier
  3710      @param "logicalSwitchId" (string) Logical Switch identifier
  3711      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  3712      @param "resourceType" (string) Resource types of logical router port
  3713      @param "sortAscending" (bool)
  3714      @param "sortBy" (string) Field by which records are sorted
  3715  @return manager.LogicalRouterPortListResult*/
  3716  func (a *LogicalRoutingAndServicesApiService) ListLogicalRouterPorts(ctx context.Context, localVarOptionals map[string]interface{}) (manager.LogicalRouterPortListResult, *http.Response, error) {
  3717  	var (
  3718  		localVarHttpMethod = strings.ToUpper("Get")
  3719  		localVarPostBody   interface{}
  3720  		localVarFileName   string
  3721  		localVarFileBytes  []byte
  3722  		successPayload     manager.LogicalRouterPortListResult
  3723  	)
  3724  
  3725  	// create path and map variables
  3726  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports"
  3727  
  3728  	localVarHeaderParams := make(map[string]string)
  3729  	localVarQueryParams := url.Values{}
  3730  	localVarFormParams := url.Values{}
  3731  
  3732  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  3733  		return successPayload, nil, err
  3734  	}
  3735  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  3736  		return successPayload, nil, err
  3737  	}
  3738  	if err := typeCheckParameter(localVarOptionals["logicalRouterId"], "string", "logicalRouterId"); err != nil {
  3739  		return successPayload, nil, err
  3740  	}
  3741  	if err := typeCheckParameter(localVarOptionals["logicalSwitchId"], "string", "logicalSwitchId"); err != nil {
  3742  		return successPayload, nil, err
  3743  	}
  3744  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  3745  		return successPayload, nil, err
  3746  	}
  3747  	if err := typeCheckParameter(localVarOptionals["resourceType"], "string", "resourceType"); err != nil {
  3748  		return successPayload, nil, err
  3749  	}
  3750  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  3751  		return successPayload, nil, err
  3752  	}
  3753  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  3754  		return successPayload, nil, err
  3755  	}
  3756  
  3757  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  3758  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  3759  	}
  3760  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  3761  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  3762  	}
  3763  	if localVarTempParam, localVarOk := localVarOptionals["logicalRouterId"].(string); localVarOk {
  3764  		localVarQueryParams.Add("logical_router_id", parameterToString(localVarTempParam, ""))
  3765  	}
  3766  	if localVarTempParam, localVarOk := localVarOptionals["logicalSwitchId"].(string); localVarOk {
  3767  		localVarQueryParams.Add("logical_switch_id", parameterToString(localVarTempParam, ""))
  3768  	}
  3769  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  3770  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  3771  	}
  3772  	if localVarTempParam, localVarOk := localVarOptionals["resourceType"].(string); localVarOk {
  3773  		localVarQueryParams.Add("resource_type", parameterToString(localVarTempParam, ""))
  3774  	}
  3775  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  3776  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  3777  	}
  3778  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  3779  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  3780  	}
  3781  	// to determine the Content-Type header
  3782  	localVarHttpContentTypes := []string{"application/json"}
  3783  
  3784  	// set Content-Type header
  3785  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3786  	if localVarHttpContentType != "" {
  3787  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3788  	}
  3789  
  3790  	// to determine the Accept header
  3791  	localVarHttpHeaderAccepts := []string{
  3792  		"application/json",
  3793  	}
  3794  
  3795  	// set Accept header
  3796  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3797  	if localVarHttpHeaderAccept != "" {
  3798  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3799  	}
  3800  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3801  	if err != nil {
  3802  		return successPayload, nil, err
  3803  	}
  3804  
  3805  	localVarHttpResponse, err := a.client.callAPI(r)
  3806  	if err != nil || localVarHttpResponse == nil {
  3807  		return successPayload, localVarHttpResponse, err
  3808  	}
  3809  	defer localVarHttpResponse.Body.Close()
  3810  	if localVarHttpResponse.StatusCode >= 300 {
  3811  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3812  	}
  3813  
  3814  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3815  		return successPayload, localVarHttpResponse, err
  3816  	}
  3817  
  3818  	return successPayload, localVarHttpResponse, err
  3819  }
  3820  
  3821  /* LogicalRoutingAndServicesApiService List Logical Routers
  3822  Returns information about all logical routers, including the UUID, internal and external transit network addresses, and the router type (TIER0 or TIER1). You can get information for only TIER0 routers or only the TIER1 routers by including the router_type query parameter.
  3823  * @param ctx context.Context Authentication Context
  3824  @param optional (nil or map[string]interface{}) with one or more of:
  3825      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  3826      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  3827      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  3828      @param "routerType" (string) Type of Logical Router
  3829      @param "sortAscending" (bool)
  3830      @param "sortBy" (string) Field by which records are sorted
  3831  @return manager.LogicalRouterListResult*/
  3832  func (a *LogicalRoutingAndServicesApiService) ListLogicalRouters(ctx context.Context, localVarOptionals map[string]interface{}) (manager.LogicalRouterListResult, *http.Response, error) {
  3833  	var (
  3834  		localVarHttpMethod = strings.ToUpper("Get")
  3835  		localVarPostBody   interface{}
  3836  		localVarFileName   string
  3837  		localVarFileBytes  []byte
  3838  		successPayload     manager.LogicalRouterListResult
  3839  	)
  3840  
  3841  	// create path and map variables
  3842  	localVarPath := a.client.cfg.BasePath + "/logical-routers"
  3843  
  3844  	localVarHeaderParams := make(map[string]string)
  3845  	localVarQueryParams := url.Values{}
  3846  	localVarFormParams := url.Values{}
  3847  
  3848  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  3849  		return successPayload, nil, err
  3850  	}
  3851  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  3852  		return successPayload, nil, err
  3853  	}
  3854  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  3855  		return successPayload, nil, err
  3856  	}
  3857  	if err := typeCheckParameter(localVarOptionals["routerType"], "string", "routerType"); err != nil {
  3858  		return successPayload, nil, err
  3859  	}
  3860  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  3861  		return successPayload, nil, err
  3862  	}
  3863  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  3864  		return successPayload, nil, err
  3865  	}
  3866  
  3867  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  3868  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  3869  	}
  3870  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  3871  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  3872  	}
  3873  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  3874  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  3875  	}
  3876  	if localVarTempParam, localVarOk := localVarOptionals["routerType"].(string); localVarOk {
  3877  		localVarQueryParams.Add("router_type", parameterToString(localVarTempParam, ""))
  3878  	}
  3879  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  3880  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  3881  	}
  3882  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  3883  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  3884  	}
  3885  	// to determine the Content-Type header
  3886  	localVarHttpContentTypes := []string{"application/json"}
  3887  
  3888  	// set Content-Type header
  3889  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3890  	if localVarHttpContentType != "" {
  3891  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3892  	}
  3893  
  3894  	// to determine the Accept header
  3895  	localVarHttpHeaderAccepts := []string{
  3896  		"application/json",
  3897  	}
  3898  
  3899  	// set Accept header
  3900  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3901  	if localVarHttpHeaderAccept != "" {
  3902  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3903  	}
  3904  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  3905  	if err != nil {
  3906  		return successPayload, nil, err
  3907  	}
  3908  
  3909  	localVarHttpResponse, err := a.client.callAPI(r)
  3910  	if err != nil || localVarHttpResponse == nil {
  3911  		return successPayload, localVarHttpResponse, err
  3912  	}
  3913  	defer localVarHttpResponse.Body.Close()
  3914  	if localVarHttpResponse.StatusCode >= 300 {
  3915  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  3916  	}
  3917  
  3918  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  3919  		return successPayload, localVarHttpResponse, err
  3920  	}
  3921  
  3922  	return successPayload, localVarHttpResponse, err
  3923  }
  3924  
  3925  /* LogicalRoutingAndServicesApiService List NAT rules of the logical router
  3926  Returns paginated list of all user defined NAT rules of the specific logical router
  3927  * @param ctx context.Context Authentication Context
  3928  @param logicalRouterId
  3929  @param optional (nil or map[string]interface{}) with one or more of:
  3930      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  3931      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  3932      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  3933      @param "sortAscending" (bool)
  3934      @param "sortBy" (string) Field by which records are sorted
  3935  @return manager.NatRuleListResult*/
  3936  func (a *LogicalRoutingAndServicesApiService) ListNatRules(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.NatRuleListResult, *http.Response, error) {
  3937  	var (
  3938  		localVarHttpMethod = strings.ToUpper("Get")
  3939  		localVarPostBody   interface{}
  3940  		localVarFileName   string
  3941  		localVarFileBytes  []byte
  3942  		successPayload     manager.NatRuleListResult
  3943  	)
  3944  
  3945  	// create path and map variables
  3946  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/nat/rules"
  3947  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  3948  
  3949  	localVarHeaderParams := make(map[string]string)
  3950  	localVarQueryParams := url.Values{}
  3951  	localVarFormParams := url.Values{}
  3952  
  3953  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  3954  		return successPayload, nil, err
  3955  	}
  3956  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  3957  		return successPayload, nil, err
  3958  	}
  3959  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  3960  		return successPayload, nil, err
  3961  	}
  3962  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  3963  		return successPayload, nil, err
  3964  	}
  3965  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  3966  		return successPayload, nil, err
  3967  	}
  3968  
  3969  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  3970  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  3971  	}
  3972  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  3973  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  3974  	}
  3975  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  3976  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  3977  	}
  3978  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  3979  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  3980  	}
  3981  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  3982  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  3983  	}
  3984  	// to determine the Content-Type header
  3985  	localVarHttpContentTypes := []string{"application/json"}
  3986  
  3987  	// set Content-Type header
  3988  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3989  	if localVarHttpContentType != "" {
  3990  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3991  	}
  3992  
  3993  	// to determine the Accept header
  3994  	localVarHttpHeaderAccepts := []string{
  3995  		"application/json",
  3996  	}
  3997  
  3998  	// set Accept header
  3999  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4000  	if localVarHttpHeaderAccept != "" {
  4001  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4002  	}
  4003  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4004  	if err != nil {
  4005  		return successPayload, nil, err
  4006  	}
  4007  
  4008  	localVarHttpResponse, err := a.client.callAPI(r)
  4009  	if err != nil || localVarHttpResponse == nil {
  4010  		return successPayload, localVarHttpResponse, err
  4011  	}
  4012  	defer localVarHttpResponse.Body.Close()
  4013  	if localVarHttpResponse.StatusCode >= 300 {
  4014  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4015  	}
  4016  
  4017  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4018  		return successPayload, localVarHttpResponse, err
  4019  	}
  4020  
  4021  	return successPayload, localVarHttpResponse, err
  4022  }
  4023  
  4024  /* LogicalRoutingAndServicesApiService Paginated List of RouteMaps
  4025  Paginated List of RouteMaps
  4026  * @param ctx context.Context Authentication Context
  4027  @param logicalRouterId
  4028  @param optional (nil or map[string]interface{}) with one or more of:
  4029      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  4030      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  4031      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  4032      @param "sortAscending" (bool)
  4033      @param "sortBy" (string) Field by which records are sorted
  4034  @return manager.RouteMapListResult*/
  4035  func (a *LogicalRoutingAndServicesApiService) ListRouteMaps(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.RouteMapListResult, *http.Response, error) {
  4036  	var (
  4037  		localVarHttpMethod = strings.ToUpper("Get")
  4038  		localVarPostBody   interface{}
  4039  		localVarFileName   string
  4040  		localVarFileBytes  []byte
  4041  		successPayload     manager.RouteMapListResult
  4042  	)
  4043  
  4044  	// create path and map variables
  4045  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/route-maps"
  4046  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4047  
  4048  	localVarHeaderParams := make(map[string]string)
  4049  	localVarQueryParams := url.Values{}
  4050  	localVarFormParams := url.Values{}
  4051  
  4052  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  4053  		return successPayload, nil, err
  4054  	}
  4055  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  4056  		return successPayload, nil, err
  4057  	}
  4058  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  4059  		return successPayload, nil, err
  4060  	}
  4061  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  4062  		return successPayload, nil, err
  4063  	}
  4064  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  4065  		return successPayload, nil, err
  4066  	}
  4067  
  4068  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  4069  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  4070  	}
  4071  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  4072  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  4073  	}
  4074  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  4075  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  4076  	}
  4077  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  4078  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  4079  	}
  4080  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  4081  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  4082  	}
  4083  	// to determine the Content-Type header
  4084  	localVarHttpContentTypes := []string{"application/json"}
  4085  
  4086  	// set Content-Type header
  4087  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4088  	if localVarHttpContentType != "" {
  4089  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4090  	}
  4091  
  4092  	// to determine the Accept header
  4093  	localVarHttpHeaderAccepts := []string{
  4094  		"application/json",
  4095  	}
  4096  
  4097  	// set Accept header
  4098  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4099  	if localVarHttpHeaderAccept != "" {
  4100  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4101  	}
  4102  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4103  	if err != nil {
  4104  		return successPayload, nil, err
  4105  	}
  4106  
  4107  	localVarHttpResponse, err := a.client.callAPI(r)
  4108  	if err != nil || localVarHttpResponse == nil {
  4109  		return successPayload, localVarHttpResponse, err
  4110  	}
  4111  	defer localVarHttpResponse.Body.Close()
  4112  	if localVarHttpResponse.StatusCode >= 300 {
  4113  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4114  	}
  4115  
  4116  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4117  		return successPayload, localVarHttpResponse, err
  4118  	}
  4119  
  4120  	return successPayload, localVarHttpResponse, err
  4121  }
  4122  
  4123  /* LogicalRoutingAndServicesApiService List All Service Profiles
  4124  Returns information about all service profiles. A service profile is a configuration that you can use to create a service, which is then applied to one or more logical router ports. Currently, only the manager.DhcpRelayProfile is supported.
  4125  * @param ctx context.Context Authentication Context
  4126  @param optional (nil or map[string]interface{}) with one or more of:
  4127      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  4128      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  4129      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  4130      @param "resourceType" (string)
  4131      @param "sortAscending" (bool)
  4132      @param "sortBy" (string) Field by which records are sorted
  4133  @return manager.ServiceProfileListResult*/
  4134  func (a *LogicalRoutingAndServicesApiService) ListServiceProfiles(ctx context.Context, localVarOptionals map[string]interface{}) (manager.ServiceProfileListResult, *http.Response, error) {
  4135  	var (
  4136  		localVarHttpMethod = strings.ToUpper("Get")
  4137  		localVarPostBody   interface{}
  4138  		localVarFileName   string
  4139  		localVarFileBytes  []byte
  4140  		successPayload     manager.ServiceProfileListResult
  4141  	)
  4142  
  4143  	// create path and map variables
  4144  	localVarPath := a.client.cfg.BasePath + "/service-profiles"
  4145  
  4146  	localVarHeaderParams := make(map[string]string)
  4147  	localVarQueryParams := url.Values{}
  4148  	localVarFormParams := url.Values{}
  4149  
  4150  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  4151  		return successPayload, nil, err
  4152  	}
  4153  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  4154  		return successPayload, nil, err
  4155  	}
  4156  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  4157  		return successPayload, nil, err
  4158  	}
  4159  	if err := typeCheckParameter(localVarOptionals["resourceType"], "string", "resourceType"); err != nil {
  4160  		return successPayload, nil, err
  4161  	}
  4162  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  4163  		return successPayload, nil, err
  4164  	}
  4165  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  4166  		return successPayload, nil, err
  4167  	}
  4168  
  4169  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  4170  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  4171  	}
  4172  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  4173  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  4174  	}
  4175  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  4176  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  4177  	}
  4178  	if localVarTempParam, localVarOk := localVarOptionals["resourceType"].(string); localVarOk {
  4179  		localVarQueryParams.Add("resource_type", parameterToString(localVarTempParam, ""))
  4180  	}
  4181  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  4182  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  4183  	}
  4184  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  4185  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  4186  	}
  4187  	// to determine the Content-Type header
  4188  	localVarHttpContentTypes := []string{"application/json"}
  4189  
  4190  	// set Content-Type header
  4191  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4192  	if localVarHttpContentType != "" {
  4193  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4194  	}
  4195  
  4196  	// to determine the Accept header
  4197  	localVarHttpHeaderAccepts := []string{
  4198  		"application/json",
  4199  	}
  4200  
  4201  	// set Accept header
  4202  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4203  	if localVarHttpHeaderAccept != "" {
  4204  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4205  	}
  4206  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4207  	if err != nil {
  4208  		return successPayload, nil, err
  4209  	}
  4210  
  4211  	localVarHttpResponse, err := a.client.callAPI(r)
  4212  	if err != nil || localVarHttpResponse == nil {
  4213  		return successPayload, localVarHttpResponse, err
  4214  	}
  4215  	defer localVarHttpResponse.Body.Close()
  4216  	if localVarHttpResponse.StatusCode >= 300 {
  4217  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4218  	}
  4219  
  4220  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4221  		return successPayload, localVarHttpResponse, err
  4222  	}
  4223  
  4224  	return successPayload, localVarHttpResponse, err
  4225  }
  4226  
  4227  /* LogicalRoutingAndServicesApiService List all Logical Router Services
  4228  Returns information about all configured logical router services that can be applied to one or more logical router ports. You must create a service-profile before you can create a service. Currently, only manager.DhcpRelayService is supported.
  4229  * @param ctx context.Context Authentication Context
  4230  @param optional (nil or map[string]interface{}) with one or more of:
  4231      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  4232      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  4233      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  4234      @param "resourceType" (string)
  4235      @param "sortAscending" (bool)
  4236      @param "sortBy" (string) Field by which records are sorted
  4237  @return manager.LogicalServiceListResult*/
  4238  func (a *LogicalRoutingAndServicesApiService) ListServices(ctx context.Context, localVarOptionals map[string]interface{}) (manager.LogicalServiceListResult, *http.Response, error) {
  4239  	var (
  4240  		localVarHttpMethod = strings.ToUpper("Get")
  4241  		localVarPostBody   interface{}
  4242  		localVarFileName   string
  4243  		localVarFileBytes  []byte
  4244  		successPayload     manager.LogicalServiceListResult
  4245  	)
  4246  
  4247  	// create path and map variables
  4248  	localVarPath := a.client.cfg.BasePath + "/services"
  4249  
  4250  	localVarHeaderParams := make(map[string]string)
  4251  	localVarQueryParams := url.Values{}
  4252  	localVarFormParams := url.Values{}
  4253  
  4254  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  4255  		return successPayload, nil, err
  4256  	}
  4257  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  4258  		return successPayload, nil, err
  4259  	}
  4260  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  4261  		return successPayload, nil, err
  4262  	}
  4263  	if err := typeCheckParameter(localVarOptionals["resourceType"], "string", "resourceType"); err != nil {
  4264  		return successPayload, nil, err
  4265  	}
  4266  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  4267  		return successPayload, nil, err
  4268  	}
  4269  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  4270  		return successPayload, nil, err
  4271  	}
  4272  
  4273  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  4274  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  4275  	}
  4276  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  4277  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  4278  	}
  4279  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  4280  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  4281  	}
  4282  	if localVarTempParam, localVarOk := localVarOptionals["resourceType"].(string); localVarOk {
  4283  		localVarQueryParams.Add("resource_type", parameterToString(localVarTempParam, ""))
  4284  	}
  4285  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  4286  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  4287  	}
  4288  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  4289  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  4290  	}
  4291  	// to determine the Content-Type header
  4292  	localVarHttpContentTypes := []string{"application/json"}
  4293  
  4294  	// set Content-Type header
  4295  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4296  	if localVarHttpContentType != "" {
  4297  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4298  	}
  4299  
  4300  	// to determine the Accept header
  4301  	localVarHttpHeaderAccepts := []string{
  4302  		"application/json",
  4303  	}
  4304  
  4305  	// set Accept header
  4306  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4307  	if localVarHttpHeaderAccept != "" {
  4308  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4309  	}
  4310  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4311  	if err != nil {
  4312  		return successPayload, nil, err
  4313  	}
  4314  
  4315  	localVarHttpResponse, err := a.client.callAPI(r)
  4316  	if err != nil || localVarHttpResponse == nil {
  4317  		return successPayload, localVarHttpResponse, err
  4318  	}
  4319  	defer localVarHttpResponse.Body.Close()
  4320  	if localVarHttpResponse.StatusCode >= 300 {
  4321  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4322  	}
  4323  
  4324  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4325  		return successPayload, localVarHttpResponse, err
  4326  	}
  4327  
  4328  	return successPayload, localVarHttpResponse, err
  4329  }
  4330  
  4331  /* LogicalRoutingAndServicesApiService List static routes BFD Peers
  4332  Returns information about all BFD peers created on specified logical router for static routes.
  4333  * @param ctx context.Context Authentication Context
  4334  @param logicalRouterId
  4335  @param optional (nil or map[string]interface{}) with one or more of:
  4336      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  4337      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  4338      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  4339      @param "sortAscending" (bool)
  4340      @param "sortBy" (string) Field by which records are sorted
  4341  @return manager.StaticHopBfdPeerListResult*/
  4342  func (a *LogicalRoutingAndServicesApiService) ListStaticHopBfdPeers(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.StaticHopBfdPeerListResult, *http.Response, error) {
  4343  	var (
  4344  		localVarHttpMethod = strings.ToUpper("Get")
  4345  		localVarPostBody   interface{}
  4346  		localVarFileName   string
  4347  		localVarFileBytes  []byte
  4348  		successPayload     manager.StaticHopBfdPeerListResult
  4349  	)
  4350  
  4351  	// create path and map variables
  4352  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers"
  4353  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4354  
  4355  	localVarHeaderParams := make(map[string]string)
  4356  	localVarQueryParams := url.Values{}
  4357  	localVarFormParams := url.Values{}
  4358  
  4359  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  4360  		return successPayload, nil, err
  4361  	}
  4362  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  4363  		return successPayload, nil, err
  4364  	}
  4365  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  4366  		return successPayload, nil, err
  4367  	}
  4368  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  4369  		return successPayload, nil, err
  4370  	}
  4371  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  4372  		return successPayload, nil, err
  4373  	}
  4374  
  4375  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  4376  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  4377  	}
  4378  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  4379  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  4380  	}
  4381  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  4382  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  4383  	}
  4384  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  4385  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  4386  	}
  4387  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  4388  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  4389  	}
  4390  	// to determine the Content-Type header
  4391  	localVarHttpContentTypes := []string{"application/json"}
  4392  
  4393  	// set Content-Type header
  4394  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4395  	if localVarHttpContentType != "" {
  4396  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4397  	}
  4398  
  4399  	// to determine the Accept header
  4400  	localVarHttpHeaderAccepts := []string{
  4401  		"application/json",
  4402  	}
  4403  
  4404  	// set Accept header
  4405  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4406  	if localVarHttpHeaderAccept != "" {
  4407  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4408  	}
  4409  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4410  	if err != nil {
  4411  		return successPayload, nil, err
  4412  	}
  4413  
  4414  	localVarHttpResponse, err := a.client.callAPI(r)
  4415  	if err != nil || localVarHttpResponse == nil {
  4416  		return successPayload, localVarHttpResponse, err
  4417  	}
  4418  	defer localVarHttpResponse.Body.Close()
  4419  	if localVarHttpResponse.StatusCode >= 300 {
  4420  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4421  	}
  4422  
  4423  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4424  		return successPayload, localVarHttpResponse, err
  4425  	}
  4426  
  4427  	return successPayload, localVarHttpResponse, err
  4428  }
  4429  
  4430  /* LogicalRoutingAndServicesApiService Paginated List of Static Routes
  4431  Returns information about configured static routes, including the network address and next hops for each static route.
  4432  * @param ctx context.Context Authentication Context
  4433  @param logicalRouterId
  4434  @param optional (nil or map[string]interface{}) with one or more of:
  4435      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  4436      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  4437      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  4438      @param "sortAscending" (bool)
  4439      @param "sortBy" (string) Field by which records are sorted
  4440  @return manager.StaticRouteListResult*/
  4441  func (a *LogicalRoutingAndServicesApiService) ListStaticRoutes(ctx context.Context, logicalRouterId string, localVarOptionals map[string]interface{}) (manager.StaticRouteListResult, *http.Response, error) {
  4442  	var (
  4443  		localVarHttpMethod = strings.ToUpper("Get")
  4444  		localVarPostBody   interface{}
  4445  		localVarFileName   string
  4446  		localVarFileBytes  []byte
  4447  		successPayload     manager.StaticRouteListResult
  4448  	)
  4449  
  4450  	// create path and map variables
  4451  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes"
  4452  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4453  
  4454  	localVarHeaderParams := make(map[string]string)
  4455  	localVarQueryParams := url.Values{}
  4456  	localVarFormParams := url.Values{}
  4457  
  4458  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  4459  		return successPayload, nil, err
  4460  	}
  4461  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  4462  		return successPayload, nil, err
  4463  	}
  4464  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  4465  		return successPayload, nil, err
  4466  	}
  4467  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  4468  		return successPayload, nil, err
  4469  	}
  4470  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  4471  		return successPayload, nil, err
  4472  	}
  4473  
  4474  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  4475  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  4476  	}
  4477  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  4478  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  4479  	}
  4480  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  4481  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  4482  	}
  4483  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  4484  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  4485  	}
  4486  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  4487  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  4488  	}
  4489  	// to determine the Content-Type header
  4490  	localVarHttpContentTypes := []string{"application/json"}
  4491  
  4492  	// set Content-Type header
  4493  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4494  	if localVarHttpContentType != "" {
  4495  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4496  	}
  4497  
  4498  	// to determine the Accept header
  4499  	localVarHttpHeaderAccepts := []string{
  4500  		"application/json",
  4501  	}
  4502  
  4503  	// set Accept header
  4504  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4505  	if localVarHttpHeaderAccept != "" {
  4506  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4507  	}
  4508  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4509  	if err != nil {
  4510  		return successPayload, nil, err
  4511  	}
  4512  
  4513  	localVarHttpResponse, err := a.client.callAPI(r)
  4514  	if err != nil || localVarHttpResponse == nil {
  4515  		return successPayload, localVarHttpResponse, err
  4516  	}
  4517  	defer localVarHttpResponse.Body.Close()
  4518  	if localVarHttpResponse.StatusCode >= 300 {
  4519  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4520  	}
  4521  
  4522  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4523  		return successPayload, localVarHttpResponse, err
  4524  	}
  4525  
  4526  	return successPayload, localVarHttpResponse, err
  4527  }
  4528  
  4529  /* LogicalRoutingAndServicesApiService Reprocesses a logical router configuration and publish updates to controller
  4530  Reprocess logical router configuration and configuration of related entities like logical router ports, static routing, etc. Any missing Updates are published to controller.
  4531  * @param ctx context.Context Authentication Context
  4532  @param logicalRouterId
  4533  @return */
  4534  func (a *LogicalRoutingAndServicesApiService) ReProcessLogicalRouterReprocess(ctx context.Context, logicalRouterId string) (*http.Response, error) {
  4535  	var (
  4536  		localVarHttpMethod = strings.ToUpper("Post")
  4537  		localVarPostBody   interface{}
  4538  		localVarFileName   string
  4539  		localVarFileBytes  []byte
  4540  	)
  4541  
  4542  	// create path and map variables
  4543  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}?action=reprocess"
  4544  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4545  
  4546  	localVarHeaderParams := make(map[string]string)
  4547  	localVarQueryParams := url.Values{}
  4548  	localVarFormParams := url.Values{}
  4549  
  4550  	// to determine the Content-Type header
  4551  	localVarHttpContentTypes := []string{"application/json"}
  4552  
  4553  	// set Content-Type header
  4554  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4555  	if localVarHttpContentType != "" {
  4556  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4557  	}
  4558  
  4559  	// to determine the Accept header
  4560  	localVarHttpHeaderAccepts := []string{
  4561  		"application/json",
  4562  	}
  4563  
  4564  	// set Accept header
  4565  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4566  	if localVarHttpHeaderAccept != "" {
  4567  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4568  	}
  4569  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4570  	if err != nil {
  4571  		return nil, err
  4572  	}
  4573  
  4574  	localVarHttpResponse, err := a.client.callAPI(r)
  4575  	if err != nil || localVarHttpResponse == nil {
  4576  		return localVarHttpResponse, err
  4577  	}
  4578  	defer localVarHttpResponse.Body.Close()
  4579  	if localVarHttpResponse.StatusCode >= 300 {
  4580  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4581  	}
  4582  
  4583  	return localVarHttpResponse, err
  4584  }
  4585  
  4586  /* LogicalRoutingAndServicesApiService Read the Advertisement Rules on a Logical Router
  4587  Returns the advertisement rule list for the specified TIER1 logical router.
  4588  * @param ctx context.Context Authentication Context
  4589  @param logicalRouterId
  4590  @return manager.AdvertiseRuleList*/
  4591  func (a *LogicalRoutingAndServicesApiService) ReadAdvertiseRuleList(ctx context.Context, logicalRouterId string) (manager.AdvertiseRuleList, *http.Response, error) {
  4592  	var (
  4593  		localVarHttpMethod = strings.ToUpper("Get")
  4594  		localVarPostBody   interface{}
  4595  		localVarFileName   string
  4596  		localVarFileBytes  []byte
  4597  		successPayload     manager.AdvertiseRuleList
  4598  	)
  4599  
  4600  	// create path and map variables
  4601  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/advertisement/rules"
  4602  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4603  
  4604  	localVarHeaderParams := make(map[string]string)
  4605  	localVarQueryParams := url.Values{}
  4606  	localVarFormParams := url.Values{}
  4607  
  4608  	// to determine the Content-Type header
  4609  	localVarHttpContentTypes := []string{"application/json"}
  4610  
  4611  	// set Content-Type header
  4612  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4613  	if localVarHttpContentType != "" {
  4614  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4615  	}
  4616  
  4617  	// to determine the Accept header
  4618  	localVarHttpHeaderAccepts := []string{
  4619  		"application/json",
  4620  	}
  4621  
  4622  	// set Accept header
  4623  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4624  	if localVarHttpHeaderAccept != "" {
  4625  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4626  	}
  4627  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4628  	if err != nil {
  4629  		return successPayload, nil, err
  4630  	}
  4631  
  4632  	localVarHttpResponse, err := a.client.callAPI(r)
  4633  	if err != nil || localVarHttpResponse == nil {
  4634  		return successPayload, localVarHttpResponse, err
  4635  	}
  4636  	defer localVarHttpResponse.Body.Close()
  4637  	if localVarHttpResponse.StatusCode >= 300 {
  4638  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4639  	}
  4640  
  4641  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4642  		return successPayload, localVarHttpResponse, err
  4643  	}
  4644  
  4645  	return successPayload, localVarHttpResponse, err
  4646  }
  4647  
  4648  /* LogicalRoutingAndServicesApiService Read the Advertisement Configuration on a Logical Router
  4649  Returns information about the routes to be advertised by the specified TIER1 logical router.
  4650  * @param ctx context.Context Authentication Context
  4651  @param logicalRouterId
  4652  @return manager.AdvertisementConfig*/
  4653  func (a *LogicalRoutingAndServicesApiService) ReadAdvertisementConfig(ctx context.Context, logicalRouterId string) (manager.AdvertisementConfig, *http.Response, error) {
  4654  	var (
  4655  		localVarHttpMethod = strings.ToUpper("Get")
  4656  		localVarPostBody   interface{}
  4657  		localVarFileName   string
  4658  		localVarFileBytes  []byte
  4659  		successPayload     manager.AdvertisementConfig
  4660  	)
  4661  
  4662  	// create path and map variables
  4663  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/advertisement"
  4664  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4665  
  4666  	localVarHeaderParams := make(map[string]string)
  4667  	localVarQueryParams := url.Values{}
  4668  	localVarFormParams := url.Values{}
  4669  
  4670  	// to determine the Content-Type header
  4671  	localVarHttpContentTypes := []string{"application/json"}
  4672  
  4673  	// set Content-Type header
  4674  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4675  	if localVarHttpContentType != "" {
  4676  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4677  	}
  4678  
  4679  	// to determine the Accept header
  4680  	localVarHttpHeaderAccepts := []string{
  4681  		"application/json",
  4682  	}
  4683  
  4684  	// set Accept header
  4685  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4686  	if localVarHttpHeaderAccept != "" {
  4687  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4688  	}
  4689  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4690  	if err != nil {
  4691  		return successPayload, nil, err
  4692  	}
  4693  
  4694  	localVarHttpResponse, err := a.client.callAPI(r)
  4695  	if err != nil || localVarHttpResponse == nil {
  4696  		return successPayload, localVarHttpResponse, err
  4697  	}
  4698  	defer localVarHttpResponse.Body.Close()
  4699  	if localVarHttpResponse.StatusCode >= 300 {
  4700  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4701  	}
  4702  
  4703  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4704  		return successPayload, localVarHttpResponse, err
  4705  	}
  4706  
  4707  	return successPayload, localVarHttpResponse, err
  4708  }
  4709  
  4710  /* LogicalRoutingAndServicesApiService Read the BGP Configuration on a Logical Router
  4711  Returns information about the BGP configuration on a specified logical router. Information includes whether or not the BGP configuration is enabled, the AS number, and whether or not graceful restart is enabled.
  4712  * @param ctx context.Context Authentication Context
  4713  @param logicalRouterId
  4714  @return manager.BgpConfig*/
  4715  func (a *LogicalRoutingAndServicesApiService) ReadBgpConfig(ctx context.Context, logicalRouterId string) (manager.BgpConfig, *http.Response, error) {
  4716  	var (
  4717  		localVarHttpMethod = strings.ToUpper("Get")
  4718  		localVarPostBody   interface{}
  4719  		localVarFileName   string
  4720  		localVarFileBytes  []byte
  4721  		successPayload     manager.BgpConfig
  4722  	)
  4723  
  4724  	// create path and map variables
  4725  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp"
  4726  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4727  
  4728  	localVarHeaderParams := make(map[string]string)
  4729  	localVarQueryParams := url.Values{}
  4730  	localVarFormParams := url.Values{}
  4731  
  4732  	// to determine the Content-Type header
  4733  	localVarHttpContentTypes := []string{"application/json"}
  4734  
  4735  	// set Content-Type header
  4736  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4737  	if localVarHttpContentType != "" {
  4738  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4739  	}
  4740  
  4741  	// to determine the Accept header
  4742  	localVarHttpHeaderAccepts := []string{
  4743  		"application/json",
  4744  	}
  4745  
  4746  	// set Accept header
  4747  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4748  	if localVarHttpHeaderAccept != "" {
  4749  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4750  	}
  4751  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4752  	if err != nil {
  4753  		return successPayload, nil, err
  4754  	}
  4755  
  4756  	localVarHttpResponse, err := a.client.callAPI(r)
  4757  	if err != nil || localVarHttpResponse == nil {
  4758  		return successPayload, localVarHttpResponse, err
  4759  	}
  4760  	defer localVarHttpResponse.Body.Close()
  4761  	if localVarHttpResponse.StatusCode >= 300 {
  4762  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4763  	}
  4764  
  4765  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4766  		return successPayload, localVarHttpResponse, err
  4767  	}
  4768  
  4769  	return successPayload, localVarHttpResponse, err
  4770  }
  4771  
  4772  /* LogicalRoutingAndServicesApiService Read a specific BGP Neighbor on a Logical Router
  4773  Read a specific BGP Neighbor on a Logical Router
  4774  * @param ctx context.Context Authentication Context
  4775  @param logicalRouterId
  4776  @param id
  4777  @return manager.BgpNeighbor*/
  4778  func (a *LogicalRoutingAndServicesApiService) ReadBgpNeighbor(ctx context.Context, logicalRouterId string, id string) (manager.BgpNeighbor, *http.Response, error) {
  4779  	var (
  4780  		localVarHttpMethod = strings.ToUpper("Get")
  4781  		localVarPostBody   interface{}
  4782  		localVarFileName   string
  4783  		localVarFileBytes  []byte
  4784  		successPayload     manager.BgpNeighbor
  4785  	)
  4786  
  4787  	// create path and map variables
  4788  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}"
  4789  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4790  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  4791  
  4792  	localVarHeaderParams := make(map[string]string)
  4793  	localVarQueryParams := url.Values{}
  4794  	localVarFormParams := url.Values{}
  4795  
  4796  	// to determine the Content-Type header
  4797  	localVarHttpContentTypes := []string{"application/json"}
  4798  
  4799  	// set Content-Type header
  4800  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4801  	if localVarHttpContentType != "" {
  4802  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4803  	}
  4804  
  4805  	// to determine the Accept header
  4806  	localVarHttpHeaderAccepts := []string{
  4807  		"application/json",
  4808  	}
  4809  
  4810  	// set Accept header
  4811  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4812  	if localVarHttpHeaderAccept != "" {
  4813  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4814  	}
  4815  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4816  	if err != nil {
  4817  		return successPayload, nil, err
  4818  	}
  4819  
  4820  	localVarHttpResponse, err := a.client.callAPI(r)
  4821  	if err != nil || localVarHttpResponse == nil {
  4822  		return successPayload, localVarHttpResponse, err
  4823  	}
  4824  	defer localVarHttpResponse.Body.Close()
  4825  	if localVarHttpResponse.StatusCode >= 300 {
  4826  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4827  	}
  4828  
  4829  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4830  		return successPayload, localVarHttpResponse, err
  4831  	}
  4832  
  4833  	return successPayload, localVarHttpResponse, err
  4834  }
  4835  
  4836  /* LogicalRoutingAndServicesApiService Read the debug information for the logical router
  4837  API to download below information as text which will be used for debugging and troubleshooting. 1) Logical router sub-components and ports. 2) Routing configuration as sent to central control plane. 3) TIER1 advertised network information.
  4838  * @param ctx context.Context Authentication Context
  4839  @param logicalRouterId
  4840  @return string*/
  4841  func (a *LogicalRoutingAndServicesApiService) ReadDebugInfoText(ctx context.Context, logicalRouterId string) (string, *http.Response, error) {
  4842  	var (
  4843  		localVarHttpMethod = strings.ToUpper("Get")
  4844  		localVarPostBody   interface{}
  4845  		localVarFileName   string
  4846  		localVarFileBytes  []byte
  4847  		successPayload     string
  4848  	)
  4849  
  4850  	// create path and map variables
  4851  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/debug-info?format=text"
  4852  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  4853  
  4854  	localVarHeaderParams := make(map[string]string)
  4855  	localVarQueryParams := url.Values{}
  4856  	localVarFormParams := url.Values{}
  4857  
  4858  	// to determine the Content-Type header
  4859  	localVarHttpContentTypes := []string{"application/json"}
  4860  
  4861  	// set Content-Type header
  4862  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4863  	if localVarHttpContentType != "" {
  4864  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4865  	}
  4866  
  4867  	// to determine the Accept header
  4868  	localVarHttpHeaderAccepts := []string{
  4869  		"text/plain; charset=utf-8",
  4870  	}
  4871  
  4872  	// set Accept header
  4873  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4874  	if localVarHttpHeaderAccept != "" {
  4875  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4876  	}
  4877  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4878  	if err != nil {
  4879  		return successPayload, nil, err
  4880  	}
  4881  
  4882  	localVarHttpResponse, err := a.client.callAPI(r)
  4883  	if err != nil || localVarHttpResponse == nil {
  4884  		return successPayload, localVarHttpResponse, err
  4885  	}
  4886  	defer localVarHttpResponse.Body.Close()
  4887  	if localVarHttpResponse.StatusCode >= 300 {
  4888  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4889  	}
  4890  
  4891  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4892  		return successPayload, localVarHttpResponse, err
  4893  	}
  4894  
  4895  	return successPayload, localVarHttpResponse, err
  4896  }
  4897  
  4898  /* LogicalRoutingAndServicesApiService Read a DHCP Relay Service
  4899  Returns the dhcp relay service information.
  4900  * @param ctx context.Context Authentication Context
  4901  @param relayId
  4902  @return manager.DhcpRelayService*/
  4903  func (a *LogicalRoutingAndServicesApiService) ReadDhcpRelay(ctx context.Context, relayId string) (manager.DhcpRelayService, *http.Response, error) {
  4904  	var (
  4905  		localVarHttpMethod = strings.ToUpper("Get")
  4906  		localVarPostBody   interface{}
  4907  		localVarFileName   string
  4908  		localVarFileBytes  []byte
  4909  		successPayload     manager.DhcpRelayService
  4910  	)
  4911  
  4912  	// create path and map variables
  4913  	localVarPath := a.client.cfg.BasePath + "/dhcp/relays/{relay-id}"
  4914  	localVarPath = strings.Replace(localVarPath, "{"+"relay-id"+"}", fmt.Sprintf("%v", relayId), -1)
  4915  
  4916  	localVarHeaderParams := make(map[string]string)
  4917  	localVarQueryParams := url.Values{}
  4918  	localVarFormParams := url.Values{}
  4919  
  4920  	// to determine the Content-Type header
  4921  	localVarHttpContentTypes := []string{"application/json"}
  4922  
  4923  	// set Content-Type header
  4924  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4925  	if localVarHttpContentType != "" {
  4926  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4927  	}
  4928  
  4929  	// to determine the Accept header
  4930  	localVarHttpHeaderAccepts := []string{
  4931  		"application/json",
  4932  	}
  4933  
  4934  	// set Accept header
  4935  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4936  	if localVarHttpHeaderAccept != "" {
  4937  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  4938  	}
  4939  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  4940  	if err != nil {
  4941  		return successPayload, nil, err
  4942  	}
  4943  
  4944  	localVarHttpResponse, err := a.client.callAPI(r)
  4945  	if err != nil || localVarHttpResponse == nil {
  4946  		return successPayload, localVarHttpResponse, err
  4947  	}
  4948  	defer localVarHttpResponse.Body.Close()
  4949  	if localVarHttpResponse.StatusCode >= 300 {
  4950  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  4951  	}
  4952  
  4953  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  4954  		return successPayload, localVarHttpResponse, err
  4955  	}
  4956  
  4957  	return successPayload, localVarHttpResponse, err
  4958  }
  4959  
  4960  /* LogicalRoutingAndServicesApiService Read a DHCP Relay Profile
  4961  Returns information about the specified dhcp relay profile.
  4962  * @param ctx context.Context Authentication Context
  4963  @param relayProfileId
  4964  @return manager.DhcpRelayProfile*/
  4965  func (a *LogicalRoutingAndServicesApiService) ReadDhcpRelayProfile(ctx context.Context, relayProfileId string) (manager.DhcpRelayProfile, *http.Response, error) {
  4966  	var (
  4967  		localVarHttpMethod = strings.ToUpper("Get")
  4968  		localVarPostBody   interface{}
  4969  		localVarFileName   string
  4970  		localVarFileBytes  []byte
  4971  		successPayload     manager.DhcpRelayProfile
  4972  	)
  4973  
  4974  	// create path and map variables
  4975  	localVarPath := a.client.cfg.BasePath + "/dhcp/relay-profiles/{relay-profile-id}"
  4976  	localVarPath = strings.Replace(localVarPath, "{"+"relay-profile-id"+"}", fmt.Sprintf("%v", relayProfileId), -1)
  4977  
  4978  	localVarHeaderParams := make(map[string]string)
  4979  	localVarQueryParams := url.Values{}
  4980  	localVarFormParams := url.Values{}
  4981  
  4982  	// to determine the Content-Type header
  4983  	localVarHttpContentTypes := []string{"application/json"}
  4984  
  4985  	// set Content-Type header
  4986  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  4987  	if localVarHttpContentType != "" {
  4988  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  4989  	}
  4990  
  4991  	// to determine the Accept header
  4992  	localVarHttpHeaderAccepts := []string{
  4993  		"application/json",
  4994  	}
  4995  
  4996  	// set Accept header
  4997  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  4998  	if localVarHttpHeaderAccept != "" {
  4999  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5000  	}
  5001  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5002  	if err != nil {
  5003  		return successPayload, nil, err
  5004  	}
  5005  
  5006  	localVarHttpResponse, err := a.client.callAPI(r)
  5007  	if err != nil || localVarHttpResponse == nil {
  5008  		return successPayload, localVarHttpResponse, err
  5009  	}
  5010  	defer localVarHttpResponse.Body.Close()
  5011  	if localVarHttpResponse.StatusCode >= 300 {
  5012  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5013  	}
  5014  
  5015  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5016  		return successPayload, localVarHttpResponse, err
  5017  	}
  5018  
  5019  	return successPayload, localVarHttpResponse, err
  5020  }
  5021  
  5022  /* LogicalRoutingAndServicesApiService Get a specific IPPrefixList on a Logical Router
  5023  Read a specific IPPrefixList on the specified logical router.
  5024  * @param ctx context.Context Authentication Context
  5025  @param logicalRouterId
  5026  @param id
  5027  @return manager.IpPrefixList*/
  5028  func (a *LogicalRoutingAndServicesApiService) ReadIPPrefixList(ctx context.Context, logicalRouterId string, id string) (manager.IpPrefixList, *http.Response, error) {
  5029  	var (
  5030  		localVarHttpMethod = strings.ToUpper("Get")
  5031  		localVarPostBody   interface{}
  5032  		localVarFileName   string
  5033  		localVarFileBytes  []byte
  5034  		successPayload     manager.IpPrefixList
  5035  	)
  5036  
  5037  	// create path and map variables
  5038  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/ip-prefix-lists/{id}"
  5039  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  5040  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  5041  
  5042  	localVarHeaderParams := make(map[string]string)
  5043  	localVarQueryParams := url.Values{}
  5044  	localVarFormParams := url.Values{}
  5045  
  5046  	// to determine the Content-Type header
  5047  	localVarHttpContentTypes := []string{"application/json"}
  5048  
  5049  	// set Content-Type header
  5050  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5051  	if localVarHttpContentType != "" {
  5052  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5053  	}
  5054  
  5055  	// to determine the Accept header
  5056  	localVarHttpHeaderAccepts := []string{
  5057  		"application/json",
  5058  	}
  5059  
  5060  	// set Accept header
  5061  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5062  	if localVarHttpHeaderAccept != "" {
  5063  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5064  	}
  5065  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5066  	if err != nil {
  5067  		return successPayload, nil, err
  5068  	}
  5069  
  5070  	localVarHttpResponse, err := a.client.callAPI(r)
  5071  	if err != nil || localVarHttpResponse == nil {
  5072  		return successPayload, localVarHttpResponse, err
  5073  	}
  5074  	defer localVarHttpResponse.Body.Close()
  5075  	if localVarHttpResponse.StatusCode >= 300 {
  5076  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5077  	}
  5078  
  5079  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5080  		return successPayload, localVarHttpResponse, err
  5081  	}
  5082  
  5083  	return successPayload, localVarHttpResponse, err
  5084  }
  5085  
  5086  /* LogicalRoutingAndServicesApiService Read Logical Router
  5087  Returns information about the specified logical router.
  5088  * @param ctx context.Context Authentication Context
  5089  @param logicalRouterId
  5090  @return manager.LogicalRouter*/
  5091  func (a *LogicalRoutingAndServicesApiService) ReadLogicalRouter(ctx context.Context, logicalRouterId string) (manager.LogicalRouter, *http.Response, error) {
  5092  	var (
  5093  		localVarHttpMethod = strings.ToUpper("Get")
  5094  		localVarPostBody   interface{}
  5095  		localVarFileName   string
  5096  		localVarFileBytes  []byte
  5097  		successPayload     manager.LogicalRouter
  5098  	)
  5099  
  5100  	// create path and map variables
  5101  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}"
  5102  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  5103  
  5104  	localVarHeaderParams := make(map[string]string)
  5105  	localVarQueryParams := url.Values{}
  5106  	localVarFormParams := url.Values{}
  5107  
  5108  	// to determine the Content-Type header
  5109  	localVarHttpContentTypes := []string{"application/json"}
  5110  
  5111  	// set Content-Type header
  5112  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5113  	if localVarHttpContentType != "" {
  5114  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5115  	}
  5116  
  5117  	// to determine the Accept header
  5118  	localVarHttpHeaderAccepts := []string{
  5119  		"application/json",
  5120  	}
  5121  
  5122  	// set Accept header
  5123  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5124  	if localVarHttpHeaderAccept != "" {
  5125  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5126  	}
  5127  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5128  	if err != nil {
  5129  		return successPayload, nil, err
  5130  	}
  5131  
  5132  	localVarHttpResponse, err := a.client.callAPI(r)
  5133  	if err != nil || localVarHttpResponse == nil {
  5134  		return successPayload, localVarHttpResponse, err
  5135  	}
  5136  	defer localVarHttpResponse.Body.Close()
  5137  	if localVarHttpResponse.StatusCode >= 300 {
  5138  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5139  	}
  5140  
  5141  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5142  		return successPayload, localVarHttpResponse, err
  5143  	}
  5144  
  5145  	return successPayload, localVarHttpResponse, err
  5146  }
  5147  
  5148  /* LogicalRoutingAndServicesApiService Read Logical Router Port
  5149  Returns information about the specified logical router port.
  5150  * @param ctx context.Context Authentication Context
  5151  @param logicalRouterPortId
  5152  @return manager.LogicalRouterPort*/
  5153  func (a *LogicalRoutingAndServicesApiService) ReadLogicalRouterPort(ctx context.Context, logicalRouterPortId string) (manager.LogicalRouterPort, *http.Response, error) {
  5154  	var (
  5155  		localVarHttpMethod = strings.ToUpper("Get")
  5156  		localVarPostBody   interface{}
  5157  		localVarFileName   string
  5158  		localVarFileBytes  []byte
  5159  		successPayload     manager.LogicalRouterPort
  5160  	)
  5161  
  5162  	// create path and map variables
  5163  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  5164  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  5165  
  5166  	localVarHeaderParams := make(map[string]string)
  5167  	localVarQueryParams := url.Values{}
  5168  	localVarFormParams := url.Values{}
  5169  
  5170  	// to determine the Content-Type header
  5171  	localVarHttpContentTypes := []string{"application/json"}
  5172  
  5173  	// set Content-Type header
  5174  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5175  	if localVarHttpContentType != "" {
  5176  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5177  	}
  5178  
  5179  	// to determine the Accept header
  5180  	localVarHttpHeaderAccepts := []string{
  5181  		"application/json",
  5182  	}
  5183  
  5184  	// set Accept header
  5185  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5186  	if localVarHttpHeaderAccept != "" {
  5187  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5188  	}
  5189  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5190  	if err != nil {
  5191  		return successPayload, nil, err
  5192  	}
  5193  
  5194  	localVarHttpResponse, err := a.client.callAPI(r)
  5195  	if err != nil || localVarHttpResponse == nil {
  5196  		return successPayload, localVarHttpResponse, err
  5197  	}
  5198  	defer localVarHttpResponse.Body.Close()
  5199  	if localVarHttpResponse.StatusCode >= 300 {
  5200  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5201  	}
  5202  
  5203  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5204  		return successPayload, localVarHttpResponse, err
  5205  	}
  5206  
  5207  	return successPayload, localVarHttpResponse, err
  5208  }
  5209  
  5210  /* LogicalRoutingAndServicesApiService Read Logical Router UpLink Port
  5211  Returns information about the specified logical router port.
  5212  * @param ctx context.Context Authentication Context
  5213  @param logicalRouterPortId
  5214  @return manager.LogicalRouterUpLinkPort*/
  5215  func (a *LogicalRoutingAndServicesApiService) ReadLogicalRouterUpLinkPort(ctx context.Context, logicalRouterPortId string) (manager.LogicalRouterUpLinkPort, *http.Response, error) {
  5216  	var (
  5217  		localVarHttpMethod = strings.ToUpper("Get")
  5218  		localVarPostBody   interface{}
  5219  		localVarFileName   string
  5220  		localVarFileBytes  []byte
  5221  		successPayload     manager.LogicalRouterUpLinkPort
  5222  	)
  5223  
  5224  	// create path and map variables
  5225  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  5226  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  5227  
  5228  	localVarHeaderParams := make(map[string]string)
  5229  	localVarQueryParams := url.Values{}
  5230  	localVarFormParams := url.Values{}
  5231  
  5232  	// to determine the Content-Type header
  5233  	localVarHttpContentTypes := []string{"application/json"}
  5234  
  5235  	// set Content-Type header
  5236  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5237  	if localVarHttpContentType != "" {
  5238  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5239  	}
  5240  
  5241  	// to determine the Accept header
  5242  	localVarHttpHeaderAccepts := []string{
  5243  		"application/json",
  5244  	}
  5245  
  5246  	// set Accept header
  5247  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5248  	if localVarHttpHeaderAccept != "" {
  5249  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5250  	}
  5251  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5252  	if err != nil {
  5253  		return successPayload, nil, err
  5254  	}
  5255  
  5256  	localVarHttpResponse, err := a.client.callAPI(r)
  5257  	if err != nil || localVarHttpResponse == nil {
  5258  		return successPayload, localVarHttpResponse, err
  5259  	}
  5260  	defer localVarHttpResponse.Body.Close()
  5261  	if localVarHttpResponse.StatusCode >= 300 {
  5262  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5263  	}
  5264  
  5265  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5266  		return successPayload, localVarHttpResponse, err
  5267  	}
  5268  
  5269  	return successPayload, localVarHttpResponse, err
  5270  }
  5271  
  5272  /* LogicalRoutingAndServicesApiService Read Logical Router Link Port On Tier0
  5273  Returns information about the specified logical router port.
  5274  * @param ctx context.Context Authentication Context
  5275  @param logicalRouterPortId
  5276  @return manager.LogicalRouterLinkPortOnTier0*/
  5277  func (a *LogicalRoutingAndServicesApiService) ReadLogicalRouterLinkPortOnTier0(ctx context.Context, logicalRouterPortId string) (manager.LogicalRouterLinkPortOnTier0, *http.Response, error) {
  5278  	var (
  5279  		localVarHttpMethod = strings.ToUpper("Get")
  5280  		localVarPostBody   interface{}
  5281  		localVarFileName   string
  5282  		localVarFileBytes  []byte
  5283  		successPayload     manager.LogicalRouterLinkPortOnTier0
  5284  	)
  5285  
  5286  	// create path and map variables
  5287  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  5288  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  5289  
  5290  	localVarHeaderParams := make(map[string]string)
  5291  	localVarQueryParams := url.Values{}
  5292  	localVarFormParams := url.Values{}
  5293  
  5294  	// to determine the Content-Type header
  5295  	localVarHttpContentTypes := []string{"application/json"}
  5296  
  5297  	// set Content-Type header
  5298  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5299  	if localVarHttpContentType != "" {
  5300  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5301  	}
  5302  
  5303  	// to determine the Accept header
  5304  	localVarHttpHeaderAccepts := []string{
  5305  		"application/json",
  5306  	}
  5307  
  5308  	// set Accept header
  5309  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5310  	if localVarHttpHeaderAccept != "" {
  5311  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5312  	}
  5313  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5314  	if err != nil {
  5315  		return successPayload, nil, err
  5316  	}
  5317  
  5318  	localVarHttpResponse, err := a.client.callAPI(r)
  5319  	if err != nil || localVarHttpResponse == nil {
  5320  		return successPayload, localVarHttpResponse, err
  5321  	}
  5322  	defer localVarHttpResponse.Body.Close()
  5323  	if localVarHttpResponse.StatusCode >= 300 {
  5324  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5325  	}
  5326  
  5327  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5328  		return successPayload, localVarHttpResponse, err
  5329  	}
  5330  
  5331  	return successPayload, localVarHttpResponse, err
  5332  }
  5333  
  5334  /* LogicalRoutingAndServicesApiService Read Logical Router Link Port On Tier1
  5335  Returns information about the specified logical router port.
  5336  * @param ctx context.Context Authentication Context
  5337  @param logicalRouterPortId
  5338  @return manager.LogicalRouterLinkPortOnTier1*/
  5339  func (a *LogicalRoutingAndServicesApiService) ReadLogicalRouterLinkPortOnTier1(ctx context.Context, logicalRouterPortId string) (manager.LogicalRouterLinkPortOnTier1, *http.Response, error) {
  5340  	var (
  5341  		localVarHttpMethod = strings.ToUpper("Get")
  5342  		localVarPostBody   interface{}
  5343  		localVarFileName   string
  5344  		localVarFileBytes  []byte
  5345  		successPayload     manager.LogicalRouterLinkPortOnTier1
  5346  	)
  5347  
  5348  	// create path and map variables
  5349  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  5350  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  5351  
  5352  	localVarHeaderParams := make(map[string]string)
  5353  	localVarQueryParams := url.Values{}
  5354  	localVarFormParams := url.Values{}
  5355  
  5356  	// to determine the Content-Type header
  5357  	localVarHttpContentTypes := []string{"application/json"}
  5358  
  5359  	// set Content-Type header
  5360  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5361  	if localVarHttpContentType != "" {
  5362  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5363  	}
  5364  
  5365  	// to determine the Accept header
  5366  	localVarHttpHeaderAccepts := []string{
  5367  		"application/json",
  5368  	}
  5369  
  5370  	// set Accept header
  5371  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5372  	if localVarHttpHeaderAccept != "" {
  5373  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5374  	}
  5375  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5376  	if err != nil {
  5377  		return successPayload, nil, err
  5378  	}
  5379  
  5380  	localVarHttpResponse, err := a.client.callAPI(r)
  5381  	if err != nil || localVarHttpResponse == nil {
  5382  		return successPayload, localVarHttpResponse, err
  5383  	}
  5384  	defer localVarHttpResponse.Body.Close()
  5385  	if localVarHttpResponse.StatusCode >= 300 {
  5386  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5387  	}
  5388  
  5389  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5390  		return successPayload, localVarHttpResponse, err
  5391  	}
  5392  
  5393  	return successPayload, localVarHttpResponse, err
  5394  }
  5395  
  5396  /* LogicalRoutingAndServicesApiService Read Logical Router Down Link Port
  5397  Returns information about the specified logical router port.
  5398  * @param ctx context.Context Authentication Context
  5399  @param logicalRouterPortId
  5400  @return manager.LogicalRouterDownLinkPort*/
  5401  func (a *LogicalRoutingAndServicesApiService) ReadLogicalRouterDownLinkPort(ctx context.Context, logicalRouterPortId string) (manager.LogicalRouterDownLinkPort, *http.Response, error) {
  5402  	var (
  5403  		localVarHttpMethod = strings.ToUpper("Get")
  5404  		localVarPostBody   interface{}
  5405  		localVarFileName   string
  5406  		localVarFileBytes  []byte
  5407  		successPayload     manager.LogicalRouterDownLinkPort
  5408  	)
  5409  
  5410  	// create path and map variables
  5411  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  5412  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  5413  
  5414  	localVarHeaderParams := make(map[string]string)
  5415  	localVarQueryParams := url.Values{}
  5416  	localVarFormParams := url.Values{}
  5417  
  5418  	// to determine the Content-Type header
  5419  	localVarHttpContentTypes := []string{"application/json"}
  5420  
  5421  	// set Content-Type header
  5422  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5423  	if localVarHttpContentType != "" {
  5424  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5425  	}
  5426  
  5427  	// to determine the Accept header
  5428  	localVarHttpHeaderAccepts := []string{
  5429  		"application/json",
  5430  	}
  5431  
  5432  	// set Accept header
  5433  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5434  	if localVarHttpHeaderAccept != "" {
  5435  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5436  	}
  5437  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5438  	if err != nil {
  5439  		return successPayload, nil, err
  5440  	}
  5441  
  5442  	localVarHttpResponse, err := a.client.callAPI(r)
  5443  	if err != nil || localVarHttpResponse == nil {
  5444  		return successPayload, localVarHttpResponse, err
  5445  	}
  5446  	defer localVarHttpResponse.Body.Close()
  5447  	if localVarHttpResponse.StatusCode >= 300 {
  5448  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5449  	}
  5450  
  5451  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5452  		return successPayload, localVarHttpResponse, err
  5453  	}
  5454  
  5455  	return successPayload, localVarHttpResponse, err
  5456  }
  5457  
  5458  /* LogicalRoutingAndServicesApiService Read Logical Router Centralized Service Link Port
  5459  Returns information about the specified logical router port.
  5460  * @param ctx context.Context Authentication Context
  5461  @param logicalRouterPortId
  5462  @return manager.LogicalRouterCentralizedServicePort*/
  5463  func (a *LogicalRoutingAndServicesApiService) ReadLogicalRouterCentralizedServicePort(ctx context.Context, logicalRouterPortId string) (manager.LogicalRouterCentralizedServicePort, *http.Response, error) {
  5464  	var (
  5465  		localVarHttpMethod = strings.ToUpper("Get")
  5466  		localVarPostBody   interface{}
  5467  		localVarFileName   string
  5468  		localVarFileBytes  []byte
  5469  		successPayload     manager.LogicalRouterCentralizedServicePort
  5470  	)
  5471  
  5472  	// create path and map variables
  5473  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  5474  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  5475  
  5476  	localVarHeaderParams := make(map[string]string)
  5477  	localVarQueryParams := url.Values{}
  5478  	localVarFormParams := url.Values{}
  5479  
  5480  	// to determine the Content-Type header
  5481  	localVarHttpContentTypes := []string{"application/json"}
  5482  
  5483  	// set Content-Type header
  5484  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5485  	if localVarHttpContentType != "" {
  5486  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5487  	}
  5488  
  5489  	// to determine the Accept header
  5490  	localVarHttpHeaderAccepts := []string{
  5491  		"application/json",
  5492  	}
  5493  
  5494  	// set Accept header
  5495  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5496  	if localVarHttpHeaderAccept != "" {
  5497  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5498  	}
  5499  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5500  	if err != nil {
  5501  		return successPayload, nil, err
  5502  	}
  5503  
  5504  	localVarHttpResponse, err := a.client.callAPI(r)
  5505  	if err != nil || localVarHttpResponse == nil {
  5506  		return successPayload, localVarHttpResponse, err
  5507  	}
  5508  	defer localVarHttpResponse.Body.Close()
  5509  	if localVarHttpResponse.StatusCode >= 300 {
  5510  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5511  	}
  5512  
  5513  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5514  		return successPayload, localVarHttpResponse, err
  5515  	}
  5516  
  5517  	return successPayload, localVarHttpResponse, err
  5518  }
  5519  
  5520  /* LogicalRoutingAndServicesApiService Read Logical Router Loopback Port
  5521  Returns information about the specified logical router port.
  5522  * @param ctx context.Context Authentication Context
  5523  @param logicalRouterPortId
  5524  @return manager.LogicalRouterLoopbackPort*/
  5525  func (a *LogicalRoutingAndServicesApiService) ReadLogicalRouterLoopbackPort(ctx context.Context, logicalRouterPortId string) (manager.LogicalRouterLoopbackPort, *http.Response, error) {
  5526  	var (
  5527  		localVarHttpMethod = strings.ToUpper("Get")
  5528  		localVarPostBody   interface{}
  5529  		localVarFileName   string
  5530  		localVarFileBytes  []byte
  5531  		successPayload     manager.LogicalRouterLoopbackPort
  5532  	)
  5533  
  5534  	// create path and map variables
  5535  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  5536  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  5537  
  5538  	localVarHeaderParams := make(map[string]string)
  5539  	localVarQueryParams := url.Values{}
  5540  	localVarFormParams := url.Values{}
  5541  
  5542  	// to determine the Content-Type header
  5543  	localVarHttpContentTypes := []string{"application/json"}
  5544  
  5545  	// set Content-Type header
  5546  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5547  	if localVarHttpContentType != "" {
  5548  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5549  	}
  5550  
  5551  	// to determine the Accept header
  5552  	localVarHttpHeaderAccepts := []string{
  5553  		"application/json",
  5554  	}
  5555  
  5556  	// set Accept header
  5557  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5558  	if localVarHttpHeaderAccept != "" {
  5559  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5560  	}
  5561  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5562  	if err != nil {
  5563  		return successPayload, nil, err
  5564  	}
  5565  
  5566  	localVarHttpResponse, err := a.client.callAPI(r)
  5567  	if err != nil || localVarHttpResponse == nil {
  5568  		return successPayload, localVarHttpResponse, err
  5569  	}
  5570  	defer localVarHttpResponse.Body.Close()
  5571  	if localVarHttpResponse.StatusCode >= 300 {
  5572  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5573  	}
  5574  
  5575  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5576  		return successPayload, localVarHttpResponse, err
  5577  	}
  5578  
  5579  	return successPayload, localVarHttpResponse, err
  5580  }
  5581  
  5582  /* LogicalRoutingAndServicesApiService Read the Redistribution Configuration on a Logical Router
  5583  Returns information about configured route redistribution for the specified logical router.
  5584  * @param ctx context.Context Authentication Context
  5585  @param logicalRouterId
  5586  @return manager.RedistributionConfig*/
  5587  func (a *LogicalRoutingAndServicesApiService) ReadRedistributionConfig(ctx context.Context, logicalRouterId string) (manager.RedistributionConfig, *http.Response, error) {
  5588  	var (
  5589  		localVarHttpMethod = strings.ToUpper("Get")
  5590  		localVarPostBody   interface{}
  5591  		localVarFileName   string
  5592  		localVarFileBytes  []byte
  5593  		successPayload     manager.RedistributionConfig
  5594  	)
  5595  
  5596  	// create path and map variables
  5597  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/redistribution"
  5598  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  5599  
  5600  	localVarHeaderParams := make(map[string]string)
  5601  	localVarQueryParams := url.Values{}
  5602  	localVarFormParams := url.Values{}
  5603  
  5604  	// to determine the Content-Type header
  5605  	localVarHttpContentTypes := []string{"application/json"}
  5606  
  5607  	// set Content-Type header
  5608  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5609  	if localVarHttpContentType != "" {
  5610  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5611  	}
  5612  
  5613  	// to determine the Accept header
  5614  	localVarHttpHeaderAccepts := []string{
  5615  		"application/json",
  5616  	}
  5617  
  5618  	// set Accept header
  5619  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5620  	if localVarHttpHeaderAccept != "" {
  5621  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5622  	}
  5623  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5624  	if err != nil {
  5625  		return successPayload, nil, err
  5626  	}
  5627  
  5628  	localVarHttpResponse, err := a.client.callAPI(r)
  5629  	if err != nil || localVarHttpResponse == nil {
  5630  		return successPayload, localVarHttpResponse, err
  5631  	}
  5632  	defer localVarHttpResponse.Body.Close()
  5633  	if localVarHttpResponse.StatusCode >= 300 {
  5634  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5635  	}
  5636  
  5637  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5638  		return successPayload, localVarHttpResponse, err
  5639  	}
  5640  
  5641  	return successPayload, localVarHttpResponse, err
  5642  }
  5643  
  5644  /* LogicalRoutingAndServicesApiService Read All the Redistribution Rules on a Logical Router
  5645  Returns all the route redistribution rules for the specified logical router.
  5646  * @param ctx context.Context Authentication Context
  5647  @param logicalRouterId
  5648  @return manager.RedistributionRuleList*/
  5649  func (a *LogicalRoutingAndServicesApiService) ReadRedistributionRuleList(ctx context.Context, logicalRouterId string) (manager.RedistributionRuleList, *http.Response, error) {
  5650  	var (
  5651  		localVarHttpMethod = strings.ToUpper("Get")
  5652  		localVarPostBody   interface{}
  5653  		localVarFileName   string
  5654  		localVarFileBytes  []byte
  5655  		successPayload     manager.RedistributionRuleList
  5656  	)
  5657  
  5658  	// create path and map variables
  5659  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/redistribution/rules"
  5660  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  5661  
  5662  	localVarHeaderParams := make(map[string]string)
  5663  	localVarQueryParams := url.Values{}
  5664  	localVarFormParams := url.Values{}
  5665  
  5666  	// to determine the Content-Type header
  5667  	localVarHttpContentTypes := []string{"application/json"}
  5668  
  5669  	// set Content-Type header
  5670  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5671  	if localVarHttpContentType != "" {
  5672  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5673  	}
  5674  
  5675  	// to determine the Accept header
  5676  	localVarHttpHeaderAccepts := []string{
  5677  		"application/json",
  5678  	}
  5679  
  5680  	// set Accept header
  5681  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5682  	if localVarHttpHeaderAccept != "" {
  5683  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5684  	}
  5685  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5686  	if err != nil {
  5687  		return successPayload, nil, err
  5688  	}
  5689  
  5690  	localVarHttpResponse, err := a.client.callAPI(r)
  5691  	if err != nil || localVarHttpResponse == nil {
  5692  		return successPayload, localVarHttpResponse, err
  5693  	}
  5694  	defer localVarHttpResponse.Body.Close()
  5695  	if localVarHttpResponse.StatusCode >= 300 {
  5696  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5697  	}
  5698  
  5699  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5700  		return successPayload, localVarHttpResponse, err
  5701  	}
  5702  
  5703  	return successPayload, localVarHttpResponse, err
  5704  }
  5705  
  5706  /* LogicalRoutingAndServicesApiService Get a specific manager.RouteMap on a Logical Router
  5707  Read a specific manager.RouteMap on the specified logical router.
  5708  * @param ctx context.Context Authentication Context
  5709  @param logicalRouterId
  5710  @param id
  5711  @return manager.RouteMap*/
  5712  func (a *LogicalRoutingAndServicesApiService) ReadRouteMap(ctx context.Context, logicalRouterId string, id string) (manager.RouteMap, *http.Response, error) {
  5713  	var (
  5714  		localVarHttpMethod = strings.ToUpper("Get")
  5715  		localVarPostBody   interface{}
  5716  		localVarFileName   string
  5717  		localVarFileBytes  []byte
  5718  		successPayload     manager.RouteMap
  5719  	)
  5720  
  5721  	// create path and map variables
  5722  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/route-maps/{id}"
  5723  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  5724  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  5725  
  5726  	localVarHeaderParams := make(map[string]string)
  5727  	localVarQueryParams := url.Values{}
  5728  	localVarFormParams := url.Values{}
  5729  
  5730  	// to determine the Content-Type header
  5731  	localVarHttpContentTypes := []string{"application/json"}
  5732  
  5733  	// set Content-Type header
  5734  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5735  	if localVarHttpContentType != "" {
  5736  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5737  	}
  5738  
  5739  	// to determine the Accept header
  5740  	localVarHttpHeaderAccepts := []string{
  5741  		"application/json",
  5742  	}
  5743  
  5744  	// set Accept header
  5745  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5746  	if localVarHttpHeaderAccept != "" {
  5747  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5748  	}
  5749  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5750  	if err != nil {
  5751  		return successPayload, nil, err
  5752  	}
  5753  
  5754  	localVarHttpResponse, err := a.client.callAPI(r)
  5755  	if err != nil || localVarHttpResponse == nil {
  5756  		return successPayload, localVarHttpResponse, err
  5757  	}
  5758  	defer localVarHttpResponse.Body.Close()
  5759  	if localVarHttpResponse.StatusCode >= 300 {
  5760  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5761  	}
  5762  
  5763  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5764  		return successPayload, localVarHttpResponse, err
  5765  	}
  5766  
  5767  	return successPayload, localVarHttpResponse, err
  5768  }
  5769  
  5770  /* LogicalRoutingAndServicesApiService Read the Routing BFD Configuration
  5771  Returns the BFD configuration for all routing BFD peers. This will be inherited |   by all BFD peers for manager.LogicalRouter unless overriden while configuring the Peer.
  5772  * @param ctx context.Context Authentication Context
  5773  @param logicalRouterId
  5774  @return manager.BfdConfig*/
  5775  func (a *LogicalRoutingAndServicesApiService) ReadRoutingBfdConfig(ctx context.Context, logicalRouterId string) (manager.BfdConfig, *http.Response, error) {
  5776  	var (
  5777  		localVarHttpMethod = strings.ToUpper("Get")
  5778  		localVarPostBody   interface{}
  5779  		localVarFileName   string
  5780  		localVarFileBytes  []byte
  5781  		successPayload     manager.BfdConfig
  5782  	)
  5783  
  5784  	// create path and map variables
  5785  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bfd-config"
  5786  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  5787  
  5788  	localVarHeaderParams := make(map[string]string)
  5789  	localVarQueryParams := url.Values{}
  5790  	localVarFormParams := url.Values{}
  5791  
  5792  	// to determine the Content-Type header
  5793  	localVarHttpContentTypes := []string{"application/json"}
  5794  
  5795  	// set Content-Type header
  5796  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5797  	if localVarHttpContentType != "" {
  5798  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5799  	}
  5800  
  5801  	// to determine the Accept header
  5802  	localVarHttpHeaderAccepts := []string{
  5803  		"application/json",
  5804  	}
  5805  
  5806  	// set Accept header
  5807  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5808  	if localVarHttpHeaderAccept != "" {
  5809  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5810  	}
  5811  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5812  	if err != nil {
  5813  		return successPayload, nil, err
  5814  	}
  5815  
  5816  	localVarHttpResponse, err := a.client.callAPI(r)
  5817  	if err != nil || localVarHttpResponse == nil {
  5818  		return successPayload, localVarHttpResponse, err
  5819  	}
  5820  	defer localVarHttpResponse.Body.Close()
  5821  	if localVarHttpResponse.StatusCode >= 300 {
  5822  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5823  	}
  5824  
  5825  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5826  		return successPayload, localVarHttpResponse, err
  5827  	}
  5828  
  5829  	return successPayload, localVarHttpResponse, err
  5830  }
  5831  
  5832  /* LogicalRoutingAndServicesApiService Read the Routing Configuration
  5833  Returns the routing configuration for a specified logical router.
  5834  * @param ctx context.Context Authentication Context
  5835  @param logicalRouterId
  5836  @return manager.RoutingConfig*/
  5837  func (a *LogicalRoutingAndServicesApiService) ReadRoutingConfig(ctx context.Context, logicalRouterId string) (manager.RoutingConfig, *http.Response, error) {
  5838  	var (
  5839  		localVarHttpMethod = strings.ToUpper("Get")
  5840  		localVarPostBody   interface{}
  5841  		localVarFileName   string
  5842  		localVarFileBytes  []byte
  5843  		successPayload     manager.RoutingConfig
  5844  	)
  5845  
  5846  	// create path and map variables
  5847  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing"
  5848  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  5849  
  5850  	localVarHeaderParams := make(map[string]string)
  5851  	localVarQueryParams := url.Values{}
  5852  	localVarFormParams := url.Values{}
  5853  
  5854  	// to determine the Content-Type header
  5855  	localVarHttpContentTypes := []string{"application/json"}
  5856  
  5857  	// set Content-Type header
  5858  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5859  	if localVarHttpContentType != "" {
  5860  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5861  	}
  5862  
  5863  	// to determine the Accept header
  5864  	localVarHttpHeaderAccepts := []string{
  5865  		"application/json",
  5866  	}
  5867  
  5868  	// set Accept header
  5869  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5870  	if localVarHttpHeaderAccept != "" {
  5871  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5872  	}
  5873  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5874  	if err != nil {
  5875  		return successPayload, nil, err
  5876  	}
  5877  
  5878  	localVarHttpResponse, err := a.client.callAPI(r)
  5879  	if err != nil || localVarHttpResponse == nil {
  5880  		return successPayload, localVarHttpResponse, err
  5881  	}
  5882  	defer localVarHttpResponse.Body.Close()
  5883  	if localVarHttpResponse.StatusCode >= 300 {
  5884  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5885  	}
  5886  
  5887  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5888  		return successPayload, localVarHttpResponse, err
  5889  	}
  5890  
  5891  	return successPayload, localVarHttpResponse, err
  5892  }
  5893  
  5894  /* LogicalRoutingAndServicesApiService Read a Logical Router Service
  5895  Returns information about the specified service.
  5896  * @param ctx context.Context Authentication Context
  5897  @param serviceId
  5898  @return manager.LogicalService*/
  5899  func (a *LogicalRoutingAndServicesApiService) ReadService(ctx context.Context, serviceId string) (manager.LogicalService, *http.Response, error) {
  5900  	var (
  5901  		localVarHttpMethod = strings.ToUpper("Get")
  5902  		localVarPostBody   interface{}
  5903  		localVarFileName   string
  5904  		localVarFileBytes  []byte
  5905  		successPayload     manager.LogicalService
  5906  	)
  5907  
  5908  	// create path and map variables
  5909  	localVarPath := a.client.cfg.BasePath + "/services/{service-id}"
  5910  	localVarPath = strings.Replace(localVarPath, "{"+"service-id"+"}", fmt.Sprintf("%v", serviceId), -1)
  5911  
  5912  	localVarHeaderParams := make(map[string]string)
  5913  	localVarQueryParams := url.Values{}
  5914  	localVarFormParams := url.Values{}
  5915  
  5916  	// to determine the Content-Type header
  5917  	localVarHttpContentTypes := []string{"application/json"}
  5918  
  5919  	// set Content-Type header
  5920  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5921  	if localVarHttpContentType != "" {
  5922  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5923  	}
  5924  
  5925  	// to determine the Accept header
  5926  	localVarHttpHeaderAccepts := []string{
  5927  		"application/json",
  5928  	}
  5929  
  5930  	// set Accept header
  5931  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5932  	if localVarHttpHeaderAccept != "" {
  5933  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5934  	}
  5935  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5936  	if err != nil {
  5937  		return successPayload, nil, err
  5938  	}
  5939  
  5940  	localVarHttpResponse, err := a.client.callAPI(r)
  5941  	if err != nil || localVarHttpResponse == nil {
  5942  		return successPayload, localVarHttpResponse, err
  5943  	}
  5944  	defer localVarHttpResponse.Body.Close()
  5945  	if localVarHttpResponse.StatusCode >= 300 {
  5946  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  5947  	}
  5948  
  5949  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  5950  		return successPayload, localVarHttpResponse, err
  5951  	}
  5952  
  5953  	return successPayload, localVarHttpResponse, err
  5954  }
  5955  
  5956  /* LogicalRoutingAndServicesApiService Read a Service Profile
  5957  Returns information about the specified service profile.
  5958  * @param ctx context.Context Authentication Context
  5959  @param serviceProfileId
  5960  @return manager.ServiceProfile*/
  5961  func (a *LogicalRoutingAndServicesApiService) ReadServiceProfile(ctx context.Context, serviceProfileId string) (manager.ServiceProfile, *http.Response, error) {
  5962  	var (
  5963  		localVarHttpMethod = strings.ToUpper("Get")
  5964  		localVarPostBody   interface{}
  5965  		localVarFileName   string
  5966  		localVarFileBytes  []byte
  5967  		successPayload     manager.ServiceProfile
  5968  	)
  5969  
  5970  	// create path and map variables
  5971  	localVarPath := a.client.cfg.BasePath + "/service-profiles/{service-profile-id}"
  5972  	localVarPath = strings.Replace(localVarPath, "{"+"service-profile-id"+"}", fmt.Sprintf("%v", serviceProfileId), -1)
  5973  
  5974  	localVarHeaderParams := make(map[string]string)
  5975  	localVarQueryParams := url.Values{}
  5976  	localVarFormParams := url.Values{}
  5977  
  5978  	// to determine the Content-Type header
  5979  	localVarHttpContentTypes := []string{"application/json"}
  5980  
  5981  	// set Content-Type header
  5982  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  5983  	if localVarHttpContentType != "" {
  5984  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  5985  	}
  5986  
  5987  	// to determine the Accept header
  5988  	localVarHttpHeaderAccepts := []string{
  5989  		"application/json",
  5990  	}
  5991  
  5992  	// set Accept header
  5993  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  5994  	if localVarHttpHeaderAccept != "" {
  5995  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  5996  	}
  5997  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  5998  	if err != nil {
  5999  		return successPayload, nil, err
  6000  	}
  6001  
  6002  	localVarHttpResponse, err := a.client.callAPI(r)
  6003  	if err != nil || localVarHttpResponse == nil {
  6004  		return successPayload, localVarHttpResponse, err
  6005  	}
  6006  	defer localVarHttpResponse.Body.Close()
  6007  	if localVarHttpResponse.StatusCode >= 300 {
  6008  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6009  	}
  6010  
  6011  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6012  		return successPayload, localVarHttpResponse, err
  6013  	}
  6014  
  6015  	return successPayload, localVarHttpResponse, err
  6016  }
  6017  
  6018  /* LogicalRoutingAndServicesApiService Read a static route BFD peer
  6019  Read the BFD peer having specified ID.
  6020  * @param ctx context.Context Authentication Context
  6021  @param logicalRouterId
  6022  @param bfdPeerId
  6023  @return manager.StaticHopBfdPeer*/
  6024  func (a *LogicalRoutingAndServicesApiService) ReadStaticHopBfdPeer(ctx context.Context, logicalRouterId string, bfdPeerId string) (manager.StaticHopBfdPeer, *http.Response, error) {
  6025  	var (
  6026  		localVarHttpMethod = strings.ToUpper("Get")
  6027  		localVarPostBody   interface{}
  6028  		localVarFileName   string
  6029  		localVarFileBytes  []byte
  6030  		successPayload     manager.StaticHopBfdPeer
  6031  	)
  6032  
  6033  	// create path and map variables
  6034  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers/{bfd-peer-id}"
  6035  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6036  	localVarPath = strings.Replace(localVarPath, "{"+"bfd-peer-id"+"}", fmt.Sprintf("%v", bfdPeerId), -1)
  6037  
  6038  	localVarHeaderParams := make(map[string]string)
  6039  	localVarQueryParams := url.Values{}
  6040  	localVarFormParams := url.Values{}
  6041  
  6042  	// to determine the Content-Type header
  6043  	localVarHttpContentTypes := []string{"application/json"}
  6044  
  6045  	// set Content-Type header
  6046  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6047  	if localVarHttpContentType != "" {
  6048  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6049  	}
  6050  
  6051  	// to determine the Accept header
  6052  	localVarHttpHeaderAccepts := []string{
  6053  		"application/json",
  6054  	}
  6055  
  6056  	// set Accept header
  6057  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6058  	if localVarHttpHeaderAccept != "" {
  6059  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6060  	}
  6061  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6062  	if err != nil {
  6063  		return successPayload, nil, err
  6064  	}
  6065  
  6066  	localVarHttpResponse, err := a.client.callAPI(r)
  6067  	if err != nil || localVarHttpResponse == nil {
  6068  		return successPayload, localVarHttpResponse, err
  6069  	}
  6070  	defer localVarHttpResponse.Body.Close()
  6071  	if localVarHttpResponse.StatusCode >= 300 {
  6072  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6073  	}
  6074  
  6075  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6076  		return successPayload, localVarHttpResponse, err
  6077  	}
  6078  
  6079  	return successPayload, localVarHttpResponse, err
  6080  }
  6081  
  6082  /* LogicalRoutingAndServicesApiService Get a specific Static Route on a Logical Router
  6083  Read a specific static routes on the specified logical router.
  6084  * @param ctx context.Context Authentication Context
  6085  @param logicalRouterId
  6086  @param id
  6087  @return manager.StaticRoute*/
  6088  func (a *LogicalRoutingAndServicesApiService) ReadStaticRoute(ctx context.Context, logicalRouterId string, id string) (manager.StaticRoute, *http.Response, error) {
  6089  	var (
  6090  		localVarHttpMethod = strings.ToUpper("Get")
  6091  		localVarPostBody   interface{}
  6092  		localVarFileName   string
  6093  		localVarFileBytes  []byte
  6094  		successPayload     manager.StaticRoute
  6095  	)
  6096  
  6097  	// create path and map variables
  6098  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes/{id}"
  6099  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6100  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  6101  
  6102  	localVarHeaderParams := make(map[string]string)
  6103  	localVarQueryParams := url.Values{}
  6104  	localVarFormParams := url.Values{}
  6105  
  6106  	// to determine the Content-Type header
  6107  	localVarHttpContentTypes := []string{"application/json"}
  6108  
  6109  	// set Content-Type header
  6110  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6111  	if localVarHttpContentType != "" {
  6112  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6113  	}
  6114  
  6115  	// to determine the Accept header
  6116  	localVarHttpHeaderAccepts := []string{
  6117  		"application/json",
  6118  	}
  6119  
  6120  	// set Accept header
  6121  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6122  	if localVarHttpHeaderAccept != "" {
  6123  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6124  	}
  6125  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6126  	if err != nil {
  6127  		return successPayload, nil, err
  6128  	}
  6129  
  6130  	localVarHttpResponse, err := a.client.callAPI(r)
  6131  	if err != nil || localVarHttpResponse == nil {
  6132  		return successPayload, localVarHttpResponse, err
  6133  	}
  6134  	defer localVarHttpResponse.Body.Close()
  6135  	if localVarHttpResponse.StatusCode >= 300 {
  6136  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6137  	}
  6138  
  6139  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6140  		return successPayload, localVarHttpResponse, err
  6141  	}
  6142  
  6143  	return successPayload, localVarHttpResponse, err
  6144  }
  6145  
  6146  /* LogicalRoutingAndServicesApiService Unset/Delete password property on specific BGP Neighbor on Logical Router
  6147  Unset/Delete the password property on the specific BGP Neighbor. No other property of the manager.BgpNeighbor can be updated using this API
  6148  * @param ctx context.Context Authentication Context
  6149  @param logicalRouterId
  6150  @param id
  6151  @param optional (nil or map[string]interface{}) with one or more of:
  6152      @param "action" (string)
  6153  @return manager.BgpNeighbor*/
  6154  func (a *LogicalRoutingAndServicesApiService) UnSetPasswordOnBgpNeighbor(ctx context.Context, logicalRouterId string, id string, localVarOptionals map[string]interface{}) (manager.BgpNeighbor, *http.Response, error) {
  6155  	var (
  6156  		localVarHttpMethod = strings.ToUpper("Post")
  6157  		localVarPostBody   interface{}
  6158  		localVarFileName   string
  6159  		localVarFileBytes  []byte
  6160  		successPayload     manager.BgpNeighbor
  6161  	)
  6162  
  6163  	// create path and map variables
  6164  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}"
  6165  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6166  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  6167  
  6168  	localVarHeaderParams := make(map[string]string)
  6169  	localVarQueryParams := url.Values{}
  6170  	localVarFormParams := url.Values{}
  6171  
  6172  	if err := typeCheckParameter(localVarOptionals["action"], "string", "action"); err != nil {
  6173  		return successPayload, nil, err
  6174  	}
  6175  
  6176  	if localVarTempParam, localVarOk := localVarOptionals["action"].(string); localVarOk {
  6177  		localVarQueryParams.Add("action", parameterToString(localVarTempParam, ""))
  6178  	}
  6179  	// to determine the Content-Type header
  6180  	localVarHttpContentTypes := []string{"application/json"}
  6181  
  6182  	// set Content-Type header
  6183  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6184  	if localVarHttpContentType != "" {
  6185  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6186  	}
  6187  
  6188  	// to determine the Accept header
  6189  	localVarHttpHeaderAccepts := []string{
  6190  		"application/json",
  6191  	}
  6192  
  6193  	// set Accept header
  6194  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6195  	if localVarHttpHeaderAccept != "" {
  6196  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6197  	}
  6198  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6199  	if err != nil {
  6200  		return successPayload, nil, err
  6201  	}
  6202  
  6203  	localVarHttpResponse, err := a.client.callAPI(r)
  6204  	if err != nil || localVarHttpResponse == nil {
  6205  		return successPayload, localVarHttpResponse, err
  6206  	}
  6207  	defer localVarHttpResponse.Body.Close()
  6208  	if localVarHttpResponse.StatusCode >= 300 {
  6209  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6210  	}
  6211  
  6212  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6213  		return successPayload, localVarHttpResponse, err
  6214  	}
  6215  
  6216  	return successPayload, localVarHttpResponse, err
  6217  }
  6218  
  6219  /* LogicalRoutingAndServicesApiService Update the Advertisement Rules on a Logical Router
  6220  Modifies the advertisement rules on the specified logical router. The PUT request must include all the rules with the networks parameter. Modifiable parameters are networks, display_name, and description. Set the rules list to empty to delete/clear all rules.
  6221  * @param ctx context.Context Authentication Context
  6222  @param logicalRouterId
  6223  @param advertiseRuleList
  6224  @return manager.AdvertiseRuleList*/
  6225  func (a *LogicalRoutingAndServicesApiService) UpdateAdvertiseRuleList(ctx context.Context, logicalRouterId string, advertiseRuleList manager.AdvertiseRuleList) (manager.AdvertiseRuleList, *http.Response, error) {
  6226  	var (
  6227  		localVarHttpMethod = strings.ToUpper("Put")
  6228  		localVarPostBody   interface{}
  6229  		localVarFileName   string
  6230  		localVarFileBytes  []byte
  6231  		successPayload     manager.AdvertiseRuleList
  6232  	)
  6233  
  6234  	// create path and map variables
  6235  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/advertisement/rules"
  6236  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6237  
  6238  	localVarHeaderParams := make(map[string]string)
  6239  	localVarQueryParams := url.Values{}
  6240  	localVarFormParams := url.Values{}
  6241  
  6242  	// to determine the Content-Type header
  6243  	localVarHttpContentTypes := []string{"application/json"}
  6244  
  6245  	// set Content-Type header
  6246  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6247  	if localVarHttpContentType != "" {
  6248  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6249  	}
  6250  
  6251  	// to determine the Accept header
  6252  	localVarHttpHeaderAccepts := []string{
  6253  		"application/json",
  6254  	}
  6255  
  6256  	// set Accept header
  6257  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6258  	if localVarHttpHeaderAccept != "" {
  6259  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6260  	}
  6261  	// body params
  6262  	localVarPostBody = &advertiseRuleList
  6263  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6264  	if err != nil {
  6265  		return successPayload, nil, err
  6266  	}
  6267  
  6268  	localVarHttpResponse, err := a.client.callAPI(r)
  6269  	if err != nil || localVarHttpResponse == nil {
  6270  		return successPayload, localVarHttpResponse, err
  6271  	}
  6272  	defer localVarHttpResponse.Body.Close()
  6273  	if localVarHttpResponse.StatusCode >= 300 {
  6274  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6275  	}
  6276  
  6277  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6278  		return successPayload, localVarHttpResponse, err
  6279  	}
  6280  
  6281  	return successPayload, localVarHttpResponse, err
  6282  }
  6283  
  6284  /* LogicalRoutingAndServicesApiService Update the Advertisement Configuration on a Logical Router
  6285  Modifies the route advertisement configuration on the specified logical router.
  6286  * @param ctx context.Context Authentication Context
  6287  @param logicalRouterId
  6288  @param advertisementConfig
  6289  @return manager.AdvertisementConfig*/
  6290  func (a *LogicalRoutingAndServicesApiService) UpdateAdvertisementConfig(ctx context.Context, logicalRouterId string, advertisementConfig manager.AdvertisementConfig) (manager.AdvertisementConfig, *http.Response, error) {
  6291  	var (
  6292  		localVarHttpMethod = strings.ToUpper("Put")
  6293  		localVarPostBody   interface{}
  6294  		localVarFileName   string
  6295  		localVarFileBytes  []byte
  6296  		successPayload     manager.AdvertisementConfig
  6297  	)
  6298  
  6299  	// create path and map variables
  6300  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/advertisement"
  6301  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6302  
  6303  	localVarHeaderParams := make(map[string]string)
  6304  	localVarQueryParams := url.Values{}
  6305  	localVarFormParams := url.Values{}
  6306  
  6307  	// to determine the Content-Type header
  6308  	localVarHttpContentTypes := []string{"application/json"}
  6309  
  6310  	// set Content-Type header
  6311  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6312  	if localVarHttpContentType != "" {
  6313  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6314  	}
  6315  
  6316  	// to determine the Accept header
  6317  	localVarHttpHeaderAccepts := []string{
  6318  		"application/json",
  6319  	}
  6320  
  6321  	// set Accept header
  6322  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6323  	if localVarHttpHeaderAccept != "" {
  6324  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6325  	}
  6326  	// body params
  6327  	localVarPostBody = &advertisementConfig
  6328  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6329  	if err != nil {
  6330  		return successPayload, nil, err
  6331  	}
  6332  
  6333  	localVarHttpResponse, err := a.client.callAPI(r)
  6334  	if err != nil || localVarHttpResponse == nil {
  6335  		return successPayload, localVarHttpResponse, err
  6336  	}
  6337  	defer localVarHttpResponse.Body.Close()
  6338  	if localVarHttpResponse.StatusCode >= 300 {
  6339  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6340  	}
  6341  
  6342  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6343  		return successPayload, localVarHttpResponse, err
  6344  	}
  6345  
  6346  	return successPayload, localVarHttpResponse, err
  6347  }
  6348  
  6349  /* LogicalRoutingAndServicesApiService Update the BGP Configuration on a Logical Router
  6350  Modifies the BGP configuration on a specified TIER0 logical router. Modifiable parameters include enabled, graceful_restart, as_number.
  6351  * @param ctx context.Context Authentication Context
  6352  @param logicalRouterId
  6353  @param bgpConfig
  6354  @return manager.BgpConfig*/
  6355  func (a *LogicalRoutingAndServicesApiService) UpdateBgpConfig(ctx context.Context, logicalRouterId string, bgpConfig manager.BgpConfig) (manager.BgpConfig, *http.Response, error) {
  6356  	var (
  6357  		localVarHttpMethod = strings.ToUpper("Put")
  6358  		localVarPostBody   interface{}
  6359  		localVarFileName   string
  6360  		localVarFileBytes  []byte
  6361  		successPayload     manager.BgpConfig
  6362  	)
  6363  
  6364  	// create path and map variables
  6365  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp"
  6366  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6367  
  6368  	localVarHeaderParams := make(map[string]string)
  6369  	localVarQueryParams := url.Values{}
  6370  	localVarFormParams := url.Values{}
  6371  
  6372  	// to determine the Content-Type header
  6373  	localVarHttpContentTypes := []string{"application/json"}
  6374  
  6375  	// set Content-Type header
  6376  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6377  	if localVarHttpContentType != "" {
  6378  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6379  	}
  6380  
  6381  	// to determine the Accept header
  6382  	localVarHttpHeaderAccepts := []string{
  6383  		"application/json",
  6384  	}
  6385  
  6386  	// set Accept header
  6387  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6388  	if localVarHttpHeaderAccept != "" {
  6389  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6390  	}
  6391  	// body params
  6392  	localVarPostBody = &bgpConfig
  6393  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6394  	if err != nil {
  6395  		return successPayload, nil, err
  6396  	}
  6397  
  6398  	localVarHttpResponse, err := a.client.callAPI(r)
  6399  	if err != nil || localVarHttpResponse == nil {
  6400  		return successPayload, localVarHttpResponse, err
  6401  	}
  6402  	defer localVarHttpResponse.Body.Close()
  6403  	if localVarHttpResponse.StatusCode >= 300 {
  6404  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6405  	}
  6406  
  6407  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6408  		return successPayload, localVarHttpResponse, err
  6409  	}
  6410  
  6411  	return successPayload, localVarHttpResponse, err
  6412  }
  6413  
  6414  /* LogicalRoutingAndServicesApiService Update a specific BGP Neighbor on a Logical Router
  6415  Update a specific BGP Neighbor on a Logical Router
  6416  * @param ctx context.Context Authentication Context
  6417  @param logicalRouterId
  6418  @param id
  6419  @param bgpNeighbor
  6420  @return manager.BgpNeighbor*/
  6421  func (a *LogicalRoutingAndServicesApiService) UpdateBgpNeighbor(ctx context.Context, logicalRouterId string, id string, bgpNeighbor manager.BgpNeighbor) (manager.BgpNeighbor, *http.Response, error) {
  6422  	var (
  6423  		localVarHttpMethod = strings.ToUpper("Put")
  6424  		localVarPostBody   interface{}
  6425  		localVarFileName   string
  6426  		localVarFileBytes  []byte
  6427  		successPayload     manager.BgpNeighbor
  6428  	)
  6429  
  6430  	// create path and map variables
  6431  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}"
  6432  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6433  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  6434  
  6435  	localVarHeaderParams := make(map[string]string)
  6436  	localVarQueryParams := url.Values{}
  6437  	localVarFormParams := url.Values{}
  6438  
  6439  	// to determine the Content-Type header
  6440  	localVarHttpContentTypes := []string{"application/json"}
  6441  
  6442  	// set Content-Type header
  6443  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6444  	if localVarHttpContentType != "" {
  6445  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6446  	}
  6447  
  6448  	// to determine the Accept header
  6449  	localVarHttpHeaderAccepts := []string{
  6450  		"application/json",
  6451  	}
  6452  
  6453  	// set Accept header
  6454  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6455  	if localVarHttpHeaderAccept != "" {
  6456  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6457  	}
  6458  	// body params
  6459  	localVarPostBody = &bgpNeighbor
  6460  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6461  	if err != nil {
  6462  		return successPayload, nil, err
  6463  	}
  6464  
  6465  	localVarHttpResponse, err := a.client.callAPI(r)
  6466  	if err != nil || localVarHttpResponse == nil {
  6467  		return successPayload, localVarHttpResponse, err
  6468  	}
  6469  	defer localVarHttpResponse.Body.Close()
  6470  	if localVarHttpResponse.StatusCode >= 300 {
  6471  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6472  	}
  6473  
  6474  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6475  		return successPayload, localVarHttpResponse, err
  6476  	}
  6477  
  6478  	return successPayload, localVarHttpResponse, err
  6479  }
  6480  
  6481  /* LogicalRoutingAndServicesApiService Update a DHCP Relay Service
  6482  Modifies the specified dhcp relay service.
  6483  * @param ctx context.Context Authentication Context
  6484  @param relayId
  6485  @param dhcpRelayService
  6486  @return manager.DhcpRelayService*/
  6487  func (a *LogicalRoutingAndServicesApiService) UpdateDhcpRelay(ctx context.Context, relayId string, dhcpRelayService manager.DhcpRelayService) (manager.DhcpRelayService, *http.Response, error) {
  6488  	var (
  6489  		localVarHttpMethod = strings.ToUpper("Put")
  6490  		localVarPostBody   interface{}
  6491  		localVarFileName   string
  6492  		localVarFileBytes  []byte
  6493  		successPayload     manager.DhcpRelayService
  6494  	)
  6495  
  6496  	// create path and map variables
  6497  	localVarPath := a.client.cfg.BasePath + "/dhcp/relays/{relay-id}"
  6498  	localVarPath = strings.Replace(localVarPath, "{"+"relay-id"+"}", fmt.Sprintf("%v", relayId), -1)
  6499  
  6500  	localVarHeaderParams := make(map[string]string)
  6501  	localVarQueryParams := url.Values{}
  6502  	localVarFormParams := url.Values{}
  6503  
  6504  	// to determine the Content-Type header
  6505  	localVarHttpContentTypes := []string{"application/json"}
  6506  
  6507  	// set Content-Type header
  6508  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6509  	if localVarHttpContentType != "" {
  6510  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6511  	}
  6512  
  6513  	// to determine the Accept header
  6514  	localVarHttpHeaderAccepts := []string{
  6515  		"application/json",
  6516  	}
  6517  
  6518  	// set Accept header
  6519  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6520  	if localVarHttpHeaderAccept != "" {
  6521  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6522  	}
  6523  	// body params
  6524  	localVarPostBody = &dhcpRelayService
  6525  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6526  	if err != nil {
  6527  		return successPayload, nil, err
  6528  	}
  6529  
  6530  	localVarHttpResponse, err := a.client.callAPI(r)
  6531  	if err != nil || localVarHttpResponse == nil {
  6532  		return successPayload, localVarHttpResponse, err
  6533  	}
  6534  	defer localVarHttpResponse.Body.Close()
  6535  	if localVarHttpResponse.StatusCode >= 300 {
  6536  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6537  	}
  6538  
  6539  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6540  		return successPayload, localVarHttpResponse, err
  6541  	}
  6542  
  6543  	return successPayload, localVarHttpResponse, err
  6544  }
  6545  
  6546  /* LogicalRoutingAndServicesApiService Update a DHCP Relay Profile
  6547  Modifies the specified dhcp relay profile.
  6548  * @param ctx context.Context Authentication Context
  6549  @param relayProfileId
  6550  @param dhcpRelayProfile
  6551  @return manager.DhcpRelayProfile*/
  6552  func (a *LogicalRoutingAndServicesApiService) UpdateDhcpRelayProfile(ctx context.Context, relayProfileId string, dhcpRelayProfile manager.DhcpRelayProfile) (manager.DhcpRelayProfile, *http.Response, error) {
  6553  	var (
  6554  		localVarHttpMethod = strings.ToUpper("Put")
  6555  		localVarPostBody   interface{}
  6556  		localVarFileName   string
  6557  		localVarFileBytes  []byte
  6558  		successPayload     manager.DhcpRelayProfile
  6559  	)
  6560  
  6561  	// create path and map variables
  6562  	localVarPath := a.client.cfg.BasePath + "/dhcp/relay-profiles/{relay-profile-id}"
  6563  	localVarPath = strings.Replace(localVarPath, "{"+"relay-profile-id"+"}", fmt.Sprintf("%v", relayProfileId), -1)
  6564  
  6565  	localVarHeaderParams := make(map[string]string)
  6566  	localVarQueryParams := url.Values{}
  6567  	localVarFormParams := url.Values{}
  6568  
  6569  	// to determine the Content-Type header
  6570  	localVarHttpContentTypes := []string{"application/json"}
  6571  
  6572  	// set Content-Type header
  6573  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6574  	if localVarHttpContentType != "" {
  6575  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6576  	}
  6577  
  6578  	// to determine the Accept header
  6579  	localVarHttpHeaderAccepts := []string{
  6580  		"application/json",
  6581  	}
  6582  
  6583  	// set Accept header
  6584  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6585  	if localVarHttpHeaderAccept != "" {
  6586  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6587  	}
  6588  	// body params
  6589  	localVarPostBody = &dhcpRelayProfile
  6590  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6591  	if err != nil {
  6592  		return successPayload, nil, err
  6593  	}
  6594  
  6595  	localVarHttpResponse, err := a.client.callAPI(r)
  6596  	if err != nil || localVarHttpResponse == nil {
  6597  		return successPayload, localVarHttpResponse, err
  6598  	}
  6599  	defer localVarHttpResponse.Body.Close()
  6600  	if localVarHttpResponse.StatusCode >= 300 {
  6601  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6602  	}
  6603  
  6604  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6605  		return successPayload, localVarHttpResponse, err
  6606  	}
  6607  
  6608  	return successPayload, localVarHttpResponse, err
  6609  }
  6610  
  6611  /* LogicalRoutingAndServicesApiService Update a specific IPPrefixList on a Logical Router
  6612  Update a specific IPPrefixList on the specified logical router.
  6613  * @param ctx context.Context Authentication Context
  6614  @param logicalRouterId
  6615  @param id
  6616  @param iPPrefixList
  6617  @return manager.IpPrefixList*/
  6618  func (a *LogicalRoutingAndServicesApiService) UpdateIPPrefixList(ctx context.Context, logicalRouterId string, id string, iPPrefixList manager.IpPrefixList) (manager.IpPrefixList, *http.Response, error) {
  6619  	var (
  6620  		localVarHttpMethod = strings.ToUpper("Put")
  6621  		localVarPostBody   interface{}
  6622  		localVarFileName   string
  6623  		localVarFileBytes  []byte
  6624  		successPayload     manager.IpPrefixList
  6625  	)
  6626  
  6627  	// create path and map variables
  6628  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/ip-prefix-lists/{id}"
  6629  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6630  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  6631  
  6632  	localVarHeaderParams := make(map[string]string)
  6633  	localVarQueryParams := url.Values{}
  6634  	localVarFormParams := url.Values{}
  6635  
  6636  	// to determine the Content-Type header
  6637  	localVarHttpContentTypes := []string{"application/json"}
  6638  
  6639  	// set Content-Type header
  6640  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6641  	if localVarHttpContentType != "" {
  6642  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6643  	}
  6644  
  6645  	// to determine the Accept header
  6646  	localVarHttpHeaderAccepts := []string{
  6647  		"application/json",
  6648  	}
  6649  
  6650  	// set Accept header
  6651  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6652  	if localVarHttpHeaderAccept != "" {
  6653  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6654  	}
  6655  	// body params
  6656  	localVarPostBody = &iPPrefixList
  6657  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6658  	if err != nil {
  6659  		return successPayload, nil, err
  6660  	}
  6661  
  6662  	localVarHttpResponse, err := a.client.callAPI(r)
  6663  	if err != nil || localVarHttpResponse == nil {
  6664  		return successPayload, localVarHttpResponse, err
  6665  	}
  6666  	defer localVarHttpResponse.Body.Close()
  6667  	if localVarHttpResponse.StatusCode >= 300 {
  6668  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6669  	}
  6670  
  6671  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6672  		return successPayload, localVarHttpResponse, err
  6673  	}
  6674  
  6675  	return successPayload, localVarHttpResponse, err
  6676  }
  6677  
  6678  /* LogicalRoutingAndServicesApiService Update a Logical Router
  6679  Modifies the specified logical router. Modifiable attributes include the internal_transit_network, external_transit_networks, and edge_cluster_id (for TIER0 routers).
  6680  * @param ctx context.Context Authentication Context
  6681  @param logicalRouterId
  6682  @param logicalRouter
  6683  @return manager.LogicalRouter*/
  6684  func (a *LogicalRoutingAndServicesApiService) UpdateLogicalRouter(ctx context.Context, logicalRouterId string, logicalRouter manager.LogicalRouter) (manager.LogicalRouter, *http.Response, error) {
  6685  	var (
  6686  		localVarHttpMethod = strings.ToUpper("Put")
  6687  		localVarPostBody   interface{}
  6688  		localVarFileName   string
  6689  		localVarFileBytes  []byte
  6690  		successPayload     manager.LogicalRouter
  6691  	)
  6692  
  6693  	// create path and map variables
  6694  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}"
  6695  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  6696  
  6697  	localVarHeaderParams := make(map[string]string)
  6698  	localVarQueryParams := url.Values{}
  6699  	localVarFormParams := url.Values{}
  6700  
  6701  	// to determine the Content-Type header
  6702  	localVarHttpContentTypes := []string{"application/json"}
  6703  
  6704  	// set Content-Type header
  6705  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6706  	if localVarHttpContentType != "" {
  6707  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6708  	}
  6709  
  6710  	// to determine the Accept header
  6711  	localVarHttpHeaderAccepts := []string{
  6712  		"application/json",
  6713  	}
  6714  
  6715  	// set Accept header
  6716  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6717  	if localVarHttpHeaderAccept != "" {
  6718  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6719  	}
  6720  	// body params
  6721  	localVarPostBody = &logicalRouter
  6722  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6723  	if err != nil {
  6724  		return successPayload, nil, err
  6725  	}
  6726  
  6727  	localVarHttpResponse, err := a.client.callAPI(r)
  6728  	if err != nil || localVarHttpResponse == nil {
  6729  		return successPayload, localVarHttpResponse, err
  6730  	}
  6731  	defer localVarHttpResponse.Body.Close()
  6732  	if localVarHttpResponse.StatusCode >= 300 {
  6733  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6734  	}
  6735  
  6736  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6737  		return successPayload, localVarHttpResponse, err
  6738  	}
  6739  
  6740  	return successPayload, localVarHttpResponse, err
  6741  }
  6742  
  6743  /* LogicalRoutingAndServicesApiService Update a Logical Router Port
  6744  Modifies the specified logical router port. Required parameters include the resource_type and logical_router_id. Modifiable parameters include the resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort), logical_router_id (to reassign the port to a different router), and service_bindings.
  6745  * @param ctx context.Context Authentication Context
  6746  @param logicalRouterPortId
  6747  @param logicalRouterPort
  6748  @return manager.LogicalRouterPort*/
  6749  func (a *LogicalRoutingAndServicesApiService) UpdateLogicalRouterPort(ctx context.Context, logicalRouterPortId string, logicalRouterPort manager.LogicalRouterPort) (manager.LogicalRouterPort, *http.Response, error) {
  6750  	var (
  6751  		localVarHttpMethod = strings.ToUpper("Put")
  6752  		localVarPostBody   interface{}
  6753  		localVarFileName   string
  6754  		localVarFileBytes  []byte
  6755  		successPayload     manager.LogicalRouterPort
  6756  	)
  6757  
  6758  	// create path and map variables
  6759  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  6760  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  6761  
  6762  	localVarHeaderParams := make(map[string]string)
  6763  	localVarQueryParams := url.Values{}
  6764  	localVarFormParams := url.Values{}
  6765  
  6766  	// to determine the Content-Type header
  6767  	localVarHttpContentTypes := []string{"application/json"}
  6768  
  6769  	// set Content-Type header
  6770  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6771  	if localVarHttpContentType != "" {
  6772  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6773  	}
  6774  
  6775  	// to determine the Accept header
  6776  	localVarHttpHeaderAccepts := []string{
  6777  		"application/json",
  6778  	}
  6779  
  6780  	// set Accept header
  6781  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6782  	if localVarHttpHeaderAccept != "" {
  6783  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6784  	}
  6785  	// body params
  6786  	localVarPostBody = &logicalRouterPort
  6787  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6788  	if err != nil {
  6789  		return successPayload, nil, err
  6790  	}
  6791  
  6792  	localVarHttpResponse, err := a.client.callAPI(r)
  6793  	if err != nil || localVarHttpResponse == nil {
  6794  		return successPayload, localVarHttpResponse, err
  6795  	}
  6796  	defer localVarHttpResponse.Body.Close()
  6797  	if localVarHttpResponse.StatusCode >= 300 {
  6798  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6799  	}
  6800  
  6801  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6802  		return successPayload, localVarHttpResponse, err
  6803  	}
  6804  
  6805  	return successPayload, localVarHttpResponse, err
  6806  }
  6807  
  6808  /* LogicalRoutingAndServicesApiService Update a Logical Router UpLink Port
  6809  Modifies the specified logical router port. Required parameters include the resource_type and logical_router_id. Modifiable parameters include the resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort), logical_router_id (to reassign the port to a different router), and service_bindings.
  6810  * @param ctx context.Context Authentication Context
  6811  @param logicalRouterPortId
  6812  @param logicalRouterPort
  6813  @return manager.LogicalRouterUpLinkPort*/
  6814  func (a *LogicalRoutingAndServicesApiService) UpdateLogicalRouterUpLinkPort(ctx context.Context, logicalRouterPortId string, logicalRouterPort manager.LogicalRouterUpLinkPort) (manager.LogicalRouterUpLinkPort, *http.Response, error) {
  6815  	var (
  6816  		localVarHttpMethod = strings.ToUpper("Put")
  6817  		localVarPostBody   interface{}
  6818  		localVarFileName   string
  6819  		localVarFileBytes  []byte
  6820  		successPayload     manager.LogicalRouterUpLinkPort
  6821  	)
  6822  
  6823  	// create path and map variables
  6824  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  6825  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  6826  
  6827  	localVarHeaderParams := make(map[string]string)
  6828  	localVarQueryParams := url.Values{}
  6829  	localVarFormParams := url.Values{}
  6830  
  6831  	// to determine the Content-Type header
  6832  	localVarHttpContentTypes := []string{"application/json"}
  6833  
  6834  	// set Content-Type header
  6835  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6836  	if localVarHttpContentType != "" {
  6837  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6838  	}
  6839  
  6840  	// to determine the Accept header
  6841  	localVarHttpHeaderAccepts := []string{
  6842  		"application/json",
  6843  	}
  6844  
  6845  	// set Accept header
  6846  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6847  	if localVarHttpHeaderAccept != "" {
  6848  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6849  	}
  6850  	// body params
  6851  	localVarPostBody = &logicalRouterPort
  6852  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6853  	if err != nil {
  6854  		return successPayload, nil, err
  6855  	}
  6856  
  6857  	localVarHttpResponse, err := a.client.callAPI(r)
  6858  	if err != nil || localVarHttpResponse == nil {
  6859  		return successPayload, localVarHttpResponse, err
  6860  	}
  6861  	defer localVarHttpResponse.Body.Close()
  6862  	if localVarHttpResponse.StatusCode >= 300 {
  6863  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6864  	}
  6865  
  6866  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6867  		return successPayload, localVarHttpResponse, err
  6868  	}
  6869  
  6870  	return successPayload, localVarHttpResponse, err
  6871  }
  6872  
  6873  /* LogicalRoutingAndServicesApiService Update a Logical Router Link Port On Tier0
  6874  Modifies the specified logical router port. Required parameters include the resource_type and logical_router_id. Modifiable parameters include the resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort), logical_router_id (to reassign the port to a different router), and service_bindings.
  6875  * @param ctx context.Context Authentication Context
  6876  @param logicalRouterPortId
  6877  @param logicalRouterPort
  6878  @return manager.LogicalRouterLinkPortOnTier0*/
  6879  func (a *LogicalRoutingAndServicesApiService) UpdateLogicalRouterLinkPortOnTier0(ctx context.Context, logicalRouterPortId string, logicalRouterPort manager.LogicalRouterLinkPortOnTier0) (manager.LogicalRouterLinkPortOnTier0, *http.Response, error) {
  6880  	var (
  6881  		localVarHttpMethod = strings.ToUpper("Put")
  6882  		localVarPostBody   interface{}
  6883  		localVarFileName   string
  6884  		localVarFileBytes  []byte
  6885  		successPayload     manager.LogicalRouterLinkPortOnTier0
  6886  	)
  6887  
  6888  	// create path and map variables
  6889  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  6890  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  6891  
  6892  	localVarHeaderParams := make(map[string]string)
  6893  	localVarQueryParams := url.Values{}
  6894  	localVarFormParams := url.Values{}
  6895  
  6896  	// to determine the Content-Type header
  6897  	localVarHttpContentTypes := []string{"application/json"}
  6898  
  6899  	// set Content-Type header
  6900  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6901  	if localVarHttpContentType != "" {
  6902  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6903  	}
  6904  
  6905  	// to determine the Accept header
  6906  	localVarHttpHeaderAccepts := []string{
  6907  		"application/json",
  6908  	}
  6909  
  6910  	// set Accept header
  6911  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6912  	if localVarHttpHeaderAccept != "" {
  6913  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6914  	}
  6915  	// body params
  6916  	localVarPostBody = &logicalRouterPort
  6917  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6918  	if err != nil {
  6919  		return successPayload, nil, err
  6920  	}
  6921  
  6922  	localVarHttpResponse, err := a.client.callAPI(r)
  6923  	if err != nil || localVarHttpResponse == nil {
  6924  		return successPayload, localVarHttpResponse, err
  6925  	}
  6926  	defer localVarHttpResponse.Body.Close()
  6927  	if localVarHttpResponse.StatusCode >= 300 {
  6928  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6929  	}
  6930  
  6931  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6932  		return successPayload, localVarHttpResponse, err
  6933  	}
  6934  
  6935  	return successPayload, localVarHttpResponse, err
  6936  }
  6937  
  6938  /* LogicalRoutingAndServicesApiService Update a Logical Router Link Port On Tier1
  6939  Modifies the specified logical router port. Required parameters include the resource_type and logical_router_id. Modifiable parameters include the resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort), logical_router_id (to reassign the port to a different router), and service_bindings.
  6940  * @param ctx context.Context Authentication Context
  6941  @param logicalRouterPortId
  6942  @param logicalRouterPort
  6943  @return manager.LogicalRouterLinkPortOnTier1*/
  6944  func (a *LogicalRoutingAndServicesApiService) UpdateLogicalRouterLinkPortOnTier1(ctx context.Context, logicalRouterPortId string, logicalRouterPort manager.LogicalRouterLinkPortOnTier1) (manager.LogicalRouterLinkPortOnTier1, *http.Response, error) {
  6945  	var (
  6946  		localVarHttpMethod = strings.ToUpper("Put")
  6947  		localVarPostBody   interface{}
  6948  		localVarFileName   string
  6949  		localVarFileBytes  []byte
  6950  		successPayload     manager.LogicalRouterLinkPortOnTier1
  6951  	)
  6952  
  6953  	// create path and map variables
  6954  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  6955  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  6956  
  6957  	localVarHeaderParams := make(map[string]string)
  6958  	localVarQueryParams := url.Values{}
  6959  	localVarFormParams := url.Values{}
  6960  
  6961  	// to determine the Content-Type header
  6962  	localVarHttpContentTypes := []string{"application/json"}
  6963  
  6964  	// set Content-Type header
  6965  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  6966  	if localVarHttpContentType != "" {
  6967  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  6968  	}
  6969  
  6970  	// to determine the Accept header
  6971  	localVarHttpHeaderAccepts := []string{
  6972  		"application/json",
  6973  	}
  6974  
  6975  	// set Accept header
  6976  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  6977  	if localVarHttpHeaderAccept != "" {
  6978  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  6979  	}
  6980  	// body params
  6981  	localVarPostBody = &logicalRouterPort
  6982  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  6983  	if err != nil {
  6984  		return successPayload, nil, err
  6985  	}
  6986  
  6987  	localVarHttpResponse, err := a.client.callAPI(r)
  6988  	if err != nil || localVarHttpResponse == nil {
  6989  		return successPayload, localVarHttpResponse, err
  6990  	}
  6991  	defer localVarHttpResponse.Body.Close()
  6992  	if localVarHttpResponse.StatusCode >= 300 {
  6993  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  6994  	}
  6995  
  6996  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  6997  		return successPayload, localVarHttpResponse, err
  6998  	}
  6999  
  7000  	return successPayload, localVarHttpResponse, err
  7001  }
  7002  
  7003  /* LogicalRoutingAndServicesApiService Update a Logical Router DownLink Port
  7004  Modifies the specified logical router port. Required parameters include the resource_type and logical_router_id. Modifiable parameters include the resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort), logical_router_id (to reassign the port to a different router), and service_bindings.
  7005  * @param ctx context.Context Authentication Context
  7006  @param logicalRouterPortId
  7007  @param logicalRouterPort
  7008  @return manager.LogicalRouterDownLinkPort*/
  7009  func (a *LogicalRoutingAndServicesApiService) UpdateLogicalRouterDownLinkPort(ctx context.Context, logicalRouterPortId string, logicalRouterPort manager.LogicalRouterDownLinkPort) (manager.LogicalRouterDownLinkPort, *http.Response, error) {
  7010  	var (
  7011  		localVarHttpMethod = strings.ToUpper("Put")
  7012  		localVarPostBody   interface{}
  7013  		localVarFileName   string
  7014  		localVarFileBytes  []byte
  7015  		successPayload     manager.LogicalRouterDownLinkPort
  7016  	)
  7017  
  7018  	// create path and map variables
  7019  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  7020  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  7021  
  7022  	localVarHeaderParams := make(map[string]string)
  7023  	localVarQueryParams := url.Values{}
  7024  	localVarFormParams := url.Values{}
  7025  
  7026  	// to determine the Content-Type header
  7027  	localVarHttpContentTypes := []string{"application/json"}
  7028  
  7029  	// set Content-Type header
  7030  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7031  	if localVarHttpContentType != "" {
  7032  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7033  	}
  7034  
  7035  	// to determine the Accept header
  7036  	localVarHttpHeaderAccepts := []string{
  7037  		"application/json",
  7038  	}
  7039  
  7040  	// set Accept header
  7041  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7042  	if localVarHttpHeaderAccept != "" {
  7043  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7044  	}
  7045  	// body params
  7046  	localVarPostBody = &logicalRouterPort
  7047  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7048  	if err != nil {
  7049  		return successPayload, nil, err
  7050  	}
  7051  
  7052  	localVarHttpResponse, err := a.client.callAPI(r)
  7053  	if err != nil || localVarHttpResponse == nil {
  7054  		return successPayload, localVarHttpResponse, err
  7055  	}
  7056  	defer localVarHttpResponse.Body.Close()
  7057  	if localVarHttpResponse.StatusCode >= 300 {
  7058  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7059  	}
  7060  
  7061  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7062  		return successPayload, localVarHttpResponse, err
  7063  	}
  7064  
  7065  	return successPayload, localVarHttpResponse, err
  7066  }
  7067  
  7068  /* LogicalRoutingAndServicesApiService Update a Logical Router Centralized Service Port
  7069  Modifies the specified logical router port. Required parameters include the resource_type and logical_router_id. Modifiable parameters include the resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort), logical_router_id (to reassign the port to a different router), and service_bindings.
  7070  * @param ctx context.Context Authentication Context
  7071  @param logicalRouterPortId
  7072  @param logicalRouterPort
  7073  @return manager.LogicalRouterCentralizedServicePort*/
  7074  func (a *LogicalRoutingAndServicesApiService) UpdateLogicalRouterCentralizedServicePort(ctx context.Context, logicalRouterPortId string, logicalRouterPort manager.LogicalRouterCentralizedServicePort) (manager.LogicalRouterCentralizedServicePort, *http.Response, error) {
  7075  	var (
  7076  		localVarHttpMethod = strings.ToUpper("Put")
  7077  		localVarPostBody   interface{}
  7078  		localVarFileName   string
  7079  		localVarFileBytes  []byte
  7080  		successPayload     manager.LogicalRouterCentralizedServicePort
  7081  	)
  7082  
  7083  	// create path and map variables
  7084  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  7085  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  7086  
  7087  	localVarHeaderParams := make(map[string]string)
  7088  	localVarQueryParams := url.Values{}
  7089  	localVarFormParams := url.Values{}
  7090  
  7091  	// to determine the Content-Type header
  7092  	localVarHttpContentTypes := []string{"application/json"}
  7093  
  7094  	// set Content-Type header
  7095  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7096  	if localVarHttpContentType != "" {
  7097  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7098  	}
  7099  
  7100  	// to determine the Accept header
  7101  	localVarHttpHeaderAccepts := []string{
  7102  		"application/json",
  7103  	}
  7104  
  7105  	// set Accept header
  7106  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7107  	if localVarHttpHeaderAccept != "" {
  7108  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7109  	}
  7110  	// body params
  7111  	localVarPostBody = &logicalRouterPort
  7112  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7113  	if err != nil {
  7114  		return successPayload, nil, err
  7115  	}
  7116  
  7117  	localVarHttpResponse, err := a.client.callAPI(r)
  7118  	if err != nil || localVarHttpResponse == nil {
  7119  		return successPayload, localVarHttpResponse, err
  7120  	}
  7121  	defer localVarHttpResponse.Body.Close()
  7122  	if localVarHttpResponse.StatusCode >= 300 {
  7123  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7124  	}
  7125  
  7126  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7127  		return successPayload, localVarHttpResponse, err
  7128  	}
  7129  
  7130  	return successPayload, localVarHttpResponse, err
  7131  }
  7132  
  7133  /* LogicalRoutingAndServicesApiService Update a Logical Router Loopback Port
  7134  Modifies the specified logical router port. Required parameters include the resource_type and logical_router_id. Modifiable parameters include the resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort, LogicalRouterLoopbackPort), logical_router_id (to reassign the port to a different router), and service_bindings.
  7135  * @param ctx context.Context Authentication Context
  7136  @param logicalRouterPortId
  7137  @param logicalRouterPort
  7138  @return manager.LogicalRouterLoopbackPort*/
  7139  func (a *LogicalRoutingAndServicesApiService) UpdateLogicalRouterLoopbackPort(ctx context.Context, logicalRouterPortId string, logicalRouterPort manager.LogicalRouterLoopbackPort) (manager.LogicalRouterLoopbackPort, *http.Response, error) {
  7140  	var (
  7141  		localVarHttpMethod = strings.ToUpper("Put")
  7142  		localVarPostBody   interface{}
  7143  		localVarFileName   string
  7144  		localVarFileBytes  []byte
  7145  		successPayload     manager.LogicalRouterLoopbackPort
  7146  	)
  7147  
  7148  	// create path and map variables
  7149  	localVarPath := a.client.cfg.BasePath + "/logical-router-ports/{logical-router-port-id}"
  7150  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-port-id"+"}", fmt.Sprintf("%v", logicalRouterPortId), -1)
  7151  
  7152  	localVarHeaderParams := make(map[string]string)
  7153  	localVarQueryParams := url.Values{}
  7154  	localVarFormParams := url.Values{}
  7155  
  7156  	// to determine the Content-Type header
  7157  	localVarHttpContentTypes := []string{"application/json"}
  7158  
  7159  	// set Content-Type header
  7160  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7161  	if localVarHttpContentType != "" {
  7162  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7163  	}
  7164  
  7165  	// to determine the Accept header
  7166  	localVarHttpHeaderAccepts := []string{
  7167  		"application/json",
  7168  	}
  7169  
  7170  	// set Accept header
  7171  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7172  	if localVarHttpHeaderAccept != "" {
  7173  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7174  	}
  7175  	// body params
  7176  	localVarPostBody = &logicalRouterPort
  7177  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7178  	if err != nil {
  7179  		return successPayload, nil, err
  7180  	}
  7181  
  7182  	localVarHttpResponse, err := a.client.callAPI(r)
  7183  	if err != nil || localVarHttpResponse == nil {
  7184  		return successPayload, localVarHttpResponse, err
  7185  	}
  7186  	defer localVarHttpResponse.Body.Close()
  7187  	if localVarHttpResponse.StatusCode >= 300 {
  7188  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7189  	}
  7190  
  7191  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7192  		return successPayload, localVarHttpResponse, err
  7193  	}
  7194  
  7195  	return successPayload, localVarHttpResponse, err
  7196  }
  7197  
  7198  /* LogicalRoutingAndServicesApiService Update a specific NAT rule from a given logical router
  7199  Update a specific NAT rule from a given logical router.
  7200  * @param ctx context.Context Authentication Context
  7201  @param logicalRouterId
  7202  @param ruleId
  7203  @param natRule
  7204  @return manager.NatRule*/
  7205  func (a *LogicalRoutingAndServicesApiService) UpdateNatRule(ctx context.Context, logicalRouterId string, ruleId string, natRule manager.NatRule) (manager.NatRule, *http.Response, error) {
  7206  	var (
  7207  		localVarHttpMethod = strings.ToUpper("Put")
  7208  		localVarPostBody   interface{}
  7209  		localVarFileName   string
  7210  		localVarFileBytes  []byte
  7211  		successPayload     manager.NatRule
  7212  	)
  7213  
  7214  	// create path and map variables
  7215  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/nat/rules/{rule-id}"
  7216  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  7217  	localVarPath = strings.Replace(localVarPath, "{"+"rule-id"+"}", fmt.Sprintf("%v", ruleId), -1)
  7218  
  7219  	localVarHeaderParams := make(map[string]string)
  7220  	localVarQueryParams := url.Values{}
  7221  	localVarFormParams := url.Values{}
  7222  
  7223  	// to determine the Content-Type header
  7224  	localVarHttpContentTypes := []string{"application/json"}
  7225  
  7226  	// set Content-Type header
  7227  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7228  	if localVarHttpContentType != "" {
  7229  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7230  	}
  7231  
  7232  	// to determine the Accept header
  7233  	localVarHttpHeaderAccepts := []string{
  7234  		"application/json",
  7235  	}
  7236  
  7237  	// set Accept header
  7238  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7239  	if localVarHttpHeaderAccept != "" {
  7240  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7241  	}
  7242  	// body params
  7243  	localVarPostBody = &natRule
  7244  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7245  	if err != nil {
  7246  		return successPayload, nil, err
  7247  	}
  7248  
  7249  	localVarHttpResponse, err := a.client.callAPI(r)
  7250  	if err != nil || localVarHttpResponse == nil {
  7251  		return successPayload, localVarHttpResponse, err
  7252  	}
  7253  	defer localVarHttpResponse.Body.Close()
  7254  	if localVarHttpResponse.StatusCode >= 300 {
  7255  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7256  	}
  7257  
  7258  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7259  		return successPayload, localVarHttpResponse, err
  7260  	}
  7261  
  7262  	return successPayload, localVarHttpResponse, err
  7263  }
  7264  
  7265  /* LogicalRoutingAndServicesApiService Update the Redistribution Configuration on a Logical Router
  7266  Modifies existing route redistribution rules for the specified TIER0 logical router.
  7267  * @param ctx context.Context Authentication Context
  7268  @param logicalRouterId
  7269  @param redistributionConfig
  7270  @return manager.RedistributionConfig*/
  7271  func (a *LogicalRoutingAndServicesApiService) UpdateRedistributionConfig(ctx context.Context, logicalRouterId string, redistributionConfig manager.RedistributionConfig) (manager.RedistributionConfig, *http.Response, error) {
  7272  	var (
  7273  		localVarHttpMethod = strings.ToUpper("Put")
  7274  		localVarPostBody   interface{}
  7275  		localVarFileName   string
  7276  		localVarFileBytes  []byte
  7277  		successPayload     manager.RedistributionConfig
  7278  	)
  7279  
  7280  	// create path and map variables
  7281  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/redistribution"
  7282  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  7283  
  7284  	localVarHeaderParams := make(map[string]string)
  7285  	localVarQueryParams := url.Values{}
  7286  	localVarFormParams := url.Values{}
  7287  
  7288  	// to determine the Content-Type header
  7289  	localVarHttpContentTypes := []string{"application/json"}
  7290  
  7291  	// set Content-Type header
  7292  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7293  	if localVarHttpContentType != "" {
  7294  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7295  	}
  7296  
  7297  	// to determine the Accept header
  7298  	localVarHttpHeaderAccepts := []string{
  7299  		"application/json",
  7300  	}
  7301  
  7302  	// set Accept header
  7303  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7304  	if localVarHttpHeaderAccept != "" {
  7305  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7306  	}
  7307  	// body params
  7308  	localVarPostBody = &redistributionConfig
  7309  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7310  	if err != nil {
  7311  		return successPayload, nil, err
  7312  	}
  7313  
  7314  	localVarHttpResponse, err := a.client.callAPI(r)
  7315  	if err != nil || localVarHttpResponse == nil {
  7316  		return successPayload, localVarHttpResponse, err
  7317  	}
  7318  	defer localVarHttpResponse.Body.Close()
  7319  	if localVarHttpResponse.StatusCode >= 300 {
  7320  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7321  	}
  7322  
  7323  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7324  		return successPayload, localVarHttpResponse, err
  7325  	}
  7326  
  7327  	return successPayload, localVarHttpResponse, err
  7328  }
  7329  
  7330  /* LogicalRoutingAndServicesApiService Update All the Redistribution Rules on a Logical Router
  7331  Modifies all route redistribution rules for the specified TIER0 logical router. Set the rules list to empty to delete/clear all rules.
  7332  * @param ctx context.Context Authentication Context
  7333  @param logicalRouterId
  7334  @param redistributionRuleList
  7335  @return manager.RedistributionRuleList*/
  7336  func (a *LogicalRoutingAndServicesApiService) UpdateRedistributionRuleList(ctx context.Context, logicalRouterId string, redistributionRuleList manager.RedistributionRuleList) (manager.RedistributionRuleList, *http.Response, error) {
  7337  	var (
  7338  		localVarHttpMethod = strings.ToUpper("Put")
  7339  		localVarPostBody   interface{}
  7340  		localVarFileName   string
  7341  		localVarFileBytes  []byte
  7342  		successPayload     manager.RedistributionRuleList
  7343  	)
  7344  
  7345  	// create path and map variables
  7346  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/redistribution/rules"
  7347  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  7348  
  7349  	localVarHeaderParams := make(map[string]string)
  7350  	localVarQueryParams := url.Values{}
  7351  	localVarFormParams := url.Values{}
  7352  
  7353  	// to determine the Content-Type header
  7354  	localVarHttpContentTypes := []string{"application/json"}
  7355  
  7356  	// set Content-Type header
  7357  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7358  	if localVarHttpContentType != "" {
  7359  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7360  	}
  7361  
  7362  	// to determine the Accept header
  7363  	localVarHttpHeaderAccepts := []string{
  7364  		"application/json",
  7365  	}
  7366  
  7367  	// set Accept header
  7368  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7369  	if localVarHttpHeaderAccept != "" {
  7370  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7371  	}
  7372  	// body params
  7373  	localVarPostBody = &redistributionRuleList
  7374  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7375  	if err != nil {
  7376  		return successPayload, nil, err
  7377  	}
  7378  
  7379  	localVarHttpResponse, err := a.client.callAPI(r)
  7380  	if err != nil || localVarHttpResponse == nil {
  7381  		return successPayload, localVarHttpResponse, err
  7382  	}
  7383  	defer localVarHttpResponse.Body.Close()
  7384  	if localVarHttpResponse.StatusCode >= 300 {
  7385  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7386  	}
  7387  
  7388  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7389  		return successPayload, localVarHttpResponse, err
  7390  	}
  7391  
  7392  	return successPayload, localVarHttpResponse, err
  7393  }
  7394  
  7395  /* LogicalRoutingAndServicesApiService Update a specific manager.RouteMap on a Logical Router
  7396  Update a specific manager.RouteMap on the specified logical router.
  7397  * @param ctx context.Context Authentication Context
  7398  @param logicalRouterId
  7399  @param id
  7400  @param routeMap
  7401  @return manager.RouteMap*/
  7402  func (a *LogicalRoutingAndServicesApiService) UpdateRouteMap(ctx context.Context, logicalRouterId string, id string, routeMap manager.RouteMap) (manager.RouteMap, *http.Response, error) {
  7403  	var (
  7404  		localVarHttpMethod = strings.ToUpper("Put")
  7405  		localVarPostBody   interface{}
  7406  		localVarFileName   string
  7407  		localVarFileBytes  []byte
  7408  		successPayload     manager.RouteMap
  7409  	)
  7410  
  7411  	// create path and map variables
  7412  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/route-maps/{id}"
  7413  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  7414  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  7415  
  7416  	localVarHeaderParams := make(map[string]string)
  7417  	localVarQueryParams := url.Values{}
  7418  	localVarFormParams := url.Values{}
  7419  
  7420  	// to determine the Content-Type header
  7421  	localVarHttpContentTypes := []string{"application/json"}
  7422  
  7423  	// set Content-Type header
  7424  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7425  	if localVarHttpContentType != "" {
  7426  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7427  	}
  7428  
  7429  	// to determine the Accept header
  7430  	localVarHttpHeaderAccepts := []string{
  7431  		"application/json",
  7432  	}
  7433  
  7434  	// set Accept header
  7435  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7436  	if localVarHttpHeaderAccept != "" {
  7437  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7438  	}
  7439  	// body params
  7440  	localVarPostBody = &routeMap
  7441  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7442  	if err != nil {
  7443  		return successPayload, nil, err
  7444  	}
  7445  
  7446  	localVarHttpResponse, err := a.client.callAPI(r)
  7447  	if err != nil || localVarHttpResponse == nil {
  7448  		return successPayload, localVarHttpResponse, err
  7449  	}
  7450  	defer localVarHttpResponse.Body.Close()
  7451  	if localVarHttpResponse.StatusCode >= 300 {
  7452  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7453  	}
  7454  
  7455  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7456  		return successPayload, localVarHttpResponse, err
  7457  	}
  7458  
  7459  	return successPayload, localVarHttpResponse, err
  7460  }
  7461  
  7462  /* LogicalRoutingAndServicesApiService Update the BFD Configuration for BFD peers for routing
  7463  Modifies the BFD configuration for routing BFD peers. Note - the configuration |   changes apply only to those routing BFD peers for which the BFD configuration has |   not been overridden at Peer level.
  7464  * @param ctx context.Context Authentication Context
  7465  @param logicalRouterId
  7466  @param bfdConfig
  7467  @return manager.BfdConfig*/
  7468  func (a *LogicalRoutingAndServicesApiService) UpdateRoutingBfdConfig(ctx context.Context, logicalRouterId string, bfdConfig manager.BfdConfig) (manager.BfdConfig, *http.Response, error) {
  7469  	var (
  7470  		localVarHttpMethod = strings.ToUpper("Put")
  7471  		localVarPostBody   interface{}
  7472  		localVarFileName   string
  7473  		localVarFileBytes  []byte
  7474  		successPayload     manager.BfdConfig
  7475  	)
  7476  
  7477  	// create path and map variables
  7478  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/bfd-config"
  7479  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  7480  
  7481  	localVarHeaderParams := make(map[string]string)
  7482  	localVarQueryParams := url.Values{}
  7483  	localVarFormParams := url.Values{}
  7484  
  7485  	// to determine the Content-Type header
  7486  	localVarHttpContentTypes := []string{"application/json"}
  7487  
  7488  	// set Content-Type header
  7489  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7490  	if localVarHttpContentType != "" {
  7491  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7492  	}
  7493  
  7494  	// to determine the Accept header
  7495  	localVarHttpHeaderAccepts := []string{
  7496  		"application/json",
  7497  	}
  7498  
  7499  	// set Accept header
  7500  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7501  	if localVarHttpHeaderAccept != "" {
  7502  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7503  	}
  7504  	// body params
  7505  	localVarPostBody = &bfdConfig
  7506  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7507  	if err != nil {
  7508  		return successPayload, nil, err
  7509  	}
  7510  
  7511  	localVarHttpResponse, err := a.client.callAPI(r)
  7512  	if err != nil || localVarHttpResponse == nil {
  7513  		return successPayload, localVarHttpResponse, err
  7514  	}
  7515  	defer localVarHttpResponse.Body.Close()
  7516  	if localVarHttpResponse.StatusCode >= 300 {
  7517  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7518  	}
  7519  
  7520  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7521  		return successPayload, localVarHttpResponse, err
  7522  	}
  7523  
  7524  	return successPayload, localVarHttpResponse, err
  7525  }
  7526  
  7527  /* LogicalRoutingAndServicesApiService Update the Routing Configuration
  7528  Modifies the routing configuration for a specified logical router.
  7529  * @param ctx context.Context Authentication Context
  7530  @param logicalRouterId
  7531  @param routingConfig
  7532  @return manager.RoutingConfig*/
  7533  func (a *LogicalRoutingAndServicesApiService) UpdateRoutingConfig(ctx context.Context, logicalRouterId string, routingConfig manager.RoutingConfig) (manager.RoutingConfig, *http.Response, error) {
  7534  	var (
  7535  		localVarHttpMethod = strings.ToUpper("Put")
  7536  		localVarPostBody   interface{}
  7537  		localVarFileName   string
  7538  		localVarFileBytes  []byte
  7539  		successPayload     manager.RoutingConfig
  7540  	)
  7541  
  7542  	// create path and map variables
  7543  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing"
  7544  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  7545  
  7546  	localVarHeaderParams := make(map[string]string)
  7547  	localVarQueryParams := url.Values{}
  7548  	localVarFormParams := url.Values{}
  7549  
  7550  	// to determine the Content-Type header
  7551  	localVarHttpContentTypes := []string{"application/json"}
  7552  
  7553  	// set Content-Type header
  7554  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7555  	if localVarHttpContentType != "" {
  7556  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7557  	}
  7558  
  7559  	// to determine the Accept header
  7560  	localVarHttpHeaderAccepts := []string{
  7561  		"application/json",
  7562  	}
  7563  
  7564  	// set Accept header
  7565  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7566  	if localVarHttpHeaderAccept != "" {
  7567  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7568  	}
  7569  	// body params
  7570  	localVarPostBody = &routingConfig
  7571  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7572  	if err != nil {
  7573  		return successPayload, nil, err
  7574  	}
  7575  
  7576  	localVarHttpResponse, err := a.client.callAPI(r)
  7577  	if err != nil || localVarHttpResponse == nil {
  7578  		return successPayload, localVarHttpResponse, err
  7579  	}
  7580  	defer localVarHttpResponse.Body.Close()
  7581  	if localVarHttpResponse.StatusCode >= 300 {
  7582  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7583  	}
  7584  
  7585  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7586  		return successPayload, localVarHttpResponse, err
  7587  	}
  7588  
  7589  	return successPayload, localVarHttpResponse, err
  7590  }
  7591  
  7592  /* LogicalRoutingAndServicesApiService Update a Logical Router Service
  7593  Modifies the specified logical router service. The resource_type parameter is required. The modifiable parameters depend on the service type.
  7594  * @param ctx context.Context Authentication Context
  7595  @param serviceId
  7596  @param logicalService
  7597  @return manager.LogicalService*/
  7598  func (a *LogicalRoutingAndServicesApiService) UpdateService(ctx context.Context, serviceId string, logicalService manager.LogicalService) (manager.LogicalService, *http.Response, error) {
  7599  	var (
  7600  		localVarHttpMethod = strings.ToUpper("Put")
  7601  		localVarPostBody   interface{}
  7602  		localVarFileName   string
  7603  		localVarFileBytes  []byte
  7604  		successPayload     manager.LogicalService
  7605  	)
  7606  
  7607  	// create path and map variables
  7608  	localVarPath := a.client.cfg.BasePath + "/services/{service-id}"
  7609  	localVarPath = strings.Replace(localVarPath, "{"+"service-id"+"}", fmt.Sprintf("%v", serviceId), -1)
  7610  
  7611  	localVarHeaderParams := make(map[string]string)
  7612  	localVarQueryParams := url.Values{}
  7613  	localVarFormParams := url.Values{}
  7614  
  7615  	// to determine the Content-Type header
  7616  	localVarHttpContentTypes := []string{"application/json"}
  7617  
  7618  	// set Content-Type header
  7619  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7620  	if localVarHttpContentType != "" {
  7621  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7622  	}
  7623  
  7624  	// to determine the Accept header
  7625  	localVarHttpHeaderAccepts := []string{
  7626  		"application/json",
  7627  	}
  7628  
  7629  	// set Accept header
  7630  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7631  	if localVarHttpHeaderAccept != "" {
  7632  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7633  	}
  7634  	// body params
  7635  	localVarPostBody = &logicalService
  7636  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7637  	if err != nil {
  7638  		return successPayload, nil, err
  7639  	}
  7640  
  7641  	localVarHttpResponse, err := a.client.callAPI(r)
  7642  	if err != nil || localVarHttpResponse == nil {
  7643  		return successPayload, localVarHttpResponse, err
  7644  	}
  7645  	defer localVarHttpResponse.Body.Close()
  7646  	if localVarHttpResponse.StatusCode >= 300 {
  7647  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7648  	}
  7649  
  7650  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7651  		return successPayload, localVarHttpResponse, err
  7652  	}
  7653  
  7654  	return successPayload, localVarHttpResponse, err
  7655  }
  7656  
  7657  /* LogicalRoutingAndServicesApiService Update a Service Profile
  7658  Modifies the specified service profile. The PUT request must include the resource_type parameters. Modifiable parameters include description and display_name. Other parameters might be modifiable, depending on the specified service type.
  7659  * @param ctx context.Context Authentication Context
  7660  @param serviceProfileId
  7661  @param serviceProfile
  7662  @return manager.ServiceProfile*/
  7663  func (a *LogicalRoutingAndServicesApiService) UpdateServiceProfile(ctx context.Context, serviceProfileId string, serviceProfile manager.ServiceProfile) (manager.ServiceProfile, *http.Response, error) {
  7664  	var (
  7665  		localVarHttpMethod = strings.ToUpper("Put")
  7666  		localVarPostBody   interface{}
  7667  		localVarFileName   string
  7668  		localVarFileBytes  []byte
  7669  		successPayload     manager.ServiceProfile
  7670  	)
  7671  
  7672  	// create path and map variables
  7673  	localVarPath := a.client.cfg.BasePath + "/service-profiles/{service-profile-id}"
  7674  	localVarPath = strings.Replace(localVarPath, "{"+"service-profile-id"+"}", fmt.Sprintf("%v", serviceProfileId), -1)
  7675  
  7676  	localVarHeaderParams := make(map[string]string)
  7677  	localVarQueryParams := url.Values{}
  7678  	localVarFormParams := url.Values{}
  7679  
  7680  	// to determine the Content-Type header
  7681  	localVarHttpContentTypes := []string{"application/json"}
  7682  
  7683  	// set Content-Type header
  7684  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7685  	if localVarHttpContentType != "" {
  7686  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7687  	}
  7688  
  7689  	// to determine the Accept header
  7690  	localVarHttpHeaderAccepts := []string{
  7691  		"application/json",
  7692  	}
  7693  
  7694  	// set Accept header
  7695  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7696  	if localVarHttpHeaderAccept != "" {
  7697  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7698  	}
  7699  	// body params
  7700  	localVarPostBody = &serviceProfile
  7701  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7702  	if err != nil {
  7703  		return successPayload, nil, err
  7704  	}
  7705  
  7706  	localVarHttpResponse, err := a.client.callAPI(r)
  7707  	if err != nil || localVarHttpResponse == nil {
  7708  		return successPayload, localVarHttpResponse, err
  7709  	}
  7710  	defer localVarHttpResponse.Body.Close()
  7711  	if localVarHttpResponse.StatusCode >= 300 {
  7712  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7713  	}
  7714  
  7715  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7716  		return successPayload, localVarHttpResponse, err
  7717  	}
  7718  
  7719  	return successPayload, localVarHttpResponse, err
  7720  }
  7721  
  7722  /* LogicalRoutingAndServicesApiService Update a static route BFD peer
  7723  Modifies the static route BFD peer. Modifiable parameters includes peer IP, enable flag and configuration of the BFD peer.
  7724  * @param ctx context.Context Authentication Context
  7725  @param logicalRouterId
  7726  @param bfdPeerId
  7727  @param staticHopBfdPeer
  7728  @return manager.StaticHopBfdPeer*/
  7729  func (a *LogicalRoutingAndServicesApiService) UpdateStaticHopBfdPeer(ctx context.Context, logicalRouterId string, bfdPeerId string, staticHopBfdPeer manager.StaticHopBfdPeer) (manager.StaticHopBfdPeer, *http.Response, error) {
  7730  	var (
  7731  		localVarHttpMethod = strings.ToUpper("Put")
  7732  		localVarPostBody   interface{}
  7733  		localVarFileName   string
  7734  		localVarFileBytes  []byte
  7735  		successPayload     manager.StaticHopBfdPeer
  7736  	)
  7737  
  7738  	// create path and map variables
  7739  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes/bfd-peers/{bfd-peer-id}"
  7740  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  7741  	localVarPath = strings.Replace(localVarPath, "{"+"bfd-peer-id"+"}", fmt.Sprintf("%v", bfdPeerId), -1)
  7742  
  7743  	localVarHeaderParams := make(map[string]string)
  7744  	localVarQueryParams := url.Values{}
  7745  	localVarFormParams := url.Values{}
  7746  
  7747  	// to determine the Content-Type header
  7748  	localVarHttpContentTypes := []string{"application/json"}
  7749  
  7750  	// set Content-Type header
  7751  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7752  	if localVarHttpContentType != "" {
  7753  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7754  	}
  7755  
  7756  	// to determine the Accept header
  7757  	localVarHttpHeaderAccepts := []string{
  7758  		"application/json",
  7759  	}
  7760  
  7761  	// set Accept header
  7762  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7763  	if localVarHttpHeaderAccept != "" {
  7764  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7765  	}
  7766  	// body params
  7767  	localVarPostBody = &staticHopBfdPeer
  7768  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7769  	if err != nil {
  7770  		return successPayload, nil, err
  7771  	}
  7772  
  7773  	localVarHttpResponse, err := a.client.callAPI(r)
  7774  	if err != nil || localVarHttpResponse == nil {
  7775  		return successPayload, localVarHttpResponse, err
  7776  	}
  7777  	defer localVarHttpResponse.Body.Close()
  7778  	if localVarHttpResponse.StatusCode >= 300 {
  7779  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7780  	}
  7781  
  7782  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7783  		return successPayload, localVarHttpResponse, err
  7784  	}
  7785  
  7786  	return successPayload, localVarHttpResponse, err
  7787  }
  7788  
  7789  /* LogicalRoutingAndServicesApiService Update a specific Static Route Rule on a Logical Router
  7790  Update a specific static route on the specified logical router.
  7791  * @param ctx context.Context Authentication Context
  7792  @param logicalRouterId
  7793  @param id
  7794  @param staticRoute
  7795  @return manager.StaticRoute*/
  7796  func (a *LogicalRoutingAndServicesApiService) UpdateStaticRoute(ctx context.Context, logicalRouterId string, id string, staticRoute manager.StaticRoute) (manager.StaticRoute, *http.Response, error) {
  7797  	var (
  7798  		localVarHttpMethod = strings.ToUpper("Put")
  7799  		localVarPostBody   interface{}
  7800  		localVarFileName   string
  7801  		localVarFileBytes  []byte
  7802  		successPayload     manager.StaticRoute
  7803  	)
  7804  
  7805  	// create path and map variables
  7806  	localVarPath := a.client.cfg.BasePath + "/logical-routers/{logical-router-id}/routing/static-routes/{id}"
  7807  	localVarPath = strings.Replace(localVarPath, "{"+"logical-router-id"+"}", fmt.Sprintf("%v", logicalRouterId), -1)
  7808  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
  7809  
  7810  	localVarHeaderParams := make(map[string]string)
  7811  	localVarQueryParams := url.Values{}
  7812  	localVarFormParams := url.Values{}
  7813  
  7814  	// to determine the Content-Type header
  7815  	localVarHttpContentTypes := []string{"application/json"}
  7816  
  7817  	// set Content-Type header
  7818  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  7819  	if localVarHttpContentType != "" {
  7820  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  7821  	}
  7822  
  7823  	// to determine the Accept header
  7824  	localVarHttpHeaderAccepts := []string{
  7825  		"application/json",
  7826  	}
  7827  
  7828  	// set Accept header
  7829  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  7830  	if localVarHttpHeaderAccept != "" {
  7831  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  7832  	}
  7833  	// body params
  7834  	localVarPostBody = &staticRoute
  7835  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  7836  	if err != nil {
  7837  		return successPayload, nil, err
  7838  	}
  7839  
  7840  	localVarHttpResponse, err := a.client.callAPI(r)
  7841  	if err != nil || localVarHttpResponse == nil {
  7842  		return successPayload, localVarHttpResponse, err
  7843  	}
  7844  	defer localVarHttpResponse.Body.Close()
  7845  	if localVarHttpResponse.StatusCode >= 300 {
  7846  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  7847  	}
  7848  
  7849  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  7850  		return successPayload, localVarHttpResponse, err
  7851  	}
  7852  
  7853  	return successPayload, localVarHttpResponse, err
  7854  }