github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/fake/azurefirewalls_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  	"regexp"
    23  )
    24  
    25  // AzureFirewallsServer is a fake server for instances of the armnetwork.AzureFirewallsClient type.
    26  type AzureFirewallsServer struct {
    27  	// BeginCreateOrUpdate is the fake for method AzureFirewallsClient.BeginCreateOrUpdate
    28  	// HTTP status codes to indicate success: http.StatusOK, http.StatusCreated
    29  	BeginCreateOrUpdate func(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters armnetwork.AzureFirewall, options *armnetwork.AzureFirewallsClientBeginCreateOrUpdateOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientCreateOrUpdateResponse], errResp azfake.ErrorResponder)
    30  
    31  	// BeginDelete is the fake for method AzureFirewallsClient.BeginDelete
    32  	// HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted, http.StatusNoContent
    33  	BeginDelete func(ctx context.Context, resourceGroupName string, azureFirewallName string, options *armnetwork.AzureFirewallsClientBeginDeleteOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientDeleteResponse], errResp azfake.ErrorResponder)
    34  
    35  	// Get is the fake for method AzureFirewallsClient.Get
    36  	// HTTP status codes to indicate success: http.StatusOK
    37  	Get func(ctx context.Context, resourceGroupName string, azureFirewallName string, options *armnetwork.AzureFirewallsClientGetOptions) (resp azfake.Responder[armnetwork.AzureFirewallsClientGetResponse], errResp azfake.ErrorResponder)
    38  
    39  	// NewListPager is the fake for method AzureFirewallsClient.NewListPager
    40  	// HTTP status codes to indicate success: http.StatusOK
    41  	NewListPager func(resourceGroupName string, options *armnetwork.AzureFirewallsClientListOptions) (resp azfake.PagerResponder[armnetwork.AzureFirewallsClientListResponse])
    42  
    43  	// NewListAllPager is the fake for method AzureFirewallsClient.NewListAllPager
    44  	// HTTP status codes to indicate success: http.StatusOK
    45  	NewListAllPager func(options *armnetwork.AzureFirewallsClientListAllOptions) (resp azfake.PagerResponder[armnetwork.AzureFirewallsClientListAllResponse])
    46  
    47  	// BeginListLearnedPrefixes is the fake for method AzureFirewallsClient.BeginListLearnedPrefixes
    48  	// HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted
    49  	BeginListLearnedPrefixes func(ctx context.Context, resourceGroupName string, azureFirewallName string, options *armnetwork.AzureFirewallsClientBeginListLearnedPrefixesOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientListLearnedPrefixesResponse], errResp azfake.ErrorResponder)
    50  
    51  	// BeginPacketCapture is the fake for method AzureFirewallsClient.BeginPacketCapture
    52  	// HTTP status codes to indicate success: http.StatusAccepted
    53  	BeginPacketCapture func(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters armnetwork.FirewallPacketCaptureParameters, options *armnetwork.AzureFirewallsClientBeginPacketCaptureOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientPacketCaptureResponse], errResp azfake.ErrorResponder)
    54  
    55  	// BeginUpdateTags is the fake for method AzureFirewallsClient.BeginUpdateTags
    56  	// HTTP status codes to indicate success: http.StatusOK, http.StatusAccepted
    57  	BeginUpdateTags func(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters armnetwork.TagsObject, options *armnetwork.AzureFirewallsClientBeginUpdateTagsOptions) (resp azfake.PollerResponder[armnetwork.AzureFirewallsClientUpdateTagsResponse], errResp azfake.ErrorResponder)
    58  }
    59  
    60  // NewAzureFirewallsServerTransport creates a new instance of AzureFirewallsServerTransport with the provided implementation.
    61  // The returned AzureFirewallsServerTransport instance is connected to an instance of armnetwork.AzureFirewallsClient via the
    62  // azcore.ClientOptions.Transporter field in the client's constructor parameters.
    63  func NewAzureFirewallsServerTransport(srv *AzureFirewallsServer) *AzureFirewallsServerTransport {
    64  	return &AzureFirewallsServerTransport{
    65  		srv:                      srv,
    66  		beginCreateOrUpdate:      newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientCreateOrUpdateResponse]](),
    67  		beginDelete:              newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientDeleteResponse]](),
    68  		newListPager:             newTracker[azfake.PagerResponder[armnetwork.AzureFirewallsClientListResponse]](),
    69  		newListAllPager:          newTracker[azfake.PagerResponder[armnetwork.AzureFirewallsClientListAllResponse]](),
    70  		beginListLearnedPrefixes: newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientListLearnedPrefixesResponse]](),
    71  		beginPacketCapture:       newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientPacketCaptureResponse]](),
    72  		beginUpdateTags:          newTracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientUpdateTagsResponse]](),
    73  	}
    74  }
    75  
    76  // AzureFirewallsServerTransport connects instances of armnetwork.AzureFirewallsClient to instances of AzureFirewallsServer.
    77  // Don't use this type directly, use NewAzureFirewallsServerTransport instead.
    78  type AzureFirewallsServerTransport struct {
    79  	srv                      *AzureFirewallsServer
    80  	beginCreateOrUpdate      *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientCreateOrUpdateResponse]]
    81  	beginDelete              *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientDeleteResponse]]
    82  	newListPager             *tracker[azfake.PagerResponder[armnetwork.AzureFirewallsClientListResponse]]
    83  	newListAllPager          *tracker[azfake.PagerResponder[armnetwork.AzureFirewallsClientListAllResponse]]
    84  	beginListLearnedPrefixes *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientListLearnedPrefixesResponse]]
    85  	beginPacketCapture       *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientPacketCaptureResponse]]
    86  	beginUpdateTags          *tracker[azfake.PollerResponder[armnetwork.AzureFirewallsClientUpdateTagsResponse]]
    87  }
    88  
    89  // Do implements the policy.Transporter interface for AzureFirewallsServerTransport.
    90  func (a *AzureFirewallsServerTransport) Do(req *http.Request) (*http.Response, error) {
    91  	rawMethod := req.Context().Value(runtime.CtxAPINameKey{})
    92  	method, ok := rawMethod.(string)
    93  	if !ok {
    94  		return nil, nonRetriableError{errors.New("unable to dispatch request, missing value for CtxAPINameKey")}
    95  	}
    96  
    97  	var resp *http.Response
    98  	var err error
    99  
   100  	switch method {
   101  	case "AzureFirewallsClient.BeginCreateOrUpdate":
   102  		resp, err = a.dispatchBeginCreateOrUpdate(req)
   103  	case "AzureFirewallsClient.BeginDelete":
   104  		resp, err = a.dispatchBeginDelete(req)
   105  	case "AzureFirewallsClient.Get":
   106  		resp, err = a.dispatchGet(req)
   107  	case "AzureFirewallsClient.NewListPager":
   108  		resp, err = a.dispatchNewListPager(req)
   109  	case "AzureFirewallsClient.NewListAllPager":
   110  		resp, err = a.dispatchNewListAllPager(req)
   111  	case "AzureFirewallsClient.BeginListLearnedPrefixes":
   112  		resp, err = a.dispatchBeginListLearnedPrefixes(req)
   113  	case "AzureFirewallsClient.BeginPacketCapture":
   114  		resp, err = a.dispatchBeginPacketCapture(req)
   115  	case "AzureFirewallsClient.BeginUpdateTags":
   116  		resp, err = a.dispatchBeginUpdateTags(req)
   117  	default:
   118  		err = fmt.Errorf("unhandled API %s", method)
   119  	}
   120  
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  
   125  	return resp, nil
   126  }
   127  
   128  func (a *AzureFirewallsServerTransport) dispatchBeginCreateOrUpdate(req *http.Request) (*http.Response, error) {
   129  	if a.srv.BeginCreateOrUpdate == nil {
   130  		return nil, &nonRetriableError{errors.New("fake for method BeginCreateOrUpdate not implemented")}
   131  	}
   132  	beginCreateOrUpdate := a.beginCreateOrUpdate.get(req)
   133  	if beginCreateOrUpdate == nil {
   134  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)`
   135  		regex := regexp.MustCompile(regexStr)
   136  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   137  		if matches == nil || len(matches) < 3 {
   138  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   139  		}
   140  		body, err := server.UnmarshalRequestAsJSON[armnetwork.AzureFirewall](req)
   141  		if err != nil {
   142  			return nil, err
   143  		}
   144  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   145  		if err != nil {
   146  			return nil, err
   147  		}
   148  		azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")])
   149  		if err != nil {
   150  			return nil, err
   151  		}
   152  		respr, errRespr := a.srv.BeginCreateOrUpdate(req.Context(), resourceGroupNameParam, azureFirewallNameParam, body, nil)
   153  		if respErr := server.GetError(errRespr, req); respErr != nil {
   154  			return nil, respErr
   155  		}
   156  		beginCreateOrUpdate = &respr
   157  		a.beginCreateOrUpdate.add(req, beginCreateOrUpdate)
   158  	}
   159  
   160  	resp, err := server.PollerResponderNext(beginCreateOrUpdate, req)
   161  	if err != nil {
   162  		return nil, err
   163  	}
   164  
   165  	if !contains([]int{http.StatusOK, http.StatusCreated}, resp.StatusCode) {
   166  		a.beginCreateOrUpdate.remove(req)
   167  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusCreated", resp.StatusCode)}
   168  	}
   169  	if !server.PollerResponderMore(beginCreateOrUpdate) {
   170  		a.beginCreateOrUpdate.remove(req)
   171  	}
   172  
   173  	return resp, nil
   174  }
   175  
   176  func (a *AzureFirewallsServerTransport) dispatchBeginDelete(req *http.Request) (*http.Response, error) {
   177  	if a.srv.BeginDelete == nil {
   178  		return nil, &nonRetriableError{errors.New("fake for method BeginDelete not implemented")}
   179  	}
   180  	beginDelete := a.beginDelete.get(req)
   181  	if beginDelete == nil {
   182  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)`
   183  		regex := regexp.MustCompile(regexStr)
   184  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   185  		if matches == nil || len(matches) < 3 {
   186  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   187  		}
   188  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   189  		if err != nil {
   190  			return nil, err
   191  		}
   192  		azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")])
   193  		if err != nil {
   194  			return nil, err
   195  		}
   196  		respr, errRespr := a.srv.BeginDelete(req.Context(), resourceGroupNameParam, azureFirewallNameParam, nil)
   197  		if respErr := server.GetError(errRespr, req); respErr != nil {
   198  			return nil, respErr
   199  		}
   200  		beginDelete = &respr
   201  		a.beginDelete.add(req, beginDelete)
   202  	}
   203  
   204  	resp, err := server.PollerResponderNext(beginDelete, req)
   205  	if err != nil {
   206  		return nil, err
   207  	}
   208  
   209  	if !contains([]int{http.StatusOK, http.StatusAccepted, http.StatusNoContent}, resp.StatusCode) {
   210  		a.beginDelete.remove(req)
   211  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted, http.StatusNoContent", resp.StatusCode)}
   212  	}
   213  	if !server.PollerResponderMore(beginDelete) {
   214  		a.beginDelete.remove(req)
   215  	}
   216  
   217  	return resp, nil
   218  }
   219  
   220  func (a *AzureFirewallsServerTransport) dispatchGet(req *http.Request) (*http.Response, error) {
   221  	if a.srv.Get == nil {
   222  		return nil, &nonRetriableError{errors.New("fake for method Get not implemented")}
   223  	}
   224  	const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)`
   225  	regex := regexp.MustCompile(regexStr)
   226  	matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   227  	if matches == nil || len(matches) < 3 {
   228  		return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   229  	}
   230  	resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   231  	if err != nil {
   232  		return nil, err
   233  	}
   234  	azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")])
   235  	if err != nil {
   236  		return nil, err
   237  	}
   238  	respr, errRespr := a.srv.Get(req.Context(), resourceGroupNameParam, azureFirewallNameParam, nil)
   239  	if respErr := server.GetError(errRespr, req); respErr != nil {
   240  		return nil, respErr
   241  	}
   242  	respContent := server.GetResponseContent(respr)
   243  	if !contains([]int{http.StatusOK}, respContent.HTTPStatus) {
   244  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", respContent.HTTPStatus)}
   245  	}
   246  	resp, err := server.MarshalResponseAsJSON(respContent, server.GetResponse(respr).AzureFirewall, req)
   247  	if err != nil {
   248  		return nil, err
   249  	}
   250  	return resp, nil
   251  }
   252  
   253  func (a *AzureFirewallsServerTransport) dispatchNewListPager(req *http.Request) (*http.Response, error) {
   254  	if a.srv.NewListPager == nil {
   255  		return nil, &nonRetriableError{errors.New("fake for method NewListPager not implemented")}
   256  	}
   257  	newListPager := a.newListPager.get(req)
   258  	if newListPager == nil {
   259  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls`
   260  		regex := regexp.MustCompile(regexStr)
   261  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   262  		if matches == nil || len(matches) < 2 {
   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  		resp := a.srv.NewListPager(resourceGroupNameParam, nil)
   270  		newListPager = &resp
   271  		a.newListPager.add(req, newListPager)
   272  		server.PagerResponderInjectNextLinks(newListPager, req, func(page *armnetwork.AzureFirewallsClientListResponse, createLink func() string) {
   273  			page.NextLink = to.Ptr(createLink())
   274  		})
   275  	}
   276  	resp, err := server.PagerResponderNext(newListPager, req)
   277  	if err != nil {
   278  		return nil, err
   279  	}
   280  	if !contains([]int{http.StatusOK}, resp.StatusCode) {
   281  		a.newListPager.remove(req)
   282  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)}
   283  	}
   284  	if !server.PagerResponderMore(newListPager) {
   285  		a.newListPager.remove(req)
   286  	}
   287  	return resp, nil
   288  }
   289  
   290  func (a *AzureFirewallsServerTransport) dispatchNewListAllPager(req *http.Request) (*http.Response, error) {
   291  	if a.srv.NewListAllPager == nil {
   292  		return nil, &nonRetriableError{errors.New("fake for method NewListAllPager not implemented")}
   293  	}
   294  	newListAllPager := a.newListAllPager.get(req)
   295  	if newListAllPager == nil {
   296  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls`
   297  		regex := regexp.MustCompile(regexStr)
   298  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   299  		if matches == nil || len(matches) < 1 {
   300  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   301  		}
   302  		resp := a.srv.NewListAllPager(nil)
   303  		newListAllPager = &resp
   304  		a.newListAllPager.add(req, newListAllPager)
   305  		server.PagerResponderInjectNextLinks(newListAllPager, req, func(page *armnetwork.AzureFirewallsClientListAllResponse, createLink func() string) {
   306  			page.NextLink = to.Ptr(createLink())
   307  		})
   308  	}
   309  	resp, err := server.PagerResponderNext(newListAllPager, req)
   310  	if err != nil {
   311  		return nil, err
   312  	}
   313  	if !contains([]int{http.StatusOK}, resp.StatusCode) {
   314  		a.newListAllPager.remove(req)
   315  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK", resp.StatusCode)}
   316  	}
   317  	if !server.PagerResponderMore(newListAllPager) {
   318  		a.newListAllPager.remove(req)
   319  	}
   320  	return resp, nil
   321  }
   322  
   323  func (a *AzureFirewallsServerTransport) dispatchBeginListLearnedPrefixes(req *http.Request) (*http.Response, error) {
   324  	if a.srv.BeginListLearnedPrefixes == nil {
   325  		return nil, &nonRetriableError{errors.New("fake for method BeginListLearnedPrefixes not implemented")}
   326  	}
   327  	beginListLearnedPrefixes := a.beginListLearnedPrefixes.get(req)
   328  	if beginListLearnedPrefixes == nil {
   329  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/learnedIPPrefixes`
   330  		regex := regexp.MustCompile(regexStr)
   331  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   332  		if matches == nil || len(matches) < 3 {
   333  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   334  		}
   335  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   336  		if err != nil {
   337  			return nil, err
   338  		}
   339  		azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")])
   340  		if err != nil {
   341  			return nil, err
   342  		}
   343  		respr, errRespr := a.srv.BeginListLearnedPrefixes(req.Context(), resourceGroupNameParam, azureFirewallNameParam, nil)
   344  		if respErr := server.GetError(errRespr, req); respErr != nil {
   345  			return nil, respErr
   346  		}
   347  		beginListLearnedPrefixes = &respr
   348  		a.beginListLearnedPrefixes.add(req, beginListLearnedPrefixes)
   349  	}
   350  
   351  	resp, err := server.PollerResponderNext(beginListLearnedPrefixes, req)
   352  	if err != nil {
   353  		return nil, err
   354  	}
   355  
   356  	if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) {
   357  		a.beginListLearnedPrefixes.remove(req)
   358  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)}
   359  	}
   360  	if !server.PollerResponderMore(beginListLearnedPrefixes) {
   361  		a.beginListLearnedPrefixes.remove(req)
   362  	}
   363  
   364  	return resp, nil
   365  }
   366  
   367  func (a *AzureFirewallsServerTransport) dispatchBeginPacketCapture(req *http.Request) (*http.Response, error) {
   368  	if a.srv.BeginPacketCapture == nil {
   369  		return nil, &nonRetriableError{errors.New("fake for method BeginPacketCapture not implemented")}
   370  	}
   371  	beginPacketCapture := a.beginPacketCapture.get(req)
   372  	if beginPacketCapture == nil {
   373  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/packetCapture`
   374  		regex := regexp.MustCompile(regexStr)
   375  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   376  		if matches == nil || len(matches) < 3 {
   377  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   378  		}
   379  		body, err := server.UnmarshalRequestAsJSON[armnetwork.FirewallPacketCaptureParameters](req)
   380  		if err != nil {
   381  			return nil, err
   382  		}
   383  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   384  		if err != nil {
   385  			return nil, err
   386  		}
   387  		azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")])
   388  		if err != nil {
   389  			return nil, err
   390  		}
   391  		respr, errRespr := a.srv.BeginPacketCapture(req.Context(), resourceGroupNameParam, azureFirewallNameParam, body, nil)
   392  		if respErr := server.GetError(errRespr, req); respErr != nil {
   393  			return nil, respErr
   394  		}
   395  		beginPacketCapture = &respr
   396  		a.beginPacketCapture.add(req, beginPacketCapture)
   397  	}
   398  
   399  	resp, err := server.PollerResponderNext(beginPacketCapture, req)
   400  	if err != nil {
   401  		return nil, err
   402  	}
   403  
   404  	if !contains([]int{http.StatusAccepted}, resp.StatusCode) {
   405  		a.beginPacketCapture.remove(req)
   406  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusAccepted", resp.StatusCode)}
   407  	}
   408  	if !server.PollerResponderMore(beginPacketCapture) {
   409  		a.beginPacketCapture.remove(req)
   410  	}
   411  
   412  	return resp, nil
   413  }
   414  
   415  func (a *AzureFirewallsServerTransport) dispatchBeginUpdateTags(req *http.Request) (*http.Response, error) {
   416  	if a.srv.BeginUpdateTags == nil {
   417  		return nil, &nonRetriableError{errors.New("fake for method BeginUpdateTags not implemented")}
   418  	}
   419  	beginUpdateTags := a.beginUpdateTags.get(req)
   420  	if beginUpdateTags == nil {
   421  		const regexStr = `/subscriptions/(?P<subscriptionId>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/resourceGroups/(?P<resourceGroupName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)/providers/Microsoft\.Network/azureFirewalls/(?P<azureFirewallName>[!#&$-;=?-\[\]_a-zA-Z0-9~%@]+)`
   422  		regex := regexp.MustCompile(regexStr)
   423  		matches := regex.FindStringSubmatch(req.URL.EscapedPath())
   424  		if matches == nil || len(matches) < 3 {
   425  			return nil, fmt.Errorf("failed to parse path %s", req.URL.Path)
   426  		}
   427  		body, err := server.UnmarshalRequestAsJSON[armnetwork.TagsObject](req)
   428  		if err != nil {
   429  			return nil, err
   430  		}
   431  		resourceGroupNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("resourceGroupName")])
   432  		if err != nil {
   433  			return nil, err
   434  		}
   435  		azureFirewallNameParam, err := url.PathUnescape(matches[regex.SubexpIndex("azureFirewallName")])
   436  		if err != nil {
   437  			return nil, err
   438  		}
   439  		respr, errRespr := a.srv.BeginUpdateTags(req.Context(), resourceGroupNameParam, azureFirewallNameParam, body, nil)
   440  		if respErr := server.GetError(errRespr, req); respErr != nil {
   441  			return nil, respErr
   442  		}
   443  		beginUpdateTags = &respr
   444  		a.beginUpdateTags.add(req, beginUpdateTags)
   445  	}
   446  
   447  	resp, err := server.PollerResponderNext(beginUpdateTags, req)
   448  	if err != nil {
   449  		return nil, err
   450  	}
   451  
   452  	if !contains([]int{http.StatusOK, http.StatusAccepted}, resp.StatusCode) {
   453  		a.beginUpdateTags.remove(req)
   454  		return nil, &nonRetriableError{fmt.Errorf("unexpected status code %d. acceptable values are http.StatusOK, http.StatusAccepted", resp.StatusCode)}
   455  	}
   456  	if !server.PollerResponderMore(beginUpdateTags) {
   457  		a.beginUpdateTags.remove(req)
   458  	}
   459  
   460  	return resp, nil
   461  }