github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/fake/ipampools_server.go (about)

     1  //go:build go1.18
     2  // +build go1.18
     3  
     4  // Copyright (c) Microsoft Corporation. All rights reserved.
     5  // Licensed under the MIT License. See License.txt in the project root for license information.
     6  // Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
     7  // Changes may cause incorrect behavior and will be lost if the code is regenerated.
     8  
     9  package fake
    10  
    11  import (
    12  	"context"
    13  	"errors"
    14  	"fmt"
    15  	azfake "github.com/Azure/azure-sdk-for-go/sdk/azcore/fake"
    16  	"github.com/Azure/azure-sdk-for-go/sdk/azcore/fake/server"
    17  	"github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
    18  	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
    19  	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
    20  	"net/http"
    21  	"net/url"
    22  	"reflect"
    23  	"regexp"
    24  	"strconv"
    25  )
    26  
    27  // IpamPoolsServer is a fake server for instances of the armnetwork.IpamPoolsClient type.
    28  type IpamPoolsServer struct {
    29  	// BeginCreate is the fake for method IpamPoolsClient.BeginCreate
    30  	// HTTP status codes to indicate success: http.StatusOK, http.StatusCreated
    31  	BeginCreate func(ctx context.Context, resourceGroupName string, networkManagerName string, poolName string, body armnetwork.IpamPool, options *armnetwork.IpamPoolsClientBeginCreateOptions) (resp azfake.PollerResponder[armnetwork.IpamPoolsClientCreateResponse], errResp azfake.ErrorResponder)
    32  
    33  	// BeginDelete is the fake for method IpamPoolsClient.BeginDelete
    34  	// HTTP status codes to indicate success: http.StatusAccepted, http.StatusNoContent
    35  	BeginDelete func(ctx context.Context, resourceGroupName string, networkManagerName string, poolName string, options *armnetwork.IpamPoolsClientBeginDeleteOptions) (resp azfake.PollerResponder[armnetwork.IpamPoolsClientDeleteResponse], errResp azfake.ErrorResponder)
    36  
    37  	// Get is the fake for method IpamPoolsClient.Get
    38  	// HTTP status codes to indicate success: http.StatusOK
    39  	Get func(ctx context.Context, resourceGroupName string, networkManagerName string, poolName string, options *armnetwork.IpamPoolsClientGetOptions) (resp azfake.Responder[armnetwork.IpamPoolsClientGetResponse], errResp azfake.ErrorResponder)
    40  
    41  	// GetPoolUsage is the fake for method IpamPoolsClient.GetPoolUsage
    42  	// HTTP status codes to indicate success: http.StatusOK
    43  	GetPoolUsage func(ctx context.Context, resourceGroupName string, networkManagerName string, poolName string, options *armnetwork.IpamPoolsClientGetPoolUsageOptions) (resp azfake.Responder[armnetwork.IpamPoolsClientGetPoolUsageResponse], errResp azfake.ErrorResponder)
    44  
    45  	// NewListPager is the fake for method IpamPoolsClient.NewListPager
    46  	// HTTP status codes to indicate success: http.StatusOK
    47  	NewListPager func(resourceGroupName string, networkManagerName string, options *armnetwork.IpamPoolsClientListOptions) (resp azfake.PagerResponder[armnetwork.IpamPoolsClientListResponse])
    48  
    49  	// NewListAssociatedResourcesPager is the fake for method IpamPoolsClient.NewListAssociatedResourcesPager
    50  	// HTTP status codes to indicate success: http.StatusOK
    51  	NewListAssociatedResourcesPager func(resourceGroupName string, networkManagerName string, poolName string, options *armnetwork.IpamPoolsClientListAssociatedResourcesOptions) (resp azfake.PagerResponder[armnetwork.IpamPoolsClientListAssociatedResourcesResponse])
    52  
    53  	// Update is the fake for method IpamPoolsClient.Update
    54  	// HTTP status codes to indicate success: http.StatusOK
    55  	Update func(ctx context.Context, resourceGroupName string, networkManagerName string, poolName string, options *armnetwork.IpamPoolsClientUpdateOptions) (resp azfake.Responder[armnetwork.IpamPoolsClientUpdateResponse], errResp azfake.ErrorResponder)
    56  }
    57  
    58  // NewIpamPoolsServerTransport creates a new instance of IpamPoolsServerTransport with the provided implementation.
    59  // The returned IpamPoolsServerTransport instance is connected to an instance of armnetwork.IpamPoolsClient via the
    60  // azcore.ClientOptions.Transporter field in the client's constructor parameters.
    61  func NewIpamPoolsServerTransport(srv *IpamPoolsServer) *IpamPoolsServerTransport {
    62  	return &IpamPoolsServerTransport{
    63  		srv:                             srv,
    64  		beginCreate:                     newTracker[azfake.PollerResponder[armnetwork.IpamPoolsClientCreateResponse]](),
    65  		beginDelete:                     newTracker[azfake.PollerResponder[armnetwork.IpamPoolsClientDeleteResponse]](),
    66  		newListPager:                    newTracker[azfake.PagerResponder[armnetwork.IpamPoolsClientListResponse]](),
    67  		newListAssociatedResourcesPager: newTracker[azfake.PagerResponder[armnetwork.IpamPoolsClientListAssociatedResourcesResponse]](),
    68  	}
    69  }
    70  
    71  // IpamPoolsServerTransport connects instances of armnetwork.IpamPoolsClient to instances of IpamPoolsServer.
    72  // Don't use this type directly, use NewIpamPoolsServerTransport instead.
    73  type IpamPoolsServerTransport struct {
    74  	srv                             *IpamPoolsServer
    75  	beginCreate                     *tracker[azfake.PollerResponder[armnetwork.IpamPoolsClientCreateResponse]]
    76  	beginDelete                     *tracker[azfake.PollerResponder[armnetwork.IpamPoolsClientDeleteResponse]]
    77  	newListPager                    *tracker[azfake.PagerResponder[armnetwork.IpamPoolsClientListResponse]]
    78  	newListAssociatedResourcesPager *tracker[azfake.PagerResponder[armnetwork.IpamPoolsClientListAssociatedResourcesResponse]]
    79  }
    80  
    81  // Do implements the policy.Transporter interface for IpamPoolsServerTransport.
    82  func (i *IpamPoolsServerTransport) Do(req *http.Request) (*http.Response, error) {
    83  	rawMethod := req.Context().Value(runtime.CtxAPINameKey{})
    84  	method, ok := rawMethod.(string)
    85  	if !ok {
    86  		return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")}
    87  	}
    88  
    89  	var resp *http.Response
    90  	var err error
    91  
    92  	switch method {
    93  	case "IpamPoolsClient.BeginCreate":
    94  		resp, err = i.dispatchBeginCreate(req)
    95  	case "IpamPoolsClient.BeginDelete":
    96  		resp, err = i.dispatchBeginDelete(req)
    97  	case "IpamPoolsClient.Get":
    98  		resp, err = i.dispatchGet(req)
    99  	case "IpamPoolsClient.GetPoolUsage":
   100  		resp, err = i.dispatchGetPoolUsage(req)
   101  	case "IpamPoolsClient.NewListPager":
   102  		resp, err = i.dispatchNewListPager(req)
   103  	case "IpamPoolsClient.NewListAssociatedResourcesPager":
   104  		resp, err = i.dispatchNewListAssociatedResourcesPager(req)
   105  	case "IpamPoolsClient.Update":
   106  		resp, err = i.dispatchUpdate(req)
   107  	default:
   108  		err = fmt.Errorf("unhandled API %s", method)
   109  	}
   110  
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  
   115  	return resp, nil
   116  }
   117  
   118  func (i *IpamPoolsServerTransport) dispatchBeginCreate(req *http.Request) (*http.Response, error) {
   119  	if i.srv.BeginCreate == nil {
   120  		return nil, &nonRetriableError{errors.New("fake for method BeginCreate not implemented")}
   121  	}
   122  	beginCreate := i.beginCreate.get(req)
   123  	if beginCreate == nil {
   124  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkManagers/(?P<networkManagerName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipamPools/(?P<poolName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)`
   125  		regex := regexp.MustCompile(regexStr)
   126  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   127  		if matches == nil || len(matches) < 4 {
   128  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   129  		}
   130  		body, err := server.UnmarshalRequestAsJSON[armnetwork.IpamPool](req)
   131  		if err != nil {
   132  			return nil, err
   133  		}
   134  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   135  		if err != nil {
   136  			return nil, err
   137  		}
   138  		networkManagerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkManagerName")])
   139  		if err != nil {
   140  			return nil, err
   141  		}
   142  		poolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("poolName")])
   143  		if err != nil {
   144  			return nil, err
   145  		}
   146  		respr, errRespr := i.srv.BeginCreate(req.Context(), resourceGroupNameParam, networkManagerNameParam, poolNameParam, body, nil)
   147  		if respErr := server.GetError(errRespr, req); respErr != nil {
   148  			return nil, respErr
   149  		}
   150  		beginCreate = &respr
   151  		i.beginCreate.add(req, beginCreate)
   152  	}
   153  
   154  	resp, err := server.PollerResponderNext(beginCreate, req)
   155  	if err != nil {
   156  		return nil, err
   157  	}
   158  
   159  	if !contains([]int{http.StatusOK, http.StatusCreated}, resp.StatusCode) {
   160  		i.beginCreate.remove(req)
   161  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", resp.StatusCode)}
   162  	}
   163  	if !server.PollerResponderMore(beginCreate) {
   164  		i.beginCreate.remove(req)
   165  	}
   166  
   167  	return resp, nil
   168  }
   169  
   170  func (i *IpamPoolsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) {
   171  	if i.srv.BeginDelete == nil {
   172  		return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")}
   173  	}
   174  	beginDelete := i.beginDelete.get(req)
   175  	if beginDelete == nil {
   176  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkManagers/(?P<networkManagerName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipamPools/(?P<poolName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)`
   177  		regex := regexp.MustCompile(regexStr)
   178  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   179  		if matches == nil || len(matches) < 4 {
   180  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   181  		}
   182  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   183  		if err != nil {
   184  			return nil, err
   185  		}
   186  		networkManagerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkManagerName")])
   187  		if err != nil {
   188  			return nil, err
   189  		}
   190  		poolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("poolName")])
   191  		if err != nil {
   192  			return nil, err
   193  		}
   194  		respr, errRespr := i.srv.BeginDelete(req.Context(), resourceGroupNameParam, networkManagerNameParam, poolNameParam, nil)
   195  		if respErr := server.GetError(errRespr, req); respErr != nil {
   196  			return nil, respErr
   197  		}
   198  		beginDelete = &respr
   199  		i.beginDelete.add(req, beginDelete)
   200  	}
   201  
   202  	resp, err := server.PollerResponderNext(beginDelete, req)
   203  	if err != nil {
   204  		return nil, err
   205  	}
   206  
   207  	if !contains([]int{http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) {
   208  		i.beginDelete.remove(req)
   209  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusAccepted, http.StatusNoContent", resp.StatusCode)}
   210  	}
   211  	if !server.PollerResponderMore(beginDelete) {
   212  		i.beginDelete.remove(req)
   213  	}
   214  
   215  	return resp, nil
   216  }
   217  
   218  func (i *IpamPoolsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) {
   219  	if i.srv.Get == nil {
   220  		return nil, &nonRetriableError{errors.New("fake for method Get not implemented")}
   221  	}
   222  	const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkManagers/(?P<networkManagerName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipamPools/(?P<poolName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)`
   223  	regex := regexp.MustCompile(regexStr)
   224  	matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   225  	if matches == nil || len(matches) < 4 {
   226  		return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   227  	}
   228  	resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   229  	if err != nil {
   230  		return nil, err
   231  	}
   232  	networkManagerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkManagerName")])
   233  	if err != nil {
   234  		return nil, err
   235  	}
   236  	poolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("poolName")])
   237  	if err != nil {
   238  		return nil, err
   239  	}
   240  	respr, errRespr := i.srv.Get(req.Context(), resourceGroupNameParam, networkManagerNameParam, poolNameParam, nil)
   241  	if respErr := server.GetError(errRespr, req); respErr != nil {
   242  		return nil, respErr
   243  	}
   244  	respContent := server.GetResponseContent(respr)
   245  	if !contains([]int{http.StatusOK}, respContent.HTTPStatus) {
   246  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)}
   247  	}
   248  	resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).IpamPool, req)
   249  	if err != nil {
   250  		return nil, err
   251  	}
   252  	return resp, nil
   253  }
   254  
   255  func (i *IpamPoolsServerTransport) dispatchGetPoolUsage(req *http.Request) (*http.Response, error) {
   256  	if i.srv.GetPoolUsage == nil {
   257  		return nil, &nonRetriableError{errors.New("fake for method GetPoolUsage not implemented")}
   258  	}
   259  	const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkManagers/(?P<networkManagerName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipamPools/(?P<poolName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/getPoolUsage`
   260  	regex := regexp.MustCompile(regexStr)
   261  	matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   262  	if matches == nil || len(matches) < 4 {
   263  		return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   264  	}
   265  	resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   266  	if err != nil {
   267  		return nil, err
   268  	}
   269  	networkManagerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkManagerName")])
   270  	if err != nil {
   271  		return nil, err
   272  	}
   273  	poolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("poolName")])
   274  	if err != nil {
   275  		return nil, err
   276  	}
   277  	respr, errRespr := i.srv.GetPoolUsage(req.Context(), resourceGroupNameParam, networkManagerNameParam, poolNameParam, nil)
   278  	if respErr := server.GetError(errRespr, req); respErr != nil {
   279  		return nil, respErr
   280  	}
   281  	respContent := server.GetResponseContent(respr)
   282  	if !contains([]int{http.StatusOK}, respContent.HTTPStatus) {
   283  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)}
   284  	}
   285  	resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).PoolUsage, req)
   286  	if err != nil {
   287  		return nil, err
   288  	}
   289  	return resp, nil
   290  }
   291  
   292  func (i *IpamPoolsServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) {
   293  	if i.srv.NewListPager == nil {
   294  		return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")}
   295  	}
   296  	newListPager := i.newListPager.get(req)
   297  	if newListPager == nil {
   298  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkManagers/(?P<networkManagerName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipamPools`
   299  		regex := regexp.MustCompile(regexStr)
   300  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   301  		if matches == nil || len(matches) < 3 {
   302  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   303  		}
   304  		qp := req.URL.Query()
   305  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   306  		if err != nil {
   307  			return nil, err
   308  		}
   309  		networkManagerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkManagerName")])
   310  		if err != nil {
   311  			return nil, err
   312  		}
   313  		skipTokenUnescaped, err := url.QueryUnescape(qp.Get("skipToken"))
   314  		if err != nil {
   315  			return nil, err
   316  		}
   317  		skipTokenParam := getOptional(skipTokenUnescaped)
   318  		skipUnescaped, err := url.QueryUnescape(qp.Get("skip"))
   319  		if err != nil {
   320  			return nil, err
   321  		}
   322  		skipParam, err := parseOptional(skipUnescaped, func(v string) (int32, error) {
   323  			p, parseErr := strconv.ParseInt(v, 10, 32)
   324  			if parseErr != nil {
   325  				return 0, parseErr
   326  			}
   327  			return int32(p), nil
   328  		})
   329  		if err != nil {
   330  			return nil, err
   331  		}
   332  		topUnescaped, err := url.QueryUnescape(qp.Get("top"))
   333  		if err != nil {
   334  			return nil, err
   335  		}
   336  		topParam, err := parseOptional(topUnescaped, func(v string) (int32, error) {
   337  			p, parseErr := strconv.ParseInt(v, 10, 32)
   338  			if parseErr != nil {
   339  				return 0, parseErr
   340  			}
   341  			return int32(p), nil
   342  		})
   343  		if err != nil {
   344  			return nil, err
   345  		}
   346  		sortKeyUnescaped, err := url.QueryUnescape(qp.Get("sortKey"))
   347  		if err != nil {
   348  			return nil, err
   349  		}
   350  		sortKeyParam := getOptional(sortKeyUnescaped)
   351  		sortValueUnescaped, err := url.QueryUnescape(qp.Get("sortValue"))
   352  		if err != nil {
   353  			return nil, err
   354  		}
   355  		sortValueParam := getOptional(sortValueUnescaped)
   356  		var options *armnetwork.IpamPoolsClientListOptions
   357  		if skipTokenParam != nil || skipParam != nil || topParam != nil || sortKeyParam != nil || sortValueParam != nil {
   358  			options = &armnetwork.IpamPoolsClientListOptions{
   359  				SkipToken: skipTokenParam,
   360  				Skip:      skipParam,
   361  				Top:       topParam,
   362  				SortKey:   sortKeyParam,
   363  				SortValue: sortValueParam,
   364  			}
   365  		}
   366  		resp := i.srv.NewListPager(resourceGroupNameParam, networkManagerNameParam, options)
   367  		newListPager = &resp
   368  		i.newListPager.add(req, newListPager)
   369  		server.PagerResponderInjectNextLinks(newListPager, req, func(page *armnetwork.IpamPoolsClientListResponse, createLink func() string) {
   370  			page.NextLink = to.Ptr(createLink())
   371  		})
   372  	}
   373  	resp, err := server.PagerResponderNext(newListPager, req)
   374  	if err != nil {
   375  		return nil, err
   376  	}
   377  	if !contains([]int{http.StatusOK}, resp.StatusCode) {
   378  		i.newListPager.remove(req)
   379  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)}
   380  	}
   381  	if !server.PagerResponderMore(newListPager) {
   382  		i.newListPager.remove(req)
   383  	}
   384  	return resp, nil
   385  }
   386  
   387  func (i *IpamPoolsServerTransport) dispatchNewListAssociatedResourcesPager(req *http.Request) (*http.Response, error) {
   388  	if i.srv.NewListAssociatedResourcesPager == nil {
   389  		return nil, &nonRetriableError{errors.New("fake for method NewListAssociatedResourcesPager not implemented")}
   390  	}
   391  	newListAssociatedResourcesPager := i.newListAssociatedResourcesPager.get(req)
   392  	if newListAssociatedResourcesPager == nil {
   393  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkManagers/(?P<networkManagerName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipamPools/(?P<poolName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/listAssociatedResources`
   394  		regex := regexp.MustCompile(regexStr)
   395  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   396  		if matches == nil || len(matches) < 4 {
   397  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   398  		}
   399  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   400  		if err != nil {
   401  			return nil, err
   402  		}
   403  		networkManagerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkManagerName")])
   404  		if err != nil {
   405  			return nil, err
   406  		}
   407  		poolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("poolName")])
   408  		if err != nil {
   409  			return nil, err
   410  		}
   411  		resp := i.srv.NewListAssociatedResourcesPager(resourceGroupNameParam, networkManagerNameParam, poolNameParam, nil)
   412  		newListAssociatedResourcesPager = &resp
   413  		i.newListAssociatedResourcesPager.add(req, newListAssociatedResourcesPager)
   414  		server.PagerResponderInjectNextLinks(newListAssociatedResourcesPager, req, func(page *armnetwork.IpamPoolsClientListAssociatedResourcesResponse, createLink func() string) {
   415  			page.NextLink = to.Ptr(createLink())
   416  		})
   417  	}
   418  	resp, err := server.PagerResponderNext(newListAssociatedResourcesPager, req)
   419  	if err != nil {
   420  		return nil, err
   421  	}
   422  	if !contains([]int{http.StatusOK}, resp.StatusCode) {
   423  		i.newListAssociatedResourcesPager.remove(req)
   424  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)}
   425  	}
   426  	if !server.PagerResponderMore(newListAssociatedResourcesPager) {
   427  		i.newListAssociatedResourcesPager.remove(req)
   428  	}
   429  	return resp, nil
   430  }
   431  
   432  func (i *IpamPoolsServerTransport) dispatchUpdate(req *http.Request) (*http.Response, error) {
   433  	if i.srv.Update == nil {
   434  		return nil, &nonRetriableError{errors.New("fake for method Update not implemented")}
   435  	}
   436  	const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/networkManagers/(?P<networkManagerName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/ipamPools/(?P<poolName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)`
   437  	regex := regexp.MustCompile(regexStr)
   438  	matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   439  	if matches == nil || len(matches) < 4 {
   440  		return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   441  	}
   442  	body, err := server.UnmarshalRequestAsJSON[armnetwork.IpamPoolUpdate](req)
   443  	if err != nil {
   444  		return nil, err
   445  	}
   446  	resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   447  	if err != nil {
   448  		return nil, err
   449  	}
   450  	networkManagerNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("networkManagerName")])
   451  	if err != nil {
   452  		return nil, err
   453  	}
   454  	poolNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("poolName")])
   455  	if err != nil {
   456  		return nil, err
   457  	}
   458  	var options *armnetwork.IpamPoolsClientUpdateOptions
   459  	if !reflect.ValueOf(body).IsZero() {
   460  		options = &armnetwork.IpamPoolsClientUpdateOptions{
   461  			Body: &body,
   462  		}
   463  	}
   464  	respr, errRespr := i.srv.Update(req.Context(), resourceGroupNameParam, networkManagerNameParam, poolNameParam, options)
   465  	if respErr := server.GetError(errRespr, req); respErr != nil {
   466  		return nil, respErr
   467  	}
   468  	respContent := server.GetResponseContent(respr)
   469  	if !contains([]int{http.StatusOK}, respContent.HTTPStatus) {
   470  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)}
   471  	}
   472  	resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).IpamPool, req)
   473  	if err != nil {
   474  		return nil, err
   475  	}
   476  	return resp, nil
   477  }