github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/pool_management_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 PoolManagementApiService service
    24  
    25  /* PoolManagementApiService Allocate or Release an IP Address from a Ip Subnet
    26  Allocates or releases an IP address from the specified IP subnet. To allocate an address, include ?action=ALLOCATE in the request and a \"{}\" in the request body. When the request is successful, the response is \"allocation_id\": \"<ip-address>\", where <ip-address> is an IP address from the specified pool. To release an IP address (return it back to the pool), include ?action=RELEASE in the request and \"allocation_id\":<ip-address> in the request body, where <ip-address> is the address to be released. When the request is successful, the response is NULL.
    27  * @param ctx context.Context Authentication Context
    28  @param subnetId IP subnet id
    29  @param allocationIpAddress
    30  @param action Specifies allocate or release action
    31  @return manager.AllocationIpAddress*/
    32  func (a *PoolManagementApiService) AllocateOrReleaseFromIpBlockSubnet(ctx context.Context, subnetId string, allocationIpAddress manager.AllocationIpAddress, action string) (manager.AllocationIpAddress, *http.Response, error) {
    33  	var (
    34  		localVarHttpMethod = strings.ToUpper("Post")
    35  		localVarPostBody   interface{}
    36  		localVarFileName   string
    37  		localVarFileBytes  []byte
    38  		successPayload     manager.AllocationIpAddress
    39  	)
    40  
    41  	// create path and map variables
    42  	localVarPath := a.client.cfg.BasePath + "/pools/ip-subnets/{subnet-id}"
    43  	localVarPath = strings.Replace(localVarPath, "{"+"subnet-id"+"}", fmt.Sprintf("%v", subnetId), -1)
    44  
    45  	localVarHeaderParams := make(map[string]string)
    46  	localVarQueryParams := url.Values{}
    47  	localVarFormParams := url.Values{}
    48  
    49  	localVarQueryParams.Add("action", parameterToString(action, ""))
    50  	// to determine the Content-Type header
    51  	localVarHttpContentTypes := []string{"application/json"}
    52  
    53  	// set Content-Type header
    54  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    55  	if localVarHttpContentType != "" {
    56  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    57  	}
    58  
    59  	// to determine the Accept header
    60  	localVarHttpHeaderAccepts := []string{
    61  		"application/json",
    62  	}
    63  
    64  	// set Accept header
    65  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    66  	if localVarHttpHeaderAccept != "" {
    67  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    68  	}
    69  	// body params
    70  	localVarPostBody = &allocationIpAddress
    71  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    72  	if err != nil {
    73  		return successPayload, nil, err
    74  	}
    75  
    76  	localVarHttpResponse, err := a.client.callAPI(r)
    77  	if err != nil || localVarHttpResponse == nil {
    78  		return successPayload, localVarHttpResponse, err
    79  	}
    80  	defer localVarHttpResponse.Body.Close()
    81  	if localVarHttpResponse.StatusCode >= 300 {
    82  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
    83  	}
    84  
    85  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
    86  		return successPayload, localVarHttpResponse, err
    87  	}
    88  
    89  	return successPayload, localVarHttpResponse, err
    90  }
    91  
    92  /* PoolManagementApiService Allocate or Release an IP Address from a Pool
    93  Allocates or releases an IP address from the specified IP pool. To allocate an address, include ?action=ALLOCATE in the request and \"allocation_id\":null in the request body. When the request is successful, the response is \"allocation_id\": \"<ip-address>\", where <ip-address> is an IP address from the specified pool. To release an IP address (return it back to the pool), include ?action=RELEASE in the request and \"allocation_id\":<ip-address> in the request body, where <ip-address> is the address to be released. When the request is successful, the response is NULL. Tags, display_name and description attributes are not supported for manager.AllocationIpAddress in this release.
    94  * @param ctx context.Context Authentication Context
    95  @param poolId IP pool ID
    96  @param allocationIpAddress
    97  @param action Specifies allocate or release action
    98  @return manager.AllocationIpAddress*/
    99  func (a *PoolManagementApiService) AllocateOrReleaseFromIpPool(ctx context.Context, poolId string, allocationIpAddress manager.AllocationIpAddress, action string) (manager.AllocationIpAddress, *http.Response, error) {
   100  	var (
   101  		localVarHttpMethod = strings.ToUpper("Post")
   102  		localVarPostBody   interface{}
   103  		localVarFileName   string
   104  		localVarFileBytes  []byte
   105  		successPayload     manager.AllocationIpAddress
   106  	)
   107  
   108  	// create path and map variables
   109  	localVarPath := a.client.cfg.BasePath + "/pools/ip-pools/{pool-id}"
   110  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
   111  
   112  	localVarHeaderParams := make(map[string]string)
   113  	localVarQueryParams := url.Values{}
   114  	localVarFormParams := url.Values{}
   115  
   116  	localVarQueryParams.Add("action", parameterToString(action, ""))
   117  	// to determine the Content-Type header
   118  	localVarHttpContentTypes := []string{"application/json"}
   119  
   120  	// set Content-Type header
   121  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   122  	if localVarHttpContentType != "" {
   123  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   124  	}
   125  
   126  	// to determine the Accept header
   127  	localVarHttpHeaderAccepts := []string{
   128  		"application/json",
   129  	}
   130  
   131  	// set Accept header
   132  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   133  	if localVarHttpHeaderAccept != "" {
   134  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   135  	}
   136  	// body params
   137  	localVarPostBody = &allocationIpAddress
   138  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   139  	if err != nil {
   140  		return successPayload, nil, err
   141  	}
   142  
   143  	localVarHttpResponse, err := a.client.callAPI(r)
   144  	if err != nil || localVarHttpResponse == nil {
   145  		return successPayload, localVarHttpResponse, err
   146  	}
   147  	defer localVarHttpResponse.Body.Close()
   148  	if localVarHttpResponse.StatusCode >= 300 {
   149  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   150  	}
   151  
   152  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   153  		return successPayload, localVarHttpResponse, err
   154  	}
   155  
   156  	return successPayload, localVarHttpResponse, err
   157  }
   158  
   159  /* PoolManagementApiService Create a new IP address block.
   160  Creates a new IPv4 address block using the specified cidr. cidr is a required parameter. display_name & description are optional parameters
   161  * @param ctx context.Context Authentication Context
   162  @param ipBlock
   163  @return manager.IpBlock*/
   164  func (a *PoolManagementApiService) CreateIpBlock(ctx context.Context, ipBlock manager.IpBlock) (manager.IpBlock, *http.Response, error) {
   165  	var (
   166  		localVarHttpMethod = strings.ToUpper("Post")
   167  		localVarPostBody   interface{}
   168  		localVarFileName   string
   169  		localVarFileBytes  []byte
   170  		successPayload     manager.IpBlock
   171  	)
   172  
   173  	// create path and map variables
   174  	localVarPath := a.client.cfg.BasePath + "/pools/ip-blocks"
   175  
   176  	localVarHeaderParams := make(map[string]string)
   177  	localVarQueryParams := url.Values{}
   178  	localVarFormParams := url.Values{}
   179  
   180  	// to determine the Content-Type header
   181  	localVarHttpContentTypes := []string{"application/json"}
   182  
   183  	// set Content-Type header
   184  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   185  	if localVarHttpContentType != "" {
   186  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   187  	}
   188  
   189  	// to determine the Accept header
   190  	localVarHttpHeaderAccepts := []string{
   191  		"application/json",
   192  	}
   193  
   194  	// set Accept header
   195  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   196  	if localVarHttpHeaderAccept != "" {
   197  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   198  	}
   199  	// body params
   200  	localVarPostBody = &ipBlock
   201  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   202  	if err != nil {
   203  		return successPayload, nil, err
   204  	}
   205  
   206  	localVarHttpResponse, err := a.client.callAPI(r)
   207  	if err != nil || localVarHttpResponse == nil {
   208  		return successPayload, localVarHttpResponse, err
   209  	}
   210  	defer localVarHttpResponse.Body.Close()
   211  	if localVarHttpResponse.StatusCode >= 300 {
   212  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   213  	}
   214  
   215  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   216  		return successPayload, localVarHttpResponse, err
   217  	}
   218  
   219  	return successPayload, localVarHttpResponse, err
   220  }
   221  
   222  /* PoolManagementApiService Create subnet of specified size within an IP block
   223  Carves out a subnet of requested size from the specified IP block. The \"size\" parameter  and the \"block_id \" are the requireds field while invoking this API. If the IP block has sufficient resources/space to allocate a subnet of specified size, the response will contain all the details of the newly created subnet including the display_name, description, cidr & allocation_ranges. Returns a conflict error if the IP block does not have enough resources/space to allocate a subnet of the requested size.
   224  * @param ctx context.Context Authentication Context
   225  @param ipBlockSubnet
   226  @return manager.IpBlockSubnet*/
   227  func (a *PoolManagementApiService) CreateIpBlockSubnet(ctx context.Context, ipBlockSubnet manager.IpBlockSubnet) (manager.IpBlockSubnet, *http.Response, error) {
   228  	var (
   229  		localVarHttpMethod = strings.ToUpper("Post")
   230  		localVarPostBody   interface{}
   231  		localVarFileName   string
   232  		localVarFileBytes  []byte
   233  		successPayload     manager.IpBlockSubnet
   234  	)
   235  
   236  	// create path and map variables
   237  	localVarPath := a.client.cfg.BasePath + "/pools/ip-subnets"
   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 = &ipBlockSubnet
   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  /* PoolManagementApiService Create an IP Pool
   286  Creates a new IPv4 or IPv6 address pool. Required parameters are allocation_ranges and cidr. Optional parameters are display_name, description, dns_nameservers, dns_suffix, and gateway_ip.
   287  * @param ctx context.Context Authentication Context
   288  @param ipPool
   289  @return manager.IpPool*/
   290  func (a *PoolManagementApiService) CreateIpPool(ctx context.Context, ipPool manager.IpPool) (manager.IpPool, *http.Response, error) {
   291  	var (
   292  		localVarHttpMethod = strings.ToUpper("Post")
   293  		localVarPostBody   interface{}
   294  		localVarFileName   string
   295  		localVarFileBytes  []byte
   296  		successPayload     manager.IpPool
   297  	)
   298  
   299  	// create path and map variables
   300  	localVarPath := a.client.cfg.BasePath + "/pools/ip-pools"
   301  
   302  	localVarHeaderParams := make(map[string]string)
   303  	localVarQueryParams := url.Values{}
   304  	localVarFormParams := url.Values{}
   305  
   306  	// to determine the Content-Type header
   307  	localVarHttpContentTypes := []string{"application/json"}
   308  
   309  	// set Content-Type header
   310  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   311  	if localVarHttpContentType != "" {
   312  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   313  	}
   314  
   315  	// to determine the Accept header
   316  	localVarHttpHeaderAccepts := []string{
   317  		"application/json",
   318  	}
   319  
   320  	// set Accept header
   321  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   322  	if localVarHttpHeaderAccept != "" {
   323  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   324  	}
   325  	// body params
   326  	localVarPostBody = &ipPool
   327  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   328  	if err != nil {
   329  		return successPayload, nil, err
   330  	}
   331  
   332  	localVarHttpResponse, err := a.client.callAPI(r)
   333  	if err != nil || localVarHttpResponse == nil {
   334  		return successPayload, localVarHttpResponse, err
   335  	}
   336  	defer localVarHttpResponse.Body.Close()
   337  	if localVarHttpResponse.StatusCode >= 300 {
   338  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   339  	}
   340  
   341  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   342  		return successPayload, localVarHttpResponse, err
   343  	}
   344  
   345  	return successPayload, localVarHttpResponse, err
   346  }
   347  
   348  /* PoolManagementApiService Delete an IP Address Block
   349  Deletes the IP address block with specified id if it exists. IP block cannot be deleted if there are allocated subnets from the block.
   350  * @param ctx context.Context Authentication Context
   351  @param blockId IP address block id
   352  @return */
   353  func (a *PoolManagementApiService) DeleteIpBlock(ctx context.Context, blockId string) (*http.Response, error) {
   354  	var (
   355  		localVarHttpMethod = strings.ToUpper("Delete")
   356  		localVarPostBody   interface{}
   357  		localVarFileName   string
   358  		localVarFileBytes  []byte
   359  	)
   360  
   361  	// create path and map variables
   362  	localVarPath := a.client.cfg.BasePath + "/pools/ip-blocks/{block-id}"
   363  	localVarPath = strings.Replace(localVarPath, "{"+"block-id"+"}", fmt.Sprintf("%v", blockId), -1)
   364  
   365  	localVarHeaderParams := make(map[string]string)
   366  	localVarQueryParams := url.Values{}
   367  	localVarFormParams := url.Values{}
   368  
   369  	// to determine the Content-Type header
   370  	localVarHttpContentTypes := []string{"application/json"}
   371  
   372  	// set Content-Type header
   373  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   374  	if localVarHttpContentType != "" {
   375  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   376  	}
   377  
   378  	// to determine the Accept header
   379  	localVarHttpHeaderAccepts := []string{
   380  		"application/json",
   381  	}
   382  
   383  	// set Accept header
   384  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   385  	if localVarHttpHeaderAccept != "" {
   386  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   387  	}
   388  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   389  	if err != nil {
   390  		return nil, err
   391  	}
   392  
   393  	localVarHttpResponse, err := a.client.callAPI(r)
   394  	if err != nil || localVarHttpResponse == nil {
   395  		return localVarHttpResponse, err
   396  	}
   397  	defer localVarHttpResponse.Body.Close()
   398  	if localVarHttpResponse.StatusCode >= 300 {
   399  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
   400  	}
   401  
   402  	return localVarHttpResponse, err
   403  }
   404  
   405  /* PoolManagementApiService Delete subnet within an IP block
   406  Deletes a subnet with specified id within a given IP address block. Deletion is allowed only when there are no allocated IP addresses from that subnet.
   407  * @param ctx context.Context Authentication Context
   408  @param subnetId Subnet id
   409  @return */
   410  func (a *PoolManagementApiService) DeleteIpBlockSubnet(ctx context.Context, subnetId string) (*http.Response, error) {
   411  	var (
   412  		localVarHttpMethod = strings.ToUpper("Delete")
   413  		localVarPostBody   interface{}
   414  		localVarFileName   string
   415  		localVarFileBytes  []byte
   416  	)
   417  
   418  	// create path and map variables
   419  	localVarPath := a.client.cfg.BasePath + "/pools/ip-subnets/{subnet-id}"
   420  	localVarPath = strings.Replace(localVarPath, "{"+"subnet-id"+"}", fmt.Sprintf("%v", subnetId), -1)
   421  
   422  	localVarHeaderParams := make(map[string]string)
   423  	localVarQueryParams := url.Values{}
   424  	localVarFormParams := url.Values{}
   425  
   426  	// to determine the Content-Type header
   427  	localVarHttpContentTypes := []string{"application/json"}
   428  
   429  	// set Content-Type header
   430  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   431  	if localVarHttpContentType != "" {
   432  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   433  	}
   434  
   435  	// to determine the Accept header
   436  	localVarHttpHeaderAccepts := []string{
   437  		"application/json",
   438  	}
   439  
   440  	// set Accept header
   441  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   442  	if localVarHttpHeaderAccept != "" {
   443  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   444  	}
   445  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   446  	if err != nil {
   447  		return nil, err
   448  	}
   449  
   450  	localVarHttpResponse, err := a.client.callAPI(r)
   451  	if err != nil || localVarHttpResponse == nil {
   452  		return localVarHttpResponse, err
   453  	}
   454  	defer localVarHttpResponse.Body.Close()
   455  	if localVarHttpResponse.StatusCode >= 300 {
   456  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
   457  	}
   458  
   459  	return localVarHttpResponse, err
   460  }
   461  
   462  /* PoolManagementApiService Delete an IP Pool
   463  Deletes the specified IP address pool. By default, if the manager.IpPool is used in other configurations (such as transport node template), it won't be deleted. In such situations, pass \"force=true\" as query param to force delete the manager.IpPool
   464  * @param ctx context.Context Authentication Context
   465  @param poolId IP pool ID
   466  @param optional (nil or map[string]interface{}) with one or more of:
   467      @param "force" (bool) Force delete the resource even if it is being used somewhere
   468  @return */
   469  func (a *PoolManagementApiService) DeleteIpPool(ctx context.Context, poolId string, localVarOptionals map[string]interface{}) (*http.Response, error) {
   470  	var (
   471  		localVarHttpMethod = strings.ToUpper("Delete")
   472  		localVarPostBody   interface{}
   473  		localVarFileName   string
   474  		localVarFileBytes  []byte
   475  	)
   476  
   477  	// create path and map variables
   478  	localVarPath := a.client.cfg.BasePath + "/pools/ip-pools/{pool-id}"
   479  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
   480  
   481  	localVarHeaderParams := make(map[string]string)
   482  	localVarQueryParams := url.Values{}
   483  	localVarFormParams := url.Values{}
   484  
   485  	if err := typeCheckParameter(localVarOptionals["force"], "bool", "force"); err != nil {
   486  		return nil, err
   487  	}
   488  
   489  	if localVarTempParam, localVarOk := localVarOptionals["force"].(bool); localVarOk {
   490  		localVarQueryParams.Add("force", parameterToString(localVarTempParam, ""))
   491  	}
   492  	// to determine the Content-Type header
   493  	localVarHttpContentTypes := []string{"application/json"}
   494  
   495  	// set Content-Type header
   496  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   497  	if localVarHttpContentType != "" {
   498  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   499  	}
   500  
   501  	// to determine the Accept header
   502  	localVarHttpHeaderAccepts := []string{
   503  		"application/json",
   504  	}
   505  
   506  	// set Accept header
   507  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   508  	if localVarHttpHeaderAccept != "" {
   509  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   510  	}
   511  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   512  	if err != nil {
   513  		return nil, err
   514  	}
   515  
   516  	localVarHttpResponse, err := a.client.callAPI(r)
   517  	if err != nil || localVarHttpResponse == nil {
   518  		return localVarHttpResponse, err
   519  	}
   520  	defer localVarHttpResponse.Body.Close()
   521  	if localVarHttpResponse.StatusCode >= 300 {
   522  		return localVarHttpResponse, reportError(localVarHttpResponse.Status)
   523  	}
   524  
   525  	return localVarHttpResponse, err
   526  }
   527  
   528  /* PoolManagementApiService List subnets within an IP block
   529  Returns information about all subnets present within an IP address block. Information includes subnet's id, display_name, description, cidr and allocation ranges.
   530  * @param ctx context.Context Authentication Context
   531  @param optional (nil or map[string]interface{}) with one or more of:
   532      @param "blockId" (string)
   533      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
   534      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
   535      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
   536      @param "sortAscending" (bool)
   537      @param "sortBy" (string) Field by which records are sorted
   538  @return manager.IpBlockSubnetListResult*/
   539  func (a *PoolManagementApiService) ListIpBlockSubnets(ctx context.Context, localVarOptionals map[string]interface{}) (manager.IpBlockSubnetListResult, *http.Response, error) {
   540  	var (
   541  		localVarHttpMethod = strings.ToUpper("Get")
   542  		localVarPostBody   interface{}
   543  		localVarFileName   string
   544  		localVarFileBytes  []byte
   545  		successPayload     manager.IpBlockSubnetListResult
   546  	)
   547  
   548  	// create path and map variables
   549  	localVarPath := a.client.cfg.BasePath + "/pools/ip-subnets"
   550  
   551  	localVarHeaderParams := make(map[string]string)
   552  	localVarQueryParams := url.Values{}
   553  	localVarFormParams := url.Values{}
   554  
   555  	if err := typeCheckParameter(localVarOptionals["blockId"], "string", "blockId"); err != nil {
   556  		return successPayload, nil, err
   557  	}
   558  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
   559  		return successPayload, nil, err
   560  	}
   561  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
   562  		return successPayload, nil, err
   563  	}
   564  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
   565  		return successPayload, nil, err
   566  	}
   567  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
   568  		return successPayload, nil, err
   569  	}
   570  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
   571  		return successPayload, nil, err
   572  	}
   573  
   574  	if localVarTempParam, localVarOk := localVarOptionals["blockId"].(string); localVarOk {
   575  		localVarQueryParams.Add("block_id", parameterToString(localVarTempParam, ""))
   576  	}
   577  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
   578  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
   579  	}
   580  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
   581  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
   582  	}
   583  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
   584  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
   585  	}
   586  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
   587  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
   588  	}
   589  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
   590  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
   591  	}
   592  	// to determine the Content-Type header
   593  	localVarHttpContentTypes := []string{"application/json"}
   594  
   595  	// set Content-Type header
   596  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   597  	if localVarHttpContentType != "" {
   598  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   599  	}
   600  
   601  	// to determine the Accept header
   602  	localVarHttpHeaderAccepts := []string{
   603  		"application/json",
   604  	}
   605  
   606  	// set Accept header
   607  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   608  	if localVarHttpHeaderAccept != "" {
   609  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   610  	}
   611  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   612  	if err != nil {
   613  		return successPayload, nil, err
   614  	}
   615  
   616  	localVarHttpResponse, err := a.client.callAPI(r)
   617  	if err != nil || localVarHttpResponse == nil {
   618  		return successPayload, localVarHttpResponse, err
   619  	}
   620  	defer localVarHttpResponse.Body.Close()
   621  	if localVarHttpResponse.StatusCode >= 300 {
   622  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   623  	}
   624  
   625  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   626  		return successPayload, localVarHttpResponse, err
   627  	}
   628  
   629  	return successPayload, localVarHttpResponse, err
   630  }
   631  
   632  /* PoolManagementApiService Returns list of configured IP address blocks.
   633  Returns information about configured IP address blocks. Information includes the id, display name, description & CIDR of IP address blocks
   634  * @param ctx context.Context Authentication Context
   635  @param optional (nil or map[string]interface{}) with one or more of:
   636      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
   637      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
   638      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
   639      @param "sortAscending" (bool)
   640      @param "sortBy" (string) Field by which records are sorted
   641  @return manager.IpBlockListResult*/
   642  func (a *PoolManagementApiService) ListIpBlocks(ctx context.Context, localVarOptionals map[string]interface{}) (manager.IpBlockListResult, *http.Response, error) {
   643  	var (
   644  		localVarHttpMethod = strings.ToUpper("Get")
   645  		localVarPostBody   interface{}
   646  		localVarFileName   string
   647  		localVarFileBytes  []byte
   648  		successPayload     manager.IpBlockListResult
   649  	)
   650  
   651  	// create path and map variables
   652  	localVarPath := a.client.cfg.BasePath + "/pools/ip-blocks"
   653  
   654  	localVarHeaderParams := make(map[string]string)
   655  	localVarQueryParams := url.Values{}
   656  	localVarFormParams := url.Values{}
   657  
   658  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
   659  		return successPayload, nil, err
   660  	}
   661  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
   662  		return successPayload, nil, err
   663  	}
   664  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
   665  		return successPayload, nil, err
   666  	}
   667  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
   668  		return successPayload, nil, err
   669  	}
   670  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
   671  		return successPayload, nil, err
   672  	}
   673  
   674  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
   675  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
   676  	}
   677  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
   678  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
   679  	}
   680  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
   681  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
   682  	}
   683  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
   684  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
   685  	}
   686  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
   687  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
   688  	}
   689  	// to determine the Content-Type header
   690  	localVarHttpContentTypes := []string{"application/json"}
   691  
   692  	// set Content-Type header
   693  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   694  	if localVarHttpContentType != "" {
   695  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   696  	}
   697  
   698  	// to determine the Accept header
   699  	localVarHttpHeaderAccepts := []string{
   700  		"application/json",
   701  	}
   702  
   703  	// set Accept header
   704  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   705  	if localVarHttpHeaderAccept != "" {
   706  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   707  	}
   708  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   709  	if err != nil {
   710  		return successPayload, nil, err
   711  	}
   712  
   713  	localVarHttpResponse, err := a.client.callAPI(r)
   714  	if err != nil || localVarHttpResponse == nil {
   715  		return successPayload, localVarHttpResponse, err
   716  	}
   717  	defer localVarHttpResponse.Body.Close()
   718  	if localVarHttpResponse.StatusCode >= 300 {
   719  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   720  	}
   721  
   722  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   723  		return successPayload, localVarHttpResponse, err
   724  	}
   725  
   726  	return successPayload, localVarHttpResponse, err
   727  }
   728  
   729  /* PoolManagementApiService List IP Pool Allocations
   730  Returns information about which addresses have been allocated from a specified IP address pool.
   731  * @param ctx context.Context Authentication Context
   732  @param poolId IP pool ID
   733  @return manager.AllocationIpAddressListResult*/
   734  func (a *PoolManagementApiService) ListIpPoolAllocations(ctx context.Context, poolId string) (manager.AllocationIpAddressListResult, *http.Response, error) {
   735  	var (
   736  		localVarHttpMethod = strings.ToUpper("Get")
   737  		localVarPostBody   interface{}
   738  		localVarFileName   string
   739  		localVarFileBytes  []byte
   740  		successPayload     manager.AllocationIpAddressListResult
   741  	)
   742  
   743  	// create path and map variables
   744  	localVarPath := a.client.cfg.BasePath + "/pools/ip-pools/{pool-id}/allocations"
   745  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
   746  
   747  	localVarHeaderParams := make(map[string]string)
   748  	localVarQueryParams := url.Values{}
   749  	localVarFormParams := url.Values{}
   750  
   751  	// to determine the Content-Type header
   752  	localVarHttpContentTypes := []string{"application/json"}
   753  
   754  	// set Content-Type header
   755  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   756  	if localVarHttpContentType != "" {
   757  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   758  	}
   759  
   760  	// to determine the Accept header
   761  	localVarHttpHeaderAccepts := []string{
   762  		"application/json",
   763  	}
   764  
   765  	// set Accept header
   766  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   767  	if localVarHttpHeaderAccept != "" {
   768  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   769  	}
   770  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   771  	if err != nil {
   772  		return successPayload, nil, err
   773  	}
   774  
   775  	localVarHttpResponse, err := a.client.callAPI(r)
   776  	if err != nil || localVarHttpResponse == nil {
   777  		return successPayload, localVarHttpResponse, err
   778  	}
   779  	defer localVarHttpResponse.Body.Close()
   780  	if localVarHttpResponse.StatusCode >= 300 {
   781  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   782  	}
   783  
   784  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   785  		return successPayload, localVarHttpResponse, err
   786  	}
   787  
   788  	return successPayload, localVarHttpResponse, err
   789  }
   790  
   791  /* PoolManagementApiService List IP Pools
   792  Returns information about the configured IP address pools. Information includes the display name and description of the pool and the details of each of the subnets in the pool, including the DNS servers, allocation ranges, gateway, and CIDR subnet address.
   793  * @param ctx context.Context Authentication Context
   794  @param optional (nil or map[string]interface{}) with one or more of:
   795      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
   796      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
   797      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
   798      @param "sortAscending" (bool)
   799      @param "sortBy" (string) Field by which records are sorted
   800  @return manager.IpPoolListResult*/
   801  func (a *PoolManagementApiService) ListIpPools(ctx context.Context, localVarOptionals map[string]interface{}) (manager.IpPoolListResult, *http.Response, error) {
   802  	var (
   803  		localVarHttpMethod = strings.ToUpper("Get")
   804  		localVarPostBody   interface{}
   805  		localVarFileName   string
   806  		localVarFileBytes  []byte
   807  		successPayload     manager.IpPoolListResult
   808  	)
   809  
   810  	// create path and map variables
   811  	localVarPath := a.client.cfg.BasePath + "/pools/ip-pools"
   812  
   813  	localVarHeaderParams := make(map[string]string)
   814  	localVarQueryParams := url.Values{}
   815  	localVarFormParams := url.Values{}
   816  
   817  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
   818  		return successPayload, nil, err
   819  	}
   820  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
   821  		return successPayload, nil, err
   822  	}
   823  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
   824  		return successPayload, nil, err
   825  	}
   826  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
   827  		return successPayload, nil, err
   828  	}
   829  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
   830  		return successPayload, nil, err
   831  	}
   832  
   833  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
   834  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
   835  	}
   836  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
   837  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
   838  	}
   839  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
   840  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
   841  	}
   842  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
   843  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
   844  	}
   845  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
   846  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
   847  	}
   848  	// to determine the Content-Type header
   849  	localVarHttpContentTypes := []string{"application/json"}
   850  
   851  	// set Content-Type header
   852  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   853  	if localVarHttpContentType != "" {
   854  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   855  	}
   856  
   857  	// to determine the Accept header
   858  	localVarHttpHeaderAccepts := []string{
   859  		"application/json",
   860  	}
   861  
   862  	// set Accept header
   863  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   864  	if localVarHttpHeaderAccept != "" {
   865  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   866  	}
   867  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   868  	if err != nil {
   869  		return successPayload, nil, err
   870  	}
   871  
   872  	localVarHttpResponse, err := a.client.callAPI(r)
   873  	if err != nil || localVarHttpResponse == nil {
   874  		return successPayload, localVarHttpResponse, err
   875  	}
   876  	defer localVarHttpResponse.Body.Close()
   877  	if localVarHttpResponse.StatusCode >= 300 {
   878  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   879  	}
   880  
   881  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   882  		return successPayload, localVarHttpResponse, err
   883  	}
   884  
   885  	return successPayload, localVarHttpResponse, err
   886  }
   887  
   888  /* PoolManagementApiService List MAC Pools
   889  Returns a list of all the MAC pools
   890  * @param ctx context.Context Authentication Context
   891  @param optional (nil or map[string]interface{}) with one or more of:
   892      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
   893      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
   894      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
   895      @param "sortAscending" (bool)
   896      @param "sortBy" (string) Field by which records are sorted
   897  @return manager.MacPoolListResult*/
   898  func (a *PoolManagementApiService) ListMacPools(ctx context.Context, localVarOptionals map[string]interface{}) (manager.MacPoolListResult, *http.Response, error) {
   899  	var (
   900  		localVarHttpMethod = strings.ToUpper("Get")
   901  		localVarPostBody   interface{}
   902  		localVarFileName   string
   903  		localVarFileBytes  []byte
   904  		successPayload     manager.MacPoolListResult
   905  	)
   906  
   907  	// create path and map variables
   908  	localVarPath := a.client.cfg.BasePath + "/pools/mac-pools"
   909  
   910  	localVarHeaderParams := make(map[string]string)
   911  	localVarQueryParams := url.Values{}
   912  	localVarFormParams := url.Values{}
   913  
   914  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
   915  		return successPayload, nil, err
   916  	}
   917  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
   918  		return successPayload, nil, err
   919  	}
   920  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
   921  		return successPayload, nil, err
   922  	}
   923  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
   924  		return successPayload, nil, err
   925  	}
   926  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
   927  		return successPayload, nil, err
   928  	}
   929  
   930  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
   931  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
   932  	}
   933  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
   934  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
   935  	}
   936  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
   937  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
   938  	}
   939  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
   940  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
   941  	}
   942  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
   943  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
   944  	}
   945  	// to determine the Content-Type header
   946  	localVarHttpContentTypes := []string{"application/json"}
   947  
   948  	// set Content-Type header
   949  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   950  	if localVarHttpContentType != "" {
   951  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   952  	}
   953  
   954  	// to determine the Accept header
   955  	localVarHttpHeaderAccepts := []string{
   956  		"application/json",
   957  	}
   958  
   959  	// set Accept header
   960  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   961  	if localVarHttpHeaderAccept != "" {
   962  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   963  	}
   964  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   965  	if err != nil {
   966  		return successPayload, nil, err
   967  	}
   968  
   969  	localVarHttpResponse, err := a.client.callAPI(r)
   970  	if err != nil || localVarHttpResponse == nil {
   971  		return successPayload, localVarHttpResponse, err
   972  	}
   973  	defer localVarHttpResponse.Body.Close()
   974  	if localVarHttpResponse.StatusCode >= 300 {
   975  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   976  	}
   977  
   978  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   979  		return successPayload, localVarHttpResponse, err
   980  	}
   981  
   982  	return successPayload, localVarHttpResponse, err
   983  }
   984  
   985  /* PoolManagementApiService List VNI Pools
   986  Returns information about the default and configured virtual network identifier (VNI) pools for use when building logical network segments. Each virtual network has a unique ID called a VNI. Instead of creating a new VNI each time you need a new logical switch, you can instead allocate a VNI from a VNI pool. VNI pools are sometimes called segment ID pools. Each VNI pool has a range of usable VNIs. By default, there is one pool with the range 5000 through 65535. To create multiple smaller pools, specify a smaller range for each pool, such as 5000-5200 and 5201-5400. The VNI range determines the maximum number of logical switches that can be created in each network segment.
   987  * @param ctx context.Context Authentication Context
   988  @param optional (nil or map[string]interface{}) with one or more of:
   989      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
   990      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
   991      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
   992      @param "sortAscending" (bool)
   993      @param "sortBy" (string) Field by which records are sorted
   994  @return manager.VniPoolListResult*/
   995  func (a *PoolManagementApiService) ListVNIPools(ctx context.Context, localVarOptionals map[string]interface{}) (manager.VniPoolListResult, *http.Response, error) {
   996  	var (
   997  		localVarHttpMethod = strings.ToUpper("Get")
   998  		localVarPostBody   interface{}
   999  		localVarFileName   string
  1000  		localVarFileBytes  []byte
  1001  		successPayload     manager.VniPoolListResult
  1002  	)
  1003  
  1004  	// create path and map variables
  1005  	localVarPath := a.client.cfg.BasePath + "/pools/vni-pools"
  1006  
  1007  	localVarHeaderParams := make(map[string]string)
  1008  	localVarQueryParams := url.Values{}
  1009  	localVarFormParams := url.Values{}
  1010  
  1011  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  1012  		return successPayload, nil, err
  1013  	}
  1014  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  1015  		return successPayload, nil, err
  1016  	}
  1017  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  1018  		return successPayload, nil, err
  1019  	}
  1020  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  1021  		return successPayload, nil, err
  1022  	}
  1023  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  1024  		return successPayload, nil, err
  1025  	}
  1026  
  1027  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  1028  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  1029  	}
  1030  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  1031  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  1032  	}
  1033  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  1034  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  1035  	}
  1036  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  1037  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  1038  	}
  1039  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  1040  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  1041  	}
  1042  	// to determine the Content-Type header
  1043  	localVarHttpContentTypes := []string{"application/json"}
  1044  
  1045  	// set Content-Type header
  1046  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1047  	if localVarHttpContentType != "" {
  1048  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1049  	}
  1050  
  1051  	// to determine the Accept header
  1052  	localVarHttpHeaderAccepts := []string{
  1053  		"application/json",
  1054  	}
  1055  
  1056  	// set Accept header
  1057  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1058  	if localVarHttpHeaderAccept != "" {
  1059  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1060  	}
  1061  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1062  	if err != nil {
  1063  		return successPayload, nil, err
  1064  	}
  1065  
  1066  	localVarHttpResponse, err := a.client.callAPI(r)
  1067  	if err != nil || localVarHttpResponse == nil {
  1068  		return successPayload, localVarHttpResponse, err
  1069  	}
  1070  	defer localVarHttpResponse.Body.Close()
  1071  	if localVarHttpResponse.StatusCode >= 300 {
  1072  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1073  	}
  1074  
  1075  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1076  		return successPayload, localVarHttpResponse, err
  1077  	}
  1078  
  1079  	return successPayload, localVarHttpResponse, err
  1080  }
  1081  
  1082  /* PoolManagementApiService List virtual tunnel endpoint Label Pools
  1083  Returns a list of all virtual tunnel endpoint label pools
  1084  * @param ctx context.Context Authentication Context
  1085  @param optional (nil or map[string]interface{}) with one or more of:
  1086      @param "cursor" (string) Opaque cursor to be used for getting next page of records (supplied by current result page)
  1087      @param "includedFields" (string) Comma separated list of fields that should be included to result of query
  1088      @param "pageSize" (int64) Maximum number of results to return in this page (server may return fewer)
  1089      @param "sortAscending" (bool)
  1090      @param "sortBy" (string) Field by which records are sorted
  1091  @return manager.VtepLabelPoolListResult*/
  1092  func (a *PoolManagementApiService) ListVtepLabelPools(ctx context.Context, localVarOptionals map[string]interface{}) (manager.VtepLabelPoolListResult, *http.Response, error) {
  1093  	var (
  1094  		localVarHttpMethod = strings.ToUpper("Get")
  1095  		localVarPostBody   interface{}
  1096  		localVarFileName   string
  1097  		localVarFileBytes  []byte
  1098  		successPayload     manager.VtepLabelPoolListResult
  1099  	)
  1100  
  1101  	// create path and map variables
  1102  	localVarPath := a.client.cfg.BasePath + "/pools/vtep-label-pools"
  1103  
  1104  	localVarHeaderParams := make(map[string]string)
  1105  	localVarQueryParams := url.Values{}
  1106  	localVarFormParams := url.Values{}
  1107  
  1108  	if err := typeCheckParameter(localVarOptionals["cursor"], "string", "cursor"); err != nil {
  1109  		return successPayload, nil, err
  1110  	}
  1111  	if err := typeCheckParameter(localVarOptionals["includedFields"], "string", "includedFields"); err != nil {
  1112  		return successPayload, nil, err
  1113  	}
  1114  	if err := typeCheckParameter(localVarOptionals["pageSize"], "int64", "pageSize"); err != nil {
  1115  		return successPayload, nil, err
  1116  	}
  1117  	if err := typeCheckParameter(localVarOptionals["sortAscending"], "bool", "sortAscending"); err != nil {
  1118  		return successPayload, nil, err
  1119  	}
  1120  	if err := typeCheckParameter(localVarOptionals["sortBy"], "string", "sortBy"); err != nil {
  1121  		return successPayload, nil, err
  1122  	}
  1123  
  1124  	if localVarTempParam, localVarOk := localVarOptionals["cursor"].(string); localVarOk {
  1125  		localVarQueryParams.Add("cursor", parameterToString(localVarTempParam, ""))
  1126  	}
  1127  	if localVarTempParam, localVarOk := localVarOptionals["includedFields"].(string); localVarOk {
  1128  		localVarQueryParams.Add("included_fields", parameterToString(localVarTempParam, ""))
  1129  	}
  1130  	if localVarTempParam, localVarOk := localVarOptionals["pageSize"].(int64); localVarOk {
  1131  		localVarQueryParams.Add("page_size", parameterToString(localVarTempParam, ""))
  1132  	}
  1133  	if localVarTempParam, localVarOk := localVarOptionals["sortAscending"].(bool); localVarOk {
  1134  		localVarQueryParams.Add("sort_ascending", parameterToString(localVarTempParam, ""))
  1135  	}
  1136  	if localVarTempParam, localVarOk := localVarOptionals["sortBy"].(string); localVarOk {
  1137  		localVarQueryParams.Add("sort_by", parameterToString(localVarTempParam, ""))
  1138  	}
  1139  	// to determine the Content-Type header
  1140  	localVarHttpContentTypes := []string{"application/json"}
  1141  
  1142  	// set Content-Type header
  1143  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1144  	if localVarHttpContentType != "" {
  1145  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1146  	}
  1147  
  1148  	// to determine the Accept header
  1149  	localVarHttpHeaderAccepts := []string{
  1150  		"application/json",
  1151  	}
  1152  
  1153  	// set Accept header
  1154  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1155  	if localVarHttpHeaderAccept != "" {
  1156  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1157  	}
  1158  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1159  	if err != nil {
  1160  		return successPayload, nil, err
  1161  	}
  1162  
  1163  	localVarHttpResponse, err := a.client.callAPI(r)
  1164  	if err != nil || localVarHttpResponse == nil {
  1165  		return successPayload, localVarHttpResponse, err
  1166  	}
  1167  	defer localVarHttpResponse.Body.Close()
  1168  	if localVarHttpResponse.StatusCode >= 300 {
  1169  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1170  	}
  1171  
  1172  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1173  		return successPayload, localVarHttpResponse, err
  1174  	}
  1175  
  1176  	return successPayload, localVarHttpResponse, err
  1177  }
  1178  
  1179  /* PoolManagementApiService Get IP address block information.
  1180  Returns information about the IP address block with specified id. Information includes id, display_name, description & cidr.
  1181  * @param ctx context.Context Authentication Context
  1182  @param blockId IP address block id
  1183  @return manager.IpBlock*/
  1184  func (a *PoolManagementApiService) ReadIpBlock(ctx context.Context, blockId string) (manager.IpBlock, *http.Response, error) {
  1185  	var (
  1186  		localVarHttpMethod = strings.ToUpper("Get")
  1187  		localVarPostBody   interface{}
  1188  		localVarFileName   string
  1189  		localVarFileBytes  []byte
  1190  		successPayload     manager.IpBlock
  1191  	)
  1192  
  1193  	// create path and map variables
  1194  	localVarPath := a.client.cfg.BasePath + "/pools/ip-blocks/{block-id}"
  1195  	localVarPath = strings.Replace(localVarPath, "{"+"block-id"+"}", fmt.Sprintf("%v", blockId), -1)
  1196  
  1197  	localVarHeaderParams := make(map[string]string)
  1198  	localVarQueryParams := url.Values{}
  1199  	localVarFormParams := url.Values{}
  1200  
  1201  	// to determine the Content-Type header
  1202  	localVarHttpContentTypes := []string{"application/json"}
  1203  
  1204  	// set Content-Type header
  1205  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1206  	if localVarHttpContentType != "" {
  1207  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1208  	}
  1209  
  1210  	// to determine the Accept header
  1211  	localVarHttpHeaderAccepts := []string{
  1212  		"application/json",
  1213  	}
  1214  
  1215  	// set Accept header
  1216  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1217  	if localVarHttpHeaderAccept != "" {
  1218  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1219  	}
  1220  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1221  	if err != nil {
  1222  		return successPayload, nil, err
  1223  	}
  1224  
  1225  	localVarHttpResponse, err := a.client.callAPI(r)
  1226  	if err != nil || localVarHttpResponse == nil {
  1227  		return successPayload, localVarHttpResponse, err
  1228  	}
  1229  	defer localVarHttpResponse.Body.Close()
  1230  	if localVarHttpResponse.StatusCode >= 300 {
  1231  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1232  	}
  1233  
  1234  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1235  		return successPayload, localVarHttpResponse, err
  1236  	}
  1237  
  1238  	return successPayload, localVarHttpResponse, err
  1239  }
  1240  
  1241  /* PoolManagementApiService Get the subnet within an IP block
  1242  Returns information about the subnet with specified id within a given IP address block. Information includes display_name, description, cidr and allocation_ranges.
  1243  * @param ctx context.Context Authentication Context
  1244  @param subnetId Subnet id
  1245  @return manager.IpBlockSubnet*/
  1246  func (a *PoolManagementApiService) ReadIpBlockSubnet(ctx context.Context, subnetId string) (manager.IpBlockSubnet, *http.Response, error) {
  1247  	var (
  1248  		localVarHttpMethod = strings.ToUpper("Get")
  1249  		localVarPostBody   interface{}
  1250  		localVarFileName   string
  1251  		localVarFileBytes  []byte
  1252  		successPayload     manager.IpBlockSubnet
  1253  	)
  1254  
  1255  	// create path and map variables
  1256  	localVarPath := a.client.cfg.BasePath + "/pools/ip-subnets/{subnet-id}"
  1257  	localVarPath = strings.Replace(localVarPath, "{"+"subnet-id"+"}", fmt.Sprintf("%v", subnetId), -1)
  1258  
  1259  	localVarHeaderParams := make(map[string]string)
  1260  	localVarQueryParams := url.Values{}
  1261  	localVarFormParams := url.Values{}
  1262  
  1263  	// to determine the Content-Type header
  1264  	localVarHttpContentTypes := []string{"application/json"}
  1265  
  1266  	// set Content-Type header
  1267  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1268  	if localVarHttpContentType != "" {
  1269  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1270  	}
  1271  
  1272  	// to determine the Accept header
  1273  	localVarHttpHeaderAccepts := []string{
  1274  		"application/json",
  1275  	}
  1276  
  1277  	// set Accept header
  1278  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1279  	if localVarHttpHeaderAccept != "" {
  1280  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1281  	}
  1282  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1283  	if err != nil {
  1284  		return successPayload, nil, err
  1285  	}
  1286  
  1287  	localVarHttpResponse, err := a.client.callAPI(r)
  1288  	if err != nil || localVarHttpResponse == nil {
  1289  		return successPayload, localVarHttpResponse, err
  1290  	}
  1291  	defer localVarHttpResponse.Body.Close()
  1292  	if localVarHttpResponse.StatusCode >= 300 {
  1293  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1294  	}
  1295  
  1296  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1297  		return successPayload, localVarHttpResponse, err
  1298  	}
  1299  
  1300  	return successPayload, localVarHttpResponse, err
  1301  }
  1302  
  1303  /* PoolManagementApiService Read IP Pool
  1304  Returns information about the specified IP address pool.
  1305  * @param ctx context.Context Authentication Context
  1306  @param poolId IP pool ID
  1307  @return manager.IpPool*/
  1308  func (a *PoolManagementApiService) ReadIpPool(ctx context.Context, poolId string) (manager.IpPool, *http.Response, error) {
  1309  	var (
  1310  		localVarHttpMethod = strings.ToUpper("Get")
  1311  		localVarPostBody   interface{}
  1312  		localVarFileName   string
  1313  		localVarFileBytes  []byte
  1314  		successPayload     manager.IpPool
  1315  	)
  1316  
  1317  	// create path and map variables
  1318  	localVarPath := a.client.cfg.BasePath + "/pools/ip-pools/{pool-id}"
  1319  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
  1320  
  1321  	localVarHeaderParams := make(map[string]string)
  1322  	localVarQueryParams := url.Values{}
  1323  	localVarFormParams := url.Values{}
  1324  
  1325  	// to determine the Content-Type header
  1326  	localVarHttpContentTypes := []string{"application/json"}
  1327  
  1328  	// set Content-Type header
  1329  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1330  	if localVarHttpContentType != "" {
  1331  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1332  	}
  1333  
  1334  	// to determine the Accept header
  1335  	localVarHttpHeaderAccepts := []string{
  1336  		"application/json",
  1337  	}
  1338  
  1339  	// set Accept header
  1340  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1341  	if localVarHttpHeaderAccept != "" {
  1342  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1343  	}
  1344  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1345  	if err != nil {
  1346  		return successPayload, nil, err
  1347  	}
  1348  
  1349  	localVarHttpResponse, err := a.client.callAPI(r)
  1350  	if err != nil || localVarHttpResponse == nil {
  1351  		return successPayload, localVarHttpResponse, err
  1352  	}
  1353  	defer localVarHttpResponse.Body.Close()
  1354  	if localVarHttpResponse.StatusCode >= 300 {
  1355  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1356  	}
  1357  
  1358  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1359  		return successPayload, localVarHttpResponse, err
  1360  	}
  1361  
  1362  	return successPayload, localVarHttpResponse, err
  1363  }
  1364  
  1365  /* PoolManagementApiService Read MAC Pool
  1366  Returns information about the specified MAC pool.
  1367  * @param ctx context.Context Authentication Context
  1368  @param poolId MAC pool ID
  1369  @return manager.MacPool*/
  1370  func (a *PoolManagementApiService) ReadMacPool(ctx context.Context, poolId string) (manager.MacPool, *http.Response, error) {
  1371  	var (
  1372  		localVarHttpMethod = strings.ToUpper("Get")
  1373  		localVarPostBody   interface{}
  1374  		localVarFileName   string
  1375  		localVarFileBytes  []byte
  1376  		successPayload     manager.MacPool
  1377  	)
  1378  
  1379  	// create path and map variables
  1380  	localVarPath := a.client.cfg.BasePath + "/pools/mac-pools/{pool-id}"
  1381  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
  1382  
  1383  	localVarHeaderParams := make(map[string]string)
  1384  	localVarQueryParams := url.Values{}
  1385  	localVarFormParams := url.Values{}
  1386  
  1387  	// to determine the Content-Type header
  1388  	localVarHttpContentTypes := []string{"application/json"}
  1389  
  1390  	// set Content-Type header
  1391  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1392  	if localVarHttpContentType != "" {
  1393  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1394  	}
  1395  
  1396  	// to determine the Accept header
  1397  	localVarHttpHeaderAccepts := []string{
  1398  		"application/json",
  1399  	}
  1400  
  1401  	// set Accept header
  1402  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1403  	if localVarHttpHeaderAccept != "" {
  1404  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1405  	}
  1406  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1407  	if err != nil {
  1408  		return successPayload, nil, err
  1409  	}
  1410  
  1411  	localVarHttpResponse, err := a.client.callAPI(r)
  1412  	if err != nil || localVarHttpResponse == nil {
  1413  		return successPayload, localVarHttpResponse, err
  1414  	}
  1415  	defer localVarHttpResponse.Body.Close()
  1416  	if localVarHttpResponse.StatusCode >= 300 {
  1417  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1418  	}
  1419  
  1420  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1421  		return successPayload, localVarHttpResponse, err
  1422  	}
  1423  
  1424  	return successPayload, localVarHttpResponse, err
  1425  }
  1426  
  1427  /* PoolManagementApiService Read VNI Pool
  1428  Returns information about the specified virtual network identifier (VNI) pool.
  1429  * @param ctx context.Context Authentication Context
  1430  @param poolId VNI pool ID
  1431  @return manager.VniPool*/
  1432  func (a *PoolManagementApiService) ReadVNIPool(ctx context.Context, poolId string) (manager.VniPool, *http.Response, error) {
  1433  	var (
  1434  		localVarHttpMethod = strings.ToUpper("Get")
  1435  		localVarPostBody   interface{}
  1436  		localVarFileName   string
  1437  		localVarFileBytes  []byte
  1438  		successPayload     manager.VniPool
  1439  	)
  1440  
  1441  	// create path and map variables
  1442  	localVarPath := a.client.cfg.BasePath + "/pools/vni-pools/{pool-id}"
  1443  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
  1444  
  1445  	localVarHeaderParams := make(map[string]string)
  1446  	localVarQueryParams := url.Values{}
  1447  	localVarFormParams := url.Values{}
  1448  
  1449  	// to determine the Content-Type header
  1450  	localVarHttpContentTypes := []string{"application/json"}
  1451  
  1452  	// set Content-Type header
  1453  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1454  	if localVarHttpContentType != "" {
  1455  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1456  	}
  1457  
  1458  	// to determine the Accept header
  1459  	localVarHttpHeaderAccepts := []string{
  1460  		"application/json",
  1461  	}
  1462  
  1463  	// set Accept header
  1464  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1465  	if localVarHttpHeaderAccept != "" {
  1466  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1467  	}
  1468  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1469  	if err != nil {
  1470  		return successPayload, nil, err
  1471  	}
  1472  
  1473  	localVarHttpResponse, err := a.client.callAPI(r)
  1474  	if err != nil || localVarHttpResponse == nil {
  1475  		return successPayload, localVarHttpResponse, err
  1476  	}
  1477  	defer localVarHttpResponse.Body.Close()
  1478  	if localVarHttpResponse.StatusCode >= 300 {
  1479  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1480  	}
  1481  
  1482  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1483  		return successPayload, localVarHttpResponse, err
  1484  	}
  1485  
  1486  	return successPayload, localVarHttpResponse, err
  1487  }
  1488  
  1489  /* PoolManagementApiService Read a virtual tunnel endpoint label pool
  1490  Returns information about the specified virtual tunnel endpoint label pool.
  1491  * @param ctx context.Context Authentication Context
  1492  @param poolId Virtual tunnel endpoint label pool ID
  1493  @return manager.VtepLabelPool*/
  1494  func (a *PoolManagementApiService) ReadVtepLabelPool(ctx context.Context, poolId string) (manager.VtepLabelPool, *http.Response, error) {
  1495  	var (
  1496  		localVarHttpMethod = strings.ToUpper("Get")
  1497  		localVarPostBody   interface{}
  1498  		localVarFileName   string
  1499  		localVarFileBytes  []byte
  1500  		successPayload     manager.VtepLabelPool
  1501  	)
  1502  
  1503  	// create path and map variables
  1504  	localVarPath := a.client.cfg.BasePath + "/pools/vtep-label-pools/{pool-id}"
  1505  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
  1506  
  1507  	localVarHeaderParams := make(map[string]string)
  1508  	localVarQueryParams := url.Values{}
  1509  	localVarFormParams := url.Values{}
  1510  
  1511  	// to determine the Content-Type header
  1512  	localVarHttpContentTypes := []string{"application/json"}
  1513  
  1514  	// set Content-Type header
  1515  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1516  	if localVarHttpContentType != "" {
  1517  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1518  	}
  1519  
  1520  	// to determine the Accept header
  1521  	localVarHttpHeaderAccepts := []string{
  1522  		"application/json",
  1523  	}
  1524  
  1525  	// set Accept header
  1526  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1527  	if localVarHttpHeaderAccept != "" {
  1528  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1529  	}
  1530  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1531  	if err != nil {
  1532  		return successPayload, nil, err
  1533  	}
  1534  
  1535  	localVarHttpResponse, err := a.client.callAPI(r)
  1536  	if err != nil || localVarHttpResponse == nil {
  1537  		return successPayload, localVarHttpResponse, err
  1538  	}
  1539  	defer localVarHttpResponse.Body.Close()
  1540  	if localVarHttpResponse.StatusCode >= 300 {
  1541  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1542  	}
  1543  
  1544  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1545  		return successPayload, localVarHttpResponse, err
  1546  	}
  1547  
  1548  	return successPayload, localVarHttpResponse, err
  1549  }
  1550  
  1551  /* PoolManagementApiService Update an IP Address Block
  1552  Modifies the IP address block with specifed id. display_name, description and cidr are parameters that can be modified. If a new cidr is specified, it should contain all existing subnets in the IP block. Returns a conflict error if the IP address block cidr can not be modified due to the presence of subnets that it contains. Eg: If the IP block contains a subnet 192.168.0.1/24 and we try to change the IP block cidr to 10.1.0.1/16, it results in a conflict.
  1553  * @param ctx context.Context Authentication Context
  1554  @param blockId IP address block id
  1555  @param ipBlock
  1556  @return manager.IpBlock*/
  1557  func (a *PoolManagementApiService) UpdateIpBlock(ctx context.Context, blockId string, ipBlock manager.IpBlock) (manager.IpBlock, *http.Response, error) {
  1558  	var (
  1559  		localVarHttpMethod = strings.ToUpper("Put")
  1560  		localVarPostBody   interface{}
  1561  		localVarFileName   string
  1562  		localVarFileBytes  []byte
  1563  		successPayload     manager.IpBlock
  1564  	)
  1565  
  1566  	// create path and map variables
  1567  	localVarPath := a.client.cfg.BasePath + "/pools/ip-blocks/{block-id}"
  1568  	localVarPath = strings.Replace(localVarPath, "{"+"block-id"+"}", fmt.Sprintf("%v", blockId), -1)
  1569  
  1570  	localVarHeaderParams := make(map[string]string)
  1571  	localVarQueryParams := url.Values{}
  1572  	localVarFormParams := url.Values{}
  1573  
  1574  	// to determine the Content-Type header
  1575  	localVarHttpContentTypes := []string{"application/json"}
  1576  
  1577  	// set Content-Type header
  1578  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1579  	if localVarHttpContentType != "" {
  1580  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1581  	}
  1582  
  1583  	// to determine the Accept header
  1584  	localVarHttpHeaderAccepts := []string{
  1585  		"application/json",
  1586  	}
  1587  
  1588  	// set Accept header
  1589  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1590  	if localVarHttpHeaderAccept != "" {
  1591  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1592  	}
  1593  	// body params
  1594  	localVarPostBody = &ipBlock
  1595  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1596  	if err != nil {
  1597  		return successPayload, nil, err
  1598  	}
  1599  
  1600  	localVarHttpResponse, err := a.client.callAPI(r)
  1601  	if err != nil || localVarHttpResponse == nil {
  1602  		return successPayload, localVarHttpResponse, err
  1603  	}
  1604  	defer localVarHttpResponse.Body.Close()
  1605  	if localVarHttpResponse.StatusCode >= 300 {
  1606  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1607  	}
  1608  
  1609  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1610  		return successPayload, localVarHttpResponse, err
  1611  	}
  1612  
  1613  	return successPayload, localVarHttpResponse, err
  1614  }
  1615  
  1616  /* PoolManagementApiService Update an IP Pool
  1617  Modifies the specified IP address pool. Modifiable parameters include the description, display_name, and all subnet information.
  1618  * @param ctx context.Context Authentication Context
  1619  @param poolId IP pool ID
  1620  @param ipPool
  1621  @return manager.IpPool*/
  1622  func (a *PoolManagementApiService) UpdateIpPool(ctx context.Context, poolId string, ipPool manager.IpPool) (manager.IpPool, *http.Response, error) {
  1623  	var (
  1624  		localVarHttpMethod = strings.ToUpper("Put")
  1625  		localVarPostBody   interface{}
  1626  		localVarFileName   string
  1627  		localVarFileBytes  []byte
  1628  		successPayload     manager.IpPool
  1629  	)
  1630  
  1631  	// create path and map variables
  1632  	localVarPath := a.client.cfg.BasePath + "/pools/ip-pools/{pool-id}"
  1633  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
  1634  
  1635  	localVarHeaderParams := make(map[string]string)
  1636  	localVarQueryParams := url.Values{}
  1637  	localVarFormParams := url.Values{}
  1638  
  1639  	// to determine the Content-Type header
  1640  	localVarHttpContentTypes := []string{"application/json"}
  1641  
  1642  	// set Content-Type header
  1643  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1644  	if localVarHttpContentType != "" {
  1645  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1646  	}
  1647  
  1648  	// to determine the Accept header
  1649  	localVarHttpHeaderAccepts := []string{
  1650  		"application/json",
  1651  	}
  1652  
  1653  	// set Accept header
  1654  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1655  	if localVarHttpHeaderAccept != "" {
  1656  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1657  	}
  1658  	// body params
  1659  	localVarPostBody = &ipPool
  1660  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1661  	if err != nil {
  1662  		return successPayload, nil, err
  1663  	}
  1664  
  1665  	localVarHttpResponse, err := a.client.callAPI(r)
  1666  	if err != nil || localVarHttpResponse == nil {
  1667  		return successPayload, localVarHttpResponse, err
  1668  	}
  1669  	defer localVarHttpResponse.Body.Close()
  1670  	if localVarHttpResponse.StatusCode >= 300 {
  1671  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1672  	}
  1673  
  1674  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1675  		return successPayload, localVarHttpResponse, err
  1676  	}
  1677  
  1678  	return successPayload, localVarHttpResponse, err
  1679  }
  1680  
  1681  /* PoolManagementApiService Update a VNI Pool
  1682  Updates the specified VNI pool. Modifiable parameters include description, display_name and ranges. Ranges can be added, modified or deleted. Overlapping ranges are not allowed. Only range end can be modified for any existing range. Range shrinking or deletion is not allowed if there are any allocated VNIs.
  1683  * @param ctx context.Context Authentication Context
  1684  @param poolId VNI pool ID
  1685  @param vniPool
  1686  @return manager.VniPool*/
  1687  func (a *PoolManagementApiService) UpdateVNIPool(ctx context.Context, poolId string, vniPool manager.VniPool) (manager.VniPool, *http.Response, error) {
  1688  	var (
  1689  		localVarHttpMethod = strings.ToUpper("Put")
  1690  		localVarPostBody   interface{}
  1691  		localVarFileName   string
  1692  		localVarFileBytes  []byte
  1693  		successPayload     manager.VniPool
  1694  	)
  1695  
  1696  	// create path and map variables
  1697  	localVarPath := a.client.cfg.BasePath + "/pools/vni-pools/{pool-id}"
  1698  	localVarPath = strings.Replace(localVarPath, "{"+"pool-id"+"}", fmt.Sprintf("%v", poolId), -1)
  1699  
  1700  	localVarHeaderParams := make(map[string]string)
  1701  	localVarQueryParams := url.Values{}
  1702  	localVarFormParams := url.Values{}
  1703  
  1704  	// to determine the Content-Type header
  1705  	localVarHttpContentTypes := []string{"application/json"}
  1706  
  1707  	// set Content-Type header
  1708  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1709  	if localVarHttpContentType != "" {
  1710  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1711  	}
  1712  
  1713  	// to determine the Accept header
  1714  	localVarHttpHeaderAccepts := []string{
  1715  		"application/json",
  1716  	}
  1717  
  1718  	// set Accept header
  1719  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1720  	if localVarHttpHeaderAccept != "" {
  1721  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1722  	}
  1723  	// body params
  1724  	localVarPostBody = &vniPool
  1725  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
  1726  	if err != nil {
  1727  		return successPayload, nil, err
  1728  	}
  1729  
  1730  	localVarHttpResponse, err := a.client.callAPI(r)
  1731  	if err != nil || localVarHttpResponse == nil {
  1732  		return successPayload, localVarHttpResponse, err
  1733  	}
  1734  	defer localVarHttpResponse.Body.Close()
  1735  	if localVarHttpResponse.StatusCode >= 300 {
  1736  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
  1737  	}
  1738  
  1739  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
  1740  		return successPayload, localVarHttpResponse, err
  1741  	}
  1742  
  1743  	return successPayload, localVarHttpResponse, err
  1744  }