1package web
2
3// Copyright (c) Microsoft Corporation. All rights reserved.
4// Licensed under the MIT License. See License.txt in the project root for license information.
5//
6// Code generated by Microsoft (R) AutoRest Code Generator.
7// Changes may cause incorrect behavior and will be lost if the code is regenerated.
8
9import (
10	"context"
11	"github.com/Azure/go-autorest/autorest"
12	"github.com/Azure/go-autorest/autorest/azure"
13	"github.com/Azure/go-autorest/autorest/validation"
14	"github.com/Azure/go-autorest/tracing"
15	"net/http"
16)
17
18// StaticSitesClient is the webSite Management Client
19type StaticSitesClient struct {
20	BaseClient
21}
22
23// NewStaticSitesClient creates an instance of the StaticSitesClient client.
24func NewStaticSitesClient(subscriptionID string) StaticSitesClient {
25	return NewStaticSitesClientWithBaseURI(DefaultBaseURI, subscriptionID)
26}
27
28// NewStaticSitesClientWithBaseURI creates an instance of the StaticSitesClient client using a custom endpoint.  Use
29// this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
30func NewStaticSitesClientWithBaseURI(baseURI string, subscriptionID string) StaticSitesClient {
31	return StaticSitesClient{NewWithBaseURI(baseURI, subscriptionID)}
32}
33
34// CreateOrUpdateStaticSite description for Creates a new static site in an existing resource group, or updates an
35// existing static site.
36// Parameters:
37// resourceGroupName - name of the resource group to which the resource belongs.
38// name - name of the static site to create or update.
39// staticSiteEnvelope - a JSON representation of the staticsite properties. See example.
40func (client StaticSitesClient) CreateOrUpdateStaticSite(ctx context.Context, resourceGroupName string, name string, staticSiteEnvelope StaticSiteARMResource) (result StaticSiteARMResource, err error) {
41	if tracing.IsEnabled() {
42		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.CreateOrUpdateStaticSite")
43		defer func() {
44			sc := -1
45			if result.Response.Response != nil {
46				sc = result.Response.Response.StatusCode
47			}
48			tracing.EndSpan(ctx, sc, err)
49		}()
50	}
51	if err := validation.Validate([]validation.Validation{
52		{TargetValue: resourceGroupName,
53			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
54				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
55				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
56		return result, validation.NewError("web.StaticSitesClient", "CreateOrUpdateStaticSite", err.Error())
57	}
58
59	req, err := client.CreateOrUpdateStaticSitePreparer(ctx, resourceGroupName, name, staticSiteEnvelope)
60	if err != nil {
61		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSite", nil, "Failure preparing request")
62		return
63	}
64
65	resp, err := client.CreateOrUpdateStaticSiteSender(req)
66	if err != nil {
67		result.Response = autorest.Response{Response: resp}
68		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSite", resp, "Failure sending request")
69		return
70	}
71
72	result, err = client.CreateOrUpdateStaticSiteResponder(resp)
73	if err != nil {
74		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSite", resp, "Failure responding to request")
75		return
76	}
77
78	return
79}
80
81// CreateOrUpdateStaticSitePreparer prepares the CreateOrUpdateStaticSite request.
82func (client StaticSitesClient) CreateOrUpdateStaticSitePreparer(ctx context.Context, resourceGroupName string, name string, staticSiteEnvelope StaticSiteARMResource) (*http.Request, error) {
83	pathParameters := map[string]interface{}{
84		"name":              autorest.Encode("path", name),
85		"resourceGroupName": autorest.Encode("path", resourceGroupName),
86		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
87	}
88
89	const APIVersion = "2019-08-01"
90	queryParameters := map[string]interface{}{
91		"api-version": APIVersion,
92	}
93
94	preparer := autorest.CreatePreparer(
95		autorest.AsContentType("application/json; charset=utf-8"),
96		autorest.AsPut(),
97		autorest.WithBaseURL(client.BaseURI),
98		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", pathParameters),
99		autorest.WithJSON(staticSiteEnvelope),
100		autorest.WithQueryParameters(queryParameters))
101	return preparer.Prepare((&http.Request{}).WithContext(ctx))
102}
103
104// CreateOrUpdateStaticSiteSender sends the CreateOrUpdateStaticSite request. The method will close the
105// http.Response Body if it receives an error.
106func (client StaticSitesClient) CreateOrUpdateStaticSiteSender(req *http.Request) (*http.Response, error) {
107	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
108}
109
110// CreateOrUpdateStaticSiteResponder handles the response to the CreateOrUpdateStaticSite request. The method always
111// closes the http.Response Body.
112func (client StaticSitesClient) CreateOrUpdateStaticSiteResponder(resp *http.Response) (result StaticSiteARMResource, err error) {
113	err = autorest.Respond(
114		resp,
115		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
116		autorest.ByUnmarshallingJSON(&result),
117		autorest.ByClosing())
118	result.Response = autorest.Response{Response: resp}
119	return
120}
121
122// CreateOrUpdateStaticSiteBuildFunctionAppSettings description for Creates or updates the function app settings of a
123// static site build.
124// Parameters:
125// resourceGroupName - name of the resource group to which the resource belongs.
126// name - name of the static site.
127// prID - the stage site identifier.
128func (client StaticSitesClient) CreateOrUpdateStaticSiteBuildFunctionAppSettings(ctx context.Context, resourceGroupName string, name string, prID string, appSettings StringDictionary) (result StringDictionary, err error) {
129	if tracing.IsEnabled() {
130		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.CreateOrUpdateStaticSiteBuildFunctionAppSettings")
131		defer func() {
132			sc := -1
133			if result.Response.Response != nil {
134				sc = result.Response.Response.StatusCode
135			}
136			tracing.EndSpan(ctx, sc, err)
137		}()
138	}
139	if err := validation.Validate([]validation.Validation{
140		{TargetValue: resourceGroupName,
141			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
142				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
143				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
144		return result, validation.NewError("web.StaticSitesClient", "CreateOrUpdateStaticSiteBuildFunctionAppSettings", err.Error())
145	}
146
147	req, err := client.CreateOrUpdateStaticSiteBuildFunctionAppSettingsPreparer(ctx, resourceGroupName, name, prID, appSettings)
148	if err != nil {
149		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteBuildFunctionAppSettings", nil, "Failure preparing request")
150		return
151	}
152
153	resp, err := client.CreateOrUpdateStaticSiteBuildFunctionAppSettingsSender(req)
154	if err != nil {
155		result.Response = autorest.Response{Response: resp}
156		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteBuildFunctionAppSettings", resp, "Failure sending request")
157		return
158	}
159
160	result, err = client.CreateOrUpdateStaticSiteBuildFunctionAppSettingsResponder(resp)
161	if err != nil {
162		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteBuildFunctionAppSettings", resp, "Failure responding to request")
163		return
164	}
165
166	return
167}
168
169// CreateOrUpdateStaticSiteBuildFunctionAppSettingsPreparer prepares the CreateOrUpdateStaticSiteBuildFunctionAppSettings request.
170func (client StaticSitesClient) CreateOrUpdateStaticSiteBuildFunctionAppSettingsPreparer(ctx context.Context, resourceGroupName string, name string, prID string, appSettings StringDictionary) (*http.Request, error) {
171	pathParameters := map[string]interface{}{
172		"name":              autorest.Encode("path", name),
173		"prId":              autorest.Encode("path", prID),
174		"resourceGroupName": autorest.Encode("path", resourceGroupName),
175		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
176	}
177
178	const APIVersion = "2019-08-01"
179	queryParameters := map[string]interface{}{
180		"api-version": APIVersion,
181	}
182
183	preparer := autorest.CreatePreparer(
184		autorest.AsContentType("application/json; charset=utf-8"),
185		autorest.AsPut(),
186		autorest.WithBaseURL(client.BaseURI),
187		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}/config/functionappsettings", pathParameters),
188		autorest.WithJSON(appSettings),
189		autorest.WithQueryParameters(queryParameters))
190	return preparer.Prepare((&http.Request{}).WithContext(ctx))
191}
192
193// CreateOrUpdateStaticSiteBuildFunctionAppSettingsSender sends the CreateOrUpdateStaticSiteBuildFunctionAppSettings request. The method will close the
194// http.Response Body if it receives an error.
195func (client StaticSitesClient) CreateOrUpdateStaticSiteBuildFunctionAppSettingsSender(req *http.Request) (*http.Response, error) {
196	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
197}
198
199// CreateOrUpdateStaticSiteBuildFunctionAppSettingsResponder handles the response to the CreateOrUpdateStaticSiteBuildFunctionAppSettings request. The method always
200// closes the http.Response Body.
201func (client StaticSitesClient) CreateOrUpdateStaticSiteBuildFunctionAppSettingsResponder(resp *http.Response) (result StringDictionary, err error) {
202	err = autorest.Respond(
203		resp,
204		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
205		autorest.ByUnmarshallingJSON(&result),
206		autorest.ByClosing())
207	result.Response = autorest.Response{Response: resp}
208	return
209}
210
211// CreateOrUpdateStaticSiteCustomDomain description for Creates a new static site custom domain in an existing resource
212// group and static site.
213// Parameters:
214// resourceGroupName - name of the resource group to which the resource belongs.
215// name - name of the static site.
216// domainName - the custom domain to create.
217func (client StaticSitesClient) CreateOrUpdateStaticSiteCustomDomain(ctx context.Context, resourceGroupName string, name string, domainName string) (result StaticSiteCustomDomainOverviewARMResource, err error) {
218	if tracing.IsEnabled() {
219		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.CreateOrUpdateStaticSiteCustomDomain")
220		defer func() {
221			sc := -1
222			if result.Response.Response != nil {
223				sc = result.Response.Response.StatusCode
224			}
225			tracing.EndSpan(ctx, sc, err)
226		}()
227	}
228	if err := validation.Validate([]validation.Validation{
229		{TargetValue: resourceGroupName,
230			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
231				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
232				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
233		return result, validation.NewError("web.StaticSitesClient", "CreateOrUpdateStaticSiteCustomDomain", err.Error())
234	}
235
236	req, err := client.CreateOrUpdateStaticSiteCustomDomainPreparer(ctx, resourceGroupName, name, domainName)
237	if err != nil {
238		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteCustomDomain", nil, "Failure preparing request")
239		return
240	}
241
242	resp, err := client.CreateOrUpdateStaticSiteCustomDomainSender(req)
243	if err != nil {
244		result.Response = autorest.Response{Response: resp}
245		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteCustomDomain", resp, "Failure sending request")
246		return
247	}
248
249	result, err = client.CreateOrUpdateStaticSiteCustomDomainResponder(resp)
250	if err != nil {
251		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteCustomDomain", resp, "Failure responding to request")
252		return
253	}
254
255	return
256}
257
258// CreateOrUpdateStaticSiteCustomDomainPreparer prepares the CreateOrUpdateStaticSiteCustomDomain request.
259func (client StaticSitesClient) CreateOrUpdateStaticSiteCustomDomainPreparer(ctx context.Context, resourceGroupName string, name string, domainName string) (*http.Request, error) {
260	pathParameters := map[string]interface{}{
261		"domainName":        autorest.Encode("path", domainName),
262		"name":              autorest.Encode("path", name),
263		"resourceGroupName": autorest.Encode("path", resourceGroupName),
264		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
265	}
266
267	const APIVersion = "2019-08-01"
268	queryParameters := map[string]interface{}{
269		"api-version": APIVersion,
270	}
271
272	preparer := autorest.CreatePreparer(
273		autorest.AsPut(),
274		autorest.WithBaseURL(client.BaseURI),
275		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}", pathParameters),
276		autorest.WithQueryParameters(queryParameters))
277	return preparer.Prepare((&http.Request{}).WithContext(ctx))
278}
279
280// CreateOrUpdateStaticSiteCustomDomainSender sends the CreateOrUpdateStaticSiteCustomDomain request. The method will close the
281// http.Response Body if it receives an error.
282func (client StaticSitesClient) CreateOrUpdateStaticSiteCustomDomainSender(req *http.Request) (*http.Response, error) {
283	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
284}
285
286// CreateOrUpdateStaticSiteCustomDomainResponder handles the response to the CreateOrUpdateStaticSiteCustomDomain request. The method always
287// closes the http.Response Body.
288func (client StaticSitesClient) CreateOrUpdateStaticSiteCustomDomainResponder(resp *http.Response) (result StaticSiteCustomDomainOverviewARMResource, err error) {
289	err = autorest.Respond(
290		resp,
291		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
292		autorest.ByUnmarshallingJSON(&result),
293		autorest.ByClosing())
294	result.Response = autorest.Response{Response: resp}
295	return
296}
297
298// CreateOrUpdateStaticSiteFunctionAppSettings description for Creates or updates the function app settings of a static
299// site.
300// Parameters:
301// resourceGroupName - name of the resource group to which the resource belongs.
302// name - name of the static site.
303func (client StaticSitesClient) CreateOrUpdateStaticSiteFunctionAppSettings(ctx context.Context, resourceGroupName string, name string, appSettings StringDictionary) (result StringDictionary, err error) {
304	if tracing.IsEnabled() {
305		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.CreateOrUpdateStaticSiteFunctionAppSettings")
306		defer func() {
307			sc := -1
308			if result.Response.Response != nil {
309				sc = result.Response.Response.StatusCode
310			}
311			tracing.EndSpan(ctx, sc, err)
312		}()
313	}
314	if err := validation.Validate([]validation.Validation{
315		{TargetValue: resourceGroupName,
316			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
317				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
318				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
319		return result, validation.NewError("web.StaticSitesClient", "CreateOrUpdateStaticSiteFunctionAppSettings", err.Error())
320	}
321
322	req, err := client.CreateOrUpdateStaticSiteFunctionAppSettingsPreparer(ctx, resourceGroupName, name, appSettings)
323	if err != nil {
324		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteFunctionAppSettings", nil, "Failure preparing request")
325		return
326	}
327
328	resp, err := client.CreateOrUpdateStaticSiteFunctionAppSettingsSender(req)
329	if err != nil {
330		result.Response = autorest.Response{Response: resp}
331		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteFunctionAppSettings", resp, "Failure sending request")
332		return
333	}
334
335	result, err = client.CreateOrUpdateStaticSiteFunctionAppSettingsResponder(resp)
336	if err != nil {
337		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateOrUpdateStaticSiteFunctionAppSettings", resp, "Failure responding to request")
338		return
339	}
340
341	return
342}
343
344// CreateOrUpdateStaticSiteFunctionAppSettingsPreparer prepares the CreateOrUpdateStaticSiteFunctionAppSettings request.
345func (client StaticSitesClient) CreateOrUpdateStaticSiteFunctionAppSettingsPreparer(ctx context.Context, resourceGroupName string, name string, appSettings StringDictionary) (*http.Request, error) {
346	pathParameters := map[string]interface{}{
347		"name":              autorest.Encode("path", name),
348		"resourceGroupName": autorest.Encode("path", resourceGroupName),
349		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
350	}
351
352	const APIVersion = "2019-08-01"
353	queryParameters := map[string]interface{}{
354		"api-version": APIVersion,
355	}
356
357	preparer := autorest.CreatePreparer(
358		autorest.AsContentType("application/json; charset=utf-8"),
359		autorest.AsPut(),
360		autorest.WithBaseURL(client.BaseURI),
361		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/config/functionappsettings", pathParameters),
362		autorest.WithJSON(appSettings),
363		autorest.WithQueryParameters(queryParameters))
364	return preparer.Prepare((&http.Request{}).WithContext(ctx))
365}
366
367// CreateOrUpdateStaticSiteFunctionAppSettingsSender sends the CreateOrUpdateStaticSiteFunctionAppSettings request. The method will close the
368// http.Response Body if it receives an error.
369func (client StaticSitesClient) CreateOrUpdateStaticSiteFunctionAppSettingsSender(req *http.Request) (*http.Response, error) {
370	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
371}
372
373// CreateOrUpdateStaticSiteFunctionAppSettingsResponder handles the response to the CreateOrUpdateStaticSiteFunctionAppSettings request. The method always
374// closes the http.Response Body.
375func (client StaticSitesClient) CreateOrUpdateStaticSiteFunctionAppSettingsResponder(resp *http.Response) (result StringDictionary, err error) {
376	err = autorest.Respond(
377		resp,
378		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
379		autorest.ByUnmarshallingJSON(&result),
380		autorest.ByClosing())
381	result.Response = autorest.Response{Response: resp}
382	return
383}
384
385// CreateUserRolesInvitationLink description for Creates an invitation link for a user with the role
386// Parameters:
387// resourceGroupName - name of the resource group to which the resource belongs.
388// name - name of the static site.
389func (client StaticSitesClient) CreateUserRolesInvitationLink(ctx context.Context, resourceGroupName string, name string, staticSiteUserRolesInvitationEnvelope StaticSiteUserInvitationRequestResource) (result StaticSiteUserInvitationResponseResource, err error) {
390	if tracing.IsEnabled() {
391		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.CreateUserRolesInvitationLink")
392		defer func() {
393			sc := -1
394			if result.Response.Response != nil {
395				sc = result.Response.Response.StatusCode
396			}
397			tracing.EndSpan(ctx, sc, err)
398		}()
399	}
400	if err := validation.Validate([]validation.Validation{
401		{TargetValue: resourceGroupName,
402			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
403				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
404				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
405		return result, validation.NewError("web.StaticSitesClient", "CreateUserRolesInvitationLink", err.Error())
406	}
407
408	req, err := client.CreateUserRolesInvitationLinkPreparer(ctx, resourceGroupName, name, staticSiteUserRolesInvitationEnvelope)
409	if err != nil {
410		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateUserRolesInvitationLink", nil, "Failure preparing request")
411		return
412	}
413
414	resp, err := client.CreateUserRolesInvitationLinkSender(req)
415	if err != nil {
416		result.Response = autorest.Response{Response: resp}
417		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateUserRolesInvitationLink", resp, "Failure sending request")
418		return
419	}
420
421	result, err = client.CreateUserRolesInvitationLinkResponder(resp)
422	if err != nil {
423		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "CreateUserRolesInvitationLink", resp, "Failure responding to request")
424		return
425	}
426
427	return
428}
429
430// CreateUserRolesInvitationLinkPreparer prepares the CreateUserRolesInvitationLink request.
431func (client StaticSitesClient) CreateUserRolesInvitationLinkPreparer(ctx context.Context, resourceGroupName string, name string, staticSiteUserRolesInvitationEnvelope StaticSiteUserInvitationRequestResource) (*http.Request, error) {
432	pathParameters := map[string]interface{}{
433		"name":              autorest.Encode("path", name),
434		"resourceGroupName": autorest.Encode("path", resourceGroupName),
435		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
436	}
437
438	const APIVersion = "2019-08-01"
439	queryParameters := map[string]interface{}{
440		"api-version": APIVersion,
441	}
442
443	preparer := autorest.CreatePreparer(
444		autorest.AsContentType("application/json; charset=utf-8"),
445		autorest.AsPost(),
446		autorest.WithBaseURL(client.BaseURI),
447		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/createUserInvitation", pathParameters),
448		autorest.WithJSON(staticSiteUserRolesInvitationEnvelope),
449		autorest.WithQueryParameters(queryParameters))
450	return preparer.Prepare((&http.Request{}).WithContext(ctx))
451}
452
453// CreateUserRolesInvitationLinkSender sends the CreateUserRolesInvitationLink request. The method will close the
454// http.Response Body if it receives an error.
455func (client StaticSitesClient) CreateUserRolesInvitationLinkSender(req *http.Request) (*http.Response, error) {
456	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
457}
458
459// CreateUserRolesInvitationLinkResponder handles the response to the CreateUserRolesInvitationLink request. The method always
460// closes the http.Response Body.
461func (client StaticSitesClient) CreateUserRolesInvitationLinkResponder(resp *http.Response) (result StaticSiteUserInvitationResponseResource, err error) {
462	err = autorest.Respond(
463		resp,
464		azure.WithErrorUnlessStatusCode(http.StatusOK),
465		autorest.ByUnmarshallingJSON(&result),
466		autorest.ByClosing())
467	result.Response = autorest.Response{Response: resp}
468	return
469}
470
471// DeleteStaticSite description for Deletes a static site.
472// Parameters:
473// resourceGroupName - name of the resource group to which the resource belongs.
474// name - name of the static site to delete.
475func (client StaticSitesClient) DeleteStaticSite(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) {
476	if tracing.IsEnabled() {
477		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.DeleteStaticSite")
478		defer func() {
479			sc := -1
480			if result.Response != nil {
481				sc = result.Response.StatusCode
482			}
483			tracing.EndSpan(ctx, sc, err)
484		}()
485	}
486	if err := validation.Validate([]validation.Validation{
487		{TargetValue: resourceGroupName,
488			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
489				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
490				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
491		return result, validation.NewError("web.StaticSitesClient", "DeleteStaticSite", err.Error())
492	}
493
494	req, err := client.DeleteStaticSitePreparer(ctx, resourceGroupName, name)
495	if err != nil {
496		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSite", nil, "Failure preparing request")
497		return
498	}
499
500	resp, err := client.DeleteStaticSiteSender(req)
501	if err != nil {
502		result.Response = resp
503		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSite", resp, "Failure sending request")
504		return
505	}
506
507	result, err = client.DeleteStaticSiteResponder(resp)
508	if err != nil {
509		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSite", resp, "Failure responding to request")
510		return
511	}
512
513	return
514}
515
516// DeleteStaticSitePreparer prepares the DeleteStaticSite request.
517func (client StaticSitesClient) DeleteStaticSitePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
518	pathParameters := map[string]interface{}{
519		"name":              autorest.Encode("path", name),
520		"resourceGroupName": autorest.Encode("path", resourceGroupName),
521		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
522	}
523
524	const APIVersion = "2019-08-01"
525	queryParameters := map[string]interface{}{
526		"api-version": APIVersion,
527	}
528
529	preparer := autorest.CreatePreparer(
530		autorest.AsDelete(),
531		autorest.WithBaseURL(client.BaseURI),
532		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", pathParameters),
533		autorest.WithQueryParameters(queryParameters))
534	return preparer.Prepare((&http.Request{}).WithContext(ctx))
535}
536
537// DeleteStaticSiteSender sends the DeleteStaticSite request. The method will close the
538// http.Response Body if it receives an error.
539func (client StaticSitesClient) DeleteStaticSiteSender(req *http.Request) (*http.Response, error) {
540	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
541}
542
543// DeleteStaticSiteResponder handles the response to the DeleteStaticSite request. The method always
544// closes the http.Response Body.
545func (client StaticSitesClient) DeleteStaticSiteResponder(resp *http.Response) (result autorest.Response, err error) {
546	err = autorest.Respond(
547		resp,
548		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
549		autorest.ByClosing())
550	result.Response = resp
551	return
552}
553
554// DeleteStaticSiteBuild description for Deletes a static site build.
555// Parameters:
556// resourceGroupName - name of the resource group to which the resource belongs.
557// name - name of the static site.
558// prID - the stage site identifier.
559func (client StaticSitesClient) DeleteStaticSiteBuild(ctx context.Context, resourceGroupName string, name string, prID string) (result autorest.Response, err error) {
560	if tracing.IsEnabled() {
561		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.DeleteStaticSiteBuild")
562		defer func() {
563			sc := -1
564			if result.Response != nil {
565				sc = result.Response.StatusCode
566			}
567			tracing.EndSpan(ctx, sc, err)
568		}()
569	}
570	if err := validation.Validate([]validation.Validation{
571		{TargetValue: resourceGroupName,
572			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
573				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
574				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
575		return result, validation.NewError("web.StaticSitesClient", "DeleteStaticSiteBuild", err.Error())
576	}
577
578	req, err := client.DeleteStaticSiteBuildPreparer(ctx, resourceGroupName, name, prID)
579	if err != nil {
580		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteBuild", nil, "Failure preparing request")
581		return
582	}
583
584	resp, err := client.DeleteStaticSiteBuildSender(req)
585	if err != nil {
586		result.Response = resp
587		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteBuild", resp, "Failure sending request")
588		return
589	}
590
591	result, err = client.DeleteStaticSiteBuildResponder(resp)
592	if err != nil {
593		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteBuild", resp, "Failure responding to request")
594		return
595	}
596
597	return
598}
599
600// DeleteStaticSiteBuildPreparer prepares the DeleteStaticSiteBuild request.
601func (client StaticSitesClient) DeleteStaticSiteBuildPreparer(ctx context.Context, resourceGroupName string, name string, prID string) (*http.Request, error) {
602	pathParameters := map[string]interface{}{
603		"name":              autorest.Encode("path", name),
604		"prId":              autorest.Encode("path", prID),
605		"resourceGroupName": autorest.Encode("path", resourceGroupName),
606		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
607	}
608
609	const APIVersion = "2019-08-01"
610	queryParameters := map[string]interface{}{
611		"api-version": APIVersion,
612	}
613
614	preparer := autorest.CreatePreparer(
615		autorest.AsDelete(),
616		autorest.WithBaseURL(client.BaseURI),
617		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}", pathParameters),
618		autorest.WithQueryParameters(queryParameters))
619	return preparer.Prepare((&http.Request{}).WithContext(ctx))
620}
621
622// DeleteStaticSiteBuildSender sends the DeleteStaticSiteBuild request. The method will close the
623// http.Response Body if it receives an error.
624func (client StaticSitesClient) DeleteStaticSiteBuildSender(req *http.Request) (*http.Response, error) {
625	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
626}
627
628// DeleteStaticSiteBuildResponder handles the response to the DeleteStaticSiteBuild request. The method always
629// closes the http.Response Body.
630func (client StaticSitesClient) DeleteStaticSiteBuildResponder(resp *http.Response) (result autorest.Response, err error) {
631	err = autorest.Respond(
632		resp,
633		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
634		autorest.ByClosing())
635	result.Response = resp
636	return
637}
638
639// DeleteStaticSiteCustomDomain description for Deletes a custom domain.
640// Parameters:
641// resourceGroupName - name of the resource group to which the resource belongs.
642// name - name of the static site.
643// domainName - the custom domain to delete.
644func (client StaticSitesClient) DeleteStaticSiteCustomDomain(ctx context.Context, resourceGroupName string, name string, domainName string) (result autorest.Response, err error) {
645	if tracing.IsEnabled() {
646		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.DeleteStaticSiteCustomDomain")
647		defer func() {
648			sc := -1
649			if result.Response != nil {
650				sc = result.Response.StatusCode
651			}
652			tracing.EndSpan(ctx, sc, err)
653		}()
654	}
655	if err := validation.Validate([]validation.Validation{
656		{TargetValue: resourceGroupName,
657			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
658				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
659				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
660		return result, validation.NewError("web.StaticSitesClient", "DeleteStaticSiteCustomDomain", err.Error())
661	}
662
663	req, err := client.DeleteStaticSiteCustomDomainPreparer(ctx, resourceGroupName, name, domainName)
664	if err != nil {
665		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteCustomDomain", nil, "Failure preparing request")
666		return
667	}
668
669	resp, err := client.DeleteStaticSiteCustomDomainSender(req)
670	if err != nil {
671		result.Response = resp
672		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteCustomDomain", resp, "Failure sending request")
673		return
674	}
675
676	result, err = client.DeleteStaticSiteCustomDomainResponder(resp)
677	if err != nil {
678		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteCustomDomain", resp, "Failure responding to request")
679		return
680	}
681
682	return
683}
684
685// DeleteStaticSiteCustomDomainPreparer prepares the DeleteStaticSiteCustomDomain request.
686func (client StaticSitesClient) DeleteStaticSiteCustomDomainPreparer(ctx context.Context, resourceGroupName string, name string, domainName string) (*http.Request, error) {
687	pathParameters := map[string]interface{}{
688		"domainName":        autorest.Encode("path", domainName),
689		"name":              autorest.Encode("path", name),
690		"resourceGroupName": autorest.Encode("path", resourceGroupName),
691		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
692	}
693
694	const APIVersion = "2019-08-01"
695	queryParameters := map[string]interface{}{
696		"api-version": APIVersion,
697	}
698
699	preparer := autorest.CreatePreparer(
700		autorest.AsDelete(),
701		autorest.WithBaseURL(client.BaseURI),
702		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}", pathParameters),
703		autorest.WithQueryParameters(queryParameters))
704	return preparer.Prepare((&http.Request{}).WithContext(ctx))
705}
706
707// DeleteStaticSiteCustomDomainSender sends the DeleteStaticSiteCustomDomain request. The method will close the
708// http.Response Body if it receives an error.
709func (client StaticSitesClient) DeleteStaticSiteCustomDomainSender(req *http.Request) (*http.Response, error) {
710	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
711}
712
713// DeleteStaticSiteCustomDomainResponder handles the response to the DeleteStaticSiteCustomDomain request. The method always
714// closes the http.Response Body.
715func (client StaticSitesClient) DeleteStaticSiteCustomDomainResponder(resp *http.Response) (result autorest.Response, err error) {
716	err = autorest.Respond(
717		resp,
718		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
719		autorest.ByClosing())
720	result.Response = resp
721	return
722}
723
724// DeleteStaticSiteUser description for Deletes the user entry from the static site.
725// Parameters:
726// resourceGroupName - name of the resource group to which the resource belongs.
727// name - name of the staticsite.
728// authprovider - the auth provider for this user.
729// userid - the user id of the user.
730func (client StaticSitesClient) DeleteStaticSiteUser(ctx context.Context, resourceGroupName string, name string, authprovider string, userid string) (result autorest.Response, err error) {
731	if tracing.IsEnabled() {
732		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.DeleteStaticSiteUser")
733		defer func() {
734			sc := -1
735			if result.Response != nil {
736				sc = result.Response.StatusCode
737			}
738			tracing.EndSpan(ctx, sc, err)
739		}()
740	}
741	if err := validation.Validate([]validation.Validation{
742		{TargetValue: resourceGroupName,
743			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
744				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
745				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
746		return result, validation.NewError("web.StaticSitesClient", "DeleteStaticSiteUser", err.Error())
747	}
748
749	req, err := client.DeleteStaticSiteUserPreparer(ctx, resourceGroupName, name, authprovider, userid)
750	if err != nil {
751		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteUser", nil, "Failure preparing request")
752		return
753	}
754
755	resp, err := client.DeleteStaticSiteUserSender(req)
756	if err != nil {
757		result.Response = resp
758		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteUser", resp, "Failure sending request")
759		return
760	}
761
762	result, err = client.DeleteStaticSiteUserResponder(resp)
763	if err != nil {
764		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DeleteStaticSiteUser", resp, "Failure responding to request")
765		return
766	}
767
768	return
769}
770
771// DeleteStaticSiteUserPreparer prepares the DeleteStaticSiteUser request.
772func (client StaticSitesClient) DeleteStaticSiteUserPreparer(ctx context.Context, resourceGroupName string, name string, authprovider string, userid string) (*http.Request, error) {
773	pathParameters := map[string]interface{}{
774		"authprovider":      autorest.Encode("path", authprovider),
775		"name":              autorest.Encode("path", name),
776		"resourceGroupName": autorest.Encode("path", resourceGroupName),
777		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
778		"userid":            autorest.Encode("path", userid),
779	}
780
781	const APIVersion = "2019-08-01"
782	queryParameters := map[string]interface{}{
783		"api-version": APIVersion,
784	}
785
786	preparer := autorest.CreatePreparer(
787		autorest.AsDelete(),
788		autorest.WithBaseURL(client.BaseURI),
789		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/users/{userid}", pathParameters),
790		autorest.WithQueryParameters(queryParameters))
791	return preparer.Prepare((&http.Request{}).WithContext(ctx))
792}
793
794// DeleteStaticSiteUserSender sends the DeleteStaticSiteUser request. The method will close the
795// http.Response Body if it receives an error.
796func (client StaticSitesClient) DeleteStaticSiteUserSender(req *http.Request) (*http.Response, error) {
797	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
798}
799
800// DeleteStaticSiteUserResponder handles the response to the DeleteStaticSiteUser request. The method always
801// closes the http.Response Body.
802func (client StaticSitesClient) DeleteStaticSiteUserResponder(resp *http.Response) (result autorest.Response, err error) {
803	err = autorest.Respond(
804		resp,
805		azure.WithErrorUnlessStatusCode(http.StatusOK),
806		autorest.ByClosing())
807	result.Response = resp
808	return
809}
810
811// DetachStaticSite description for Detaches a static site.
812// Parameters:
813// resourceGroupName - name of the resource group to which the resource belongs.
814// name - name of the static site to detach.
815func (client StaticSitesClient) DetachStaticSite(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) {
816	if tracing.IsEnabled() {
817		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.DetachStaticSite")
818		defer func() {
819			sc := -1
820			if result.Response != nil {
821				sc = result.Response.StatusCode
822			}
823			tracing.EndSpan(ctx, sc, err)
824		}()
825	}
826	if err := validation.Validate([]validation.Validation{
827		{TargetValue: resourceGroupName,
828			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
829				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
830				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
831		return result, validation.NewError("web.StaticSitesClient", "DetachStaticSite", err.Error())
832	}
833
834	req, err := client.DetachStaticSitePreparer(ctx, resourceGroupName, name)
835	if err != nil {
836		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DetachStaticSite", nil, "Failure preparing request")
837		return
838	}
839
840	resp, err := client.DetachStaticSiteSender(req)
841	if err != nil {
842		result.Response = resp
843		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DetachStaticSite", resp, "Failure sending request")
844		return
845	}
846
847	result, err = client.DetachStaticSiteResponder(resp)
848	if err != nil {
849		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "DetachStaticSite", resp, "Failure responding to request")
850		return
851	}
852
853	return
854}
855
856// DetachStaticSitePreparer prepares the DetachStaticSite request.
857func (client StaticSitesClient) DetachStaticSitePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
858	pathParameters := map[string]interface{}{
859		"name":              autorest.Encode("path", name),
860		"resourceGroupName": autorest.Encode("path", resourceGroupName),
861		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
862	}
863
864	const APIVersion = "2019-08-01"
865	queryParameters := map[string]interface{}{
866		"api-version": APIVersion,
867	}
868
869	preparer := autorest.CreatePreparer(
870		autorest.AsPost(),
871		autorest.WithBaseURL(client.BaseURI),
872		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/detach", pathParameters),
873		autorest.WithQueryParameters(queryParameters))
874	return preparer.Prepare((&http.Request{}).WithContext(ctx))
875}
876
877// DetachStaticSiteSender sends the DetachStaticSite request. The method will close the
878// http.Response Body if it receives an error.
879func (client StaticSitesClient) DetachStaticSiteSender(req *http.Request) (*http.Response, error) {
880	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
881}
882
883// DetachStaticSiteResponder handles the response to the DetachStaticSite request. The method always
884// closes the http.Response Body.
885func (client StaticSitesClient) DetachStaticSiteResponder(resp *http.Response) (result autorest.Response, err error) {
886	err = autorest.Respond(
887		resp,
888		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
889		autorest.ByClosing())
890	result.Response = resp
891	return
892}
893
894// GetStaticSite description for Gets the details of a static site.
895// Parameters:
896// resourceGroupName - name of the resource group to which the resource belongs.
897// name - name of the static site.
898func (client StaticSitesClient) GetStaticSite(ctx context.Context, resourceGroupName string, name string) (result StaticSiteARMResource, err error) {
899	if tracing.IsEnabled() {
900		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.GetStaticSite")
901		defer func() {
902			sc := -1
903			if result.Response.Response != nil {
904				sc = result.Response.Response.StatusCode
905			}
906			tracing.EndSpan(ctx, sc, err)
907		}()
908	}
909	if err := validation.Validate([]validation.Validation{
910		{TargetValue: resourceGroupName,
911			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
912				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
913				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
914		return result, validation.NewError("web.StaticSitesClient", "GetStaticSite", err.Error())
915	}
916
917	req, err := client.GetStaticSitePreparer(ctx, resourceGroupName, name)
918	if err != nil {
919		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSite", nil, "Failure preparing request")
920		return
921	}
922
923	resp, err := client.GetStaticSiteSender(req)
924	if err != nil {
925		result.Response = autorest.Response{Response: resp}
926		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSite", resp, "Failure sending request")
927		return
928	}
929
930	result, err = client.GetStaticSiteResponder(resp)
931	if err != nil {
932		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSite", resp, "Failure responding to request")
933		return
934	}
935
936	return
937}
938
939// GetStaticSitePreparer prepares the GetStaticSite request.
940func (client StaticSitesClient) GetStaticSitePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
941	pathParameters := map[string]interface{}{
942		"name":              autorest.Encode("path", name),
943		"resourceGroupName": autorest.Encode("path", resourceGroupName),
944		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
945	}
946
947	const APIVersion = "2019-08-01"
948	queryParameters := map[string]interface{}{
949		"api-version": APIVersion,
950	}
951
952	preparer := autorest.CreatePreparer(
953		autorest.AsGet(),
954		autorest.WithBaseURL(client.BaseURI),
955		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", pathParameters),
956		autorest.WithQueryParameters(queryParameters))
957	return preparer.Prepare((&http.Request{}).WithContext(ctx))
958}
959
960// GetStaticSiteSender sends the GetStaticSite request. The method will close the
961// http.Response Body if it receives an error.
962func (client StaticSitesClient) GetStaticSiteSender(req *http.Request) (*http.Response, error) {
963	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
964}
965
966// GetStaticSiteResponder handles the response to the GetStaticSite request. The method always
967// closes the http.Response Body.
968func (client StaticSitesClient) GetStaticSiteResponder(resp *http.Response) (result StaticSiteARMResource, err error) {
969	err = autorest.Respond(
970		resp,
971		azure.WithErrorUnlessStatusCode(http.StatusOK),
972		autorest.ByUnmarshallingJSON(&result),
973		autorest.ByClosing())
974	result.Response = autorest.Response{Response: resp}
975	return
976}
977
978// GetStaticSiteBuild description for Gets the details of a static site build.
979// Parameters:
980// resourceGroupName - name of the resource group to which the resource belongs.
981// name - name of the static site.
982// prID - the stage site identifier.
983func (client StaticSitesClient) GetStaticSiteBuild(ctx context.Context, resourceGroupName string, name string, prID string) (result StaticSiteBuildARMResource, err error) {
984	if tracing.IsEnabled() {
985		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.GetStaticSiteBuild")
986		defer func() {
987			sc := -1
988			if result.Response.Response != nil {
989				sc = result.Response.Response.StatusCode
990			}
991			tracing.EndSpan(ctx, sc, err)
992		}()
993	}
994	if err := validation.Validate([]validation.Validation{
995		{TargetValue: resourceGroupName,
996			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
997				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
998				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
999		return result, validation.NewError("web.StaticSitesClient", "GetStaticSiteBuild", err.Error())
1000	}
1001
1002	req, err := client.GetStaticSiteBuildPreparer(ctx, resourceGroupName, name, prID)
1003	if err != nil {
1004		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSiteBuild", nil, "Failure preparing request")
1005		return
1006	}
1007
1008	resp, err := client.GetStaticSiteBuildSender(req)
1009	if err != nil {
1010		result.Response = autorest.Response{Response: resp}
1011		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSiteBuild", resp, "Failure sending request")
1012		return
1013	}
1014
1015	result, err = client.GetStaticSiteBuildResponder(resp)
1016	if err != nil {
1017		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSiteBuild", resp, "Failure responding to request")
1018		return
1019	}
1020
1021	return
1022}
1023
1024// GetStaticSiteBuildPreparer prepares the GetStaticSiteBuild request.
1025func (client StaticSitesClient) GetStaticSiteBuildPreparer(ctx context.Context, resourceGroupName string, name string, prID string) (*http.Request, error) {
1026	pathParameters := map[string]interface{}{
1027		"name":              autorest.Encode("path", name),
1028		"prId":              autorest.Encode("path", prID),
1029		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1030		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1031	}
1032
1033	const APIVersion = "2019-08-01"
1034	queryParameters := map[string]interface{}{
1035		"api-version": APIVersion,
1036	}
1037
1038	preparer := autorest.CreatePreparer(
1039		autorest.AsGet(),
1040		autorest.WithBaseURL(client.BaseURI),
1041		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}", pathParameters),
1042		autorest.WithQueryParameters(queryParameters))
1043	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1044}
1045
1046// GetStaticSiteBuildSender sends the GetStaticSiteBuild request. The method will close the
1047// http.Response Body if it receives an error.
1048func (client StaticSitesClient) GetStaticSiteBuildSender(req *http.Request) (*http.Response, error) {
1049	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1050}
1051
1052// GetStaticSiteBuildResponder handles the response to the GetStaticSiteBuild request. The method always
1053// closes the http.Response Body.
1054func (client StaticSitesClient) GetStaticSiteBuildResponder(resp *http.Response) (result StaticSiteBuildARMResource, err error) {
1055	err = autorest.Respond(
1056		resp,
1057		azure.WithErrorUnlessStatusCode(http.StatusOK),
1058		autorest.ByUnmarshallingJSON(&result),
1059		autorest.ByClosing())
1060	result.Response = autorest.Response{Response: resp}
1061	return
1062}
1063
1064// GetStaticSiteBuilds description for Gets all static site builds for a particular static site.
1065// Parameters:
1066// resourceGroupName - name of the resource group to which the resource belongs.
1067// name - name of the static site.
1068func (client StaticSitesClient) GetStaticSiteBuilds(ctx context.Context, resourceGroupName string, name string) (result StaticSiteBuildCollectionPage, err error) {
1069	if tracing.IsEnabled() {
1070		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.GetStaticSiteBuilds")
1071		defer func() {
1072			sc := -1
1073			if result.ssbc.Response.Response != nil {
1074				sc = result.ssbc.Response.Response.StatusCode
1075			}
1076			tracing.EndSpan(ctx, sc, err)
1077		}()
1078	}
1079	if err := validation.Validate([]validation.Validation{
1080		{TargetValue: resourceGroupName,
1081			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1082				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1083				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1084		return result, validation.NewError("web.StaticSitesClient", "GetStaticSiteBuilds", err.Error())
1085	}
1086
1087	result.fn = client.getStaticSiteBuildsNextResults
1088	req, err := client.GetStaticSiteBuildsPreparer(ctx, resourceGroupName, name)
1089	if err != nil {
1090		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSiteBuilds", nil, "Failure preparing request")
1091		return
1092	}
1093
1094	resp, err := client.GetStaticSiteBuildsSender(req)
1095	if err != nil {
1096		result.ssbc.Response = autorest.Response{Response: resp}
1097		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSiteBuilds", resp, "Failure sending request")
1098		return
1099	}
1100
1101	result.ssbc, err = client.GetStaticSiteBuildsResponder(resp)
1102	if err != nil {
1103		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSiteBuilds", resp, "Failure responding to request")
1104		return
1105	}
1106	if result.ssbc.hasNextLink() && result.ssbc.IsEmpty() {
1107		err = result.NextWithContext(ctx)
1108		return
1109	}
1110
1111	return
1112}
1113
1114// GetStaticSiteBuildsPreparer prepares the GetStaticSiteBuilds request.
1115func (client StaticSitesClient) GetStaticSiteBuildsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
1116	pathParameters := map[string]interface{}{
1117		"name":              autorest.Encode("path", name),
1118		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1119		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1120	}
1121
1122	const APIVersion = "2019-08-01"
1123	queryParameters := map[string]interface{}{
1124		"api-version": APIVersion,
1125	}
1126
1127	preparer := autorest.CreatePreparer(
1128		autorest.AsGet(),
1129		autorest.WithBaseURL(client.BaseURI),
1130		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds", pathParameters),
1131		autorest.WithQueryParameters(queryParameters))
1132	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1133}
1134
1135// GetStaticSiteBuildsSender sends the GetStaticSiteBuilds request. The method will close the
1136// http.Response Body if it receives an error.
1137func (client StaticSitesClient) GetStaticSiteBuildsSender(req *http.Request) (*http.Response, error) {
1138	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1139}
1140
1141// GetStaticSiteBuildsResponder handles the response to the GetStaticSiteBuilds request. The method always
1142// closes the http.Response Body.
1143func (client StaticSitesClient) GetStaticSiteBuildsResponder(resp *http.Response) (result StaticSiteBuildCollection, err error) {
1144	err = autorest.Respond(
1145		resp,
1146		azure.WithErrorUnlessStatusCode(http.StatusOK),
1147		autorest.ByUnmarshallingJSON(&result),
1148		autorest.ByClosing())
1149	result.Response = autorest.Response{Response: resp}
1150	return
1151}
1152
1153// getStaticSiteBuildsNextResults retrieves the next set of results, if any.
1154func (client StaticSitesClient) getStaticSiteBuildsNextResults(ctx context.Context, lastResults StaticSiteBuildCollection) (result StaticSiteBuildCollection, err error) {
1155	req, err := lastResults.staticSiteBuildCollectionPreparer(ctx)
1156	if err != nil {
1157		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "getStaticSiteBuildsNextResults", nil, "Failure preparing next results request")
1158	}
1159	if req == nil {
1160		return
1161	}
1162	resp, err := client.GetStaticSiteBuildsSender(req)
1163	if err != nil {
1164		result.Response = autorest.Response{Response: resp}
1165		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "getStaticSiteBuildsNextResults", resp, "Failure sending next results request")
1166	}
1167	result, err = client.GetStaticSiteBuildsResponder(resp)
1168	if err != nil {
1169		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "getStaticSiteBuildsNextResults", resp, "Failure responding to next results request")
1170	}
1171	return
1172}
1173
1174// GetStaticSiteBuildsComplete enumerates all values, automatically crossing page boundaries as required.
1175func (client StaticSitesClient) GetStaticSiteBuildsComplete(ctx context.Context, resourceGroupName string, name string) (result StaticSiteBuildCollectionIterator, err error) {
1176	if tracing.IsEnabled() {
1177		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.GetStaticSiteBuilds")
1178		defer func() {
1179			sc := -1
1180			if result.Response().Response.Response != nil {
1181				sc = result.page.Response().Response.Response.StatusCode
1182			}
1183			tracing.EndSpan(ctx, sc, err)
1184		}()
1185	}
1186	result.page, err = client.GetStaticSiteBuilds(ctx, resourceGroupName, name)
1187	return
1188}
1189
1190// GetStaticSitesByResourceGroup description for Gets all static sites in the specified resource group.
1191// Parameters:
1192// resourceGroupName - name of the resource group to which the resource belongs.
1193func (client StaticSitesClient) GetStaticSitesByResourceGroup(ctx context.Context, resourceGroupName string) (result StaticSiteCollectionPage, err error) {
1194	if tracing.IsEnabled() {
1195		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.GetStaticSitesByResourceGroup")
1196		defer func() {
1197			sc := -1
1198			if result.ssc.Response.Response != nil {
1199				sc = result.ssc.Response.Response.StatusCode
1200			}
1201			tracing.EndSpan(ctx, sc, err)
1202		}()
1203	}
1204	if err := validation.Validate([]validation.Validation{
1205		{TargetValue: resourceGroupName,
1206			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1207				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1208				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1209		return result, validation.NewError("web.StaticSitesClient", "GetStaticSitesByResourceGroup", err.Error())
1210	}
1211
1212	result.fn = client.getStaticSitesByResourceGroupNextResults
1213	req, err := client.GetStaticSitesByResourceGroupPreparer(ctx, resourceGroupName)
1214	if err != nil {
1215		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSitesByResourceGroup", nil, "Failure preparing request")
1216		return
1217	}
1218
1219	resp, err := client.GetStaticSitesByResourceGroupSender(req)
1220	if err != nil {
1221		result.ssc.Response = autorest.Response{Response: resp}
1222		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSitesByResourceGroup", resp, "Failure sending request")
1223		return
1224	}
1225
1226	result.ssc, err = client.GetStaticSitesByResourceGroupResponder(resp)
1227	if err != nil {
1228		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "GetStaticSitesByResourceGroup", resp, "Failure responding to request")
1229		return
1230	}
1231	if result.ssc.hasNextLink() && result.ssc.IsEmpty() {
1232		err = result.NextWithContext(ctx)
1233		return
1234	}
1235
1236	return
1237}
1238
1239// GetStaticSitesByResourceGroupPreparer prepares the GetStaticSitesByResourceGroup request.
1240func (client StaticSitesClient) GetStaticSitesByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) {
1241	pathParameters := map[string]interface{}{
1242		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1243		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1244	}
1245
1246	const APIVersion = "2019-08-01"
1247	queryParameters := map[string]interface{}{
1248		"api-version": APIVersion,
1249	}
1250
1251	preparer := autorest.CreatePreparer(
1252		autorest.AsGet(),
1253		autorest.WithBaseURL(client.BaseURI),
1254		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites", pathParameters),
1255		autorest.WithQueryParameters(queryParameters))
1256	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1257}
1258
1259// GetStaticSitesByResourceGroupSender sends the GetStaticSitesByResourceGroup request. The method will close the
1260// http.Response Body if it receives an error.
1261func (client StaticSitesClient) GetStaticSitesByResourceGroupSender(req *http.Request) (*http.Response, error) {
1262	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1263}
1264
1265// GetStaticSitesByResourceGroupResponder handles the response to the GetStaticSitesByResourceGroup request. The method always
1266// closes the http.Response Body.
1267func (client StaticSitesClient) GetStaticSitesByResourceGroupResponder(resp *http.Response) (result StaticSiteCollection, err error) {
1268	err = autorest.Respond(
1269		resp,
1270		azure.WithErrorUnlessStatusCode(http.StatusOK),
1271		autorest.ByUnmarshallingJSON(&result),
1272		autorest.ByClosing())
1273	result.Response = autorest.Response{Response: resp}
1274	return
1275}
1276
1277// getStaticSitesByResourceGroupNextResults retrieves the next set of results, if any.
1278func (client StaticSitesClient) getStaticSitesByResourceGroupNextResults(ctx context.Context, lastResults StaticSiteCollection) (result StaticSiteCollection, err error) {
1279	req, err := lastResults.staticSiteCollectionPreparer(ctx)
1280	if err != nil {
1281		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "getStaticSitesByResourceGroupNextResults", nil, "Failure preparing next results request")
1282	}
1283	if req == nil {
1284		return
1285	}
1286	resp, err := client.GetStaticSitesByResourceGroupSender(req)
1287	if err != nil {
1288		result.Response = autorest.Response{Response: resp}
1289		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "getStaticSitesByResourceGroupNextResults", resp, "Failure sending next results request")
1290	}
1291	result, err = client.GetStaticSitesByResourceGroupResponder(resp)
1292	if err != nil {
1293		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "getStaticSitesByResourceGroupNextResults", resp, "Failure responding to next results request")
1294	}
1295	return
1296}
1297
1298// GetStaticSitesByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required.
1299func (client StaticSitesClient) GetStaticSitesByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result StaticSiteCollectionIterator, err error) {
1300	if tracing.IsEnabled() {
1301		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.GetStaticSitesByResourceGroup")
1302		defer func() {
1303			sc := -1
1304			if result.Response().Response.Response != nil {
1305				sc = result.page.Response().Response.Response.StatusCode
1306			}
1307			tracing.EndSpan(ctx, sc, err)
1308		}()
1309	}
1310	result.page, err = client.GetStaticSitesByResourceGroup(ctx, resourceGroupName)
1311	return
1312}
1313
1314// List description for Get all Static Sites for a subscription.
1315func (client StaticSitesClient) List(ctx context.Context) (result StaticSiteCollectionPage, err error) {
1316	if tracing.IsEnabled() {
1317		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.List")
1318		defer func() {
1319			sc := -1
1320			if result.ssc.Response.Response != nil {
1321				sc = result.ssc.Response.Response.StatusCode
1322			}
1323			tracing.EndSpan(ctx, sc, err)
1324		}()
1325	}
1326	result.fn = client.listNextResults
1327	req, err := client.ListPreparer(ctx)
1328	if err != nil {
1329		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "List", nil, "Failure preparing request")
1330		return
1331	}
1332
1333	resp, err := client.ListSender(req)
1334	if err != nil {
1335		result.ssc.Response = autorest.Response{Response: resp}
1336		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "List", resp, "Failure sending request")
1337		return
1338	}
1339
1340	result.ssc, err = client.ListResponder(resp)
1341	if err != nil {
1342		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "List", resp, "Failure responding to request")
1343		return
1344	}
1345	if result.ssc.hasNextLink() && result.ssc.IsEmpty() {
1346		err = result.NextWithContext(ctx)
1347		return
1348	}
1349
1350	return
1351}
1352
1353// ListPreparer prepares the List request.
1354func (client StaticSitesClient) ListPreparer(ctx context.Context) (*http.Request, error) {
1355	pathParameters := map[string]interface{}{
1356		"subscriptionId": autorest.Encode("path", client.SubscriptionID),
1357	}
1358
1359	const APIVersion = "2019-08-01"
1360	queryParameters := map[string]interface{}{
1361		"api-version": APIVersion,
1362	}
1363
1364	preparer := autorest.CreatePreparer(
1365		autorest.AsGet(),
1366		autorest.WithBaseURL(client.BaseURI),
1367		autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/staticSites", pathParameters),
1368		autorest.WithQueryParameters(queryParameters))
1369	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1370}
1371
1372// ListSender sends the List request. The method will close the
1373// http.Response Body if it receives an error.
1374func (client StaticSitesClient) ListSender(req *http.Request) (*http.Response, error) {
1375	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1376}
1377
1378// ListResponder handles the response to the List request. The method always
1379// closes the http.Response Body.
1380func (client StaticSitesClient) ListResponder(resp *http.Response) (result StaticSiteCollection, err error) {
1381	err = autorest.Respond(
1382		resp,
1383		azure.WithErrorUnlessStatusCode(http.StatusOK),
1384		autorest.ByUnmarshallingJSON(&result),
1385		autorest.ByClosing())
1386	result.Response = autorest.Response{Response: resp}
1387	return
1388}
1389
1390// listNextResults retrieves the next set of results, if any.
1391func (client StaticSitesClient) listNextResults(ctx context.Context, lastResults StaticSiteCollection) (result StaticSiteCollection, err error) {
1392	req, err := lastResults.staticSiteCollectionPreparer(ctx)
1393	if err != nil {
1394		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listNextResults", nil, "Failure preparing next results request")
1395	}
1396	if req == nil {
1397		return
1398	}
1399	resp, err := client.ListSender(req)
1400	if err != nil {
1401		result.Response = autorest.Response{Response: resp}
1402		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listNextResults", resp, "Failure sending next results request")
1403	}
1404	result, err = client.ListResponder(resp)
1405	if err != nil {
1406		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "listNextResults", resp, "Failure responding to next results request")
1407	}
1408	return
1409}
1410
1411// ListComplete enumerates all values, automatically crossing page boundaries as required.
1412func (client StaticSitesClient) ListComplete(ctx context.Context) (result StaticSiteCollectionIterator, err error) {
1413	if tracing.IsEnabled() {
1414		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.List")
1415		defer func() {
1416			sc := -1
1417			if result.Response().Response.Response != nil {
1418				sc = result.page.Response().Response.Response.StatusCode
1419			}
1420			tracing.EndSpan(ctx, sc, err)
1421		}()
1422	}
1423	result.page, err = client.List(ctx)
1424	return
1425}
1426
1427// ListStaticSiteBuildFunctionAppSettings description for Gets the application settings of a static site.
1428// Parameters:
1429// resourceGroupName - name of the resource group to which the resource belongs.
1430// name - name of the static site.
1431// prID - the stage site identifier.
1432func (client StaticSitesClient) ListStaticSiteBuildFunctionAppSettings(ctx context.Context, resourceGroupName string, name string, prID string) (result StringDictionary, err error) {
1433	if tracing.IsEnabled() {
1434		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteBuildFunctionAppSettings")
1435		defer func() {
1436			sc := -1
1437			if result.Response.Response != nil {
1438				sc = result.Response.Response.StatusCode
1439			}
1440			tracing.EndSpan(ctx, sc, err)
1441		}()
1442	}
1443	if err := validation.Validate([]validation.Validation{
1444		{TargetValue: resourceGroupName,
1445			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1446				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1447				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1448		return result, validation.NewError("web.StaticSitesClient", "ListStaticSiteBuildFunctionAppSettings", err.Error())
1449	}
1450
1451	req, err := client.ListStaticSiteBuildFunctionAppSettingsPreparer(ctx, resourceGroupName, name, prID)
1452	if err != nil {
1453		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteBuildFunctionAppSettings", nil, "Failure preparing request")
1454		return
1455	}
1456
1457	resp, err := client.ListStaticSiteBuildFunctionAppSettingsSender(req)
1458	if err != nil {
1459		result.Response = autorest.Response{Response: resp}
1460		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteBuildFunctionAppSettings", resp, "Failure sending request")
1461		return
1462	}
1463
1464	result, err = client.ListStaticSiteBuildFunctionAppSettingsResponder(resp)
1465	if err != nil {
1466		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteBuildFunctionAppSettings", resp, "Failure responding to request")
1467		return
1468	}
1469
1470	return
1471}
1472
1473// ListStaticSiteBuildFunctionAppSettingsPreparer prepares the ListStaticSiteBuildFunctionAppSettings request.
1474func (client StaticSitesClient) ListStaticSiteBuildFunctionAppSettingsPreparer(ctx context.Context, resourceGroupName string, name string, prID string) (*http.Request, error) {
1475	pathParameters := map[string]interface{}{
1476		"name":              autorest.Encode("path", name),
1477		"prId":              autorest.Encode("path", prID),
1478		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1479		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1480	}
1481
1482	const APIVersion = "2019-08-01"
1483	queryParameters := map[string]interface{}{
1484		"api-version": APIVersion,
1485	}
1486
1487	preparer := autorest.CreatePreparer(
1488		autorest.AsPost(),
1489		autorest.WithBaseURL(client.BaseURI),
1490		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}/listFunctionAppSettings", pathParameters),
1491		autorest.WithQueryParameters(queryParameters))
1492	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1493}
1494
1495// ListStaticSiteBuildFunctionAppSettingsSender sends the ListStaticSiteBuildFunctionAppSettings request. The method will close the
1496// http.Response Body if it receives an error.
1497func (client StaticSitesClient) ListStaticSiteBuildFunctionAppSettingsSender(req *http.Request) (*http.Response, error) {
1498	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1499}
1500
1501// ListStaticSiteBuildFunctionAppSettingsResponder handles the response to the ListStaticSiteBuildFunctionAppSettings request. The method always
1502// closes the http.Response Body.
1503func (client StaticSitesClient) ListStaticSiteBuildFunctionAppSettingsResponder(resp *http.Response) (result StringDictionary, err error) {
1504	err = autorest.Respond(
1505		resp,
1506		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1507		autorest.ByUnmarshallingJSON(&result),
1508		autorest.ByClosing())
1509	result.Response = autorest.Response{Response: resp}
1510	return
1511}
1512
1513// ListStaticSiteBuildFunctions description for Gets the functions of a particular static site build.
1514// Parameters:
1515// resourceGroupName - name of the resource group to which the resource belongs.
1516// name - name of the static site.
1517// prID - the stage site identifier.
1518func (client StaticSitesClient) ListStaticSiteBuildFunctions(ctx context.Context, resourceGroupName string, name string, prID string) (result StaticSiteFunctionOverviewCollectionPage, err error) {
1519	if tracing.IsEnabled() {
1520		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteBuildFunctions")
1521		defer func() {
1522			sc := -1
1523			if result.ssfoc.Response.Response != nil {
1524				sc = result.ssfoc.Response.Response.StatusCode
1525			}
1526			tracing.EndSpan(ctx, sc, err)
1527		}()
1528	}
1529	if err := validation.Validate([]validation.Validation{
1530		{TargetValue: resourceGroupName,
1531			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1532				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1533				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1534		return result, validation.NewError("web.StaticSitesClient", "ListStaticSiteBuildFunctions", err.Error())
1535	}
1536
1537	result.fn = client.listStaticSiteBuildFunctionsNextResults
1538	req, err := client.ListStaticSiteBuildFunctionsPreparer(ctx, resourceGroupName, name, prID)
1539	if err != nil {
1540		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteBuildFunctions", nil, "Failure preparing request")
1541		return
1542	}
1543
1544	resp, err := client.ListStaticSiteBuildFunctionsSender(req)
1545	if err != nil {
1546		result.ssfoc.Response = autorest.Response{Response: resp}
1547		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteBuildFunctions", resp, "Failure sending request")
1548		return
1549	}
1550
1551	result.ssfoc, err = client.ListStaticSiteBuildFunctionsResponder(resp)
1552	if err != nil {
1553		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteBuildFunctions", resp, "Failure responding to request")
1554		return
1555	}
1556	if result.ssfoc.hasNextLink() && result.ssfoc.IsEmpty() {
1557		err = result.NextWithContext(ctx)
1558		return
1559	}
1560
1561	return
1562}
1563
1564// ListStaticSiteBuildFunctionsPreparer prepares the ListStaticSiteBuildFunctions request.
1565func (client StaticSitesClient) ListStaticSiteBuildFunctionsPreparer(ctx context.Context, resourceGroupName string, name string, prID string) (*http.Request, error) {
1566	pathParameters := map[string]interface{}{
1567		"name":              autorest.Encode("path", name),
1568		"prId":              autorest.Encode("path", prID),
1569		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1570		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1571	}
1572
1573	const APIVersion = "2019-08-01"
1574	queryParameters := map[string]interface{}{
1575		"api-version": APIVersion,
1576	}
1577
1578	preparer := autorest.CreatePreparer(
1579		autorest.AsGet(),
1580		autorest.WithBaseURL(client.BaseURI),
1581		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}/functions", pathParameters),
1582		autorest.WithQueryParameters(queryParameters))
1583	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1584}
1585
1586// ListStaticSiteBuildFunctionsSender sends the ListStaticSiteBuildFunctions request. The method will close the
1587// http.Response Body if it receives an error.
1588func (client StaticSitesClient) ListStaticSiteBuildFunctionsSender(req *http.Request) (*http.Response, error) {
1589	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1590}
1591
1592// ListStaticSiteBuildFunctionsResponder handles the response to the ListStaticSiteBuildFunctions request. The method always
1593// closes the http.Response Body.
1594func (client StaticSitesClient) ListStaticSiteBuildFunctionsResponder(resp *http.Response) (result StaticSiteFunctionOverviewCollection, err error) {
1595	err = autorest.Respond(
1596		resp,
1597		azure.WithErrorUnlessStatusCode(http.StatusOK),
1598		autorest.ByUnmarshallingJSON(&result),
1599		autorest.ByClosing())
1600	result.Response = autorest.Response{Response: resp}
1601	return
1602}
1603
1604// listStaticSiteBuildFunctionsNextResults retrieves the next set of results, if any.
1605func (client StaticSitesClient) listStaticSiteBuildFunctionsNextResults(ctx context.Context, lastResults StaticSiteFunctionOverviewCollection) (result StaticSiteFunctionOverviewCollection, err error) {
1606	req, err := lastResults.staticSiteFunctionOverviewCollectionPreparer(ctx)
1607	if err != nil {
1608		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteBuildFunctionsNextResults", nil, "Failure preparing next results request")
1609	}
1610	if req == nil {
1611		return
1612	}
1613	resp, err := client.ListStaticSiteBuildFunctionsSender(req)
1614	if err != nil {
1615		result.Response = autorest.Response{Response: resp}
1616		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteBuildFunctionsNextResults", resp, "Failure sending next results request")
1617	}
1618	result, err = client.ListStaticSiteBuildFunctionsResponder(resp)
1619	if err != nil {
1620		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteBuildFunctionsNextResults", resp, "Failure responding to next results request")
1621	}
1622	return
1623}
1624
1625// ListStaticSiteBuildFunctionsComplete enumerates all values, automatically crossing page boundaries as required.
1626func (client StaticSitesClient) ListStaticSiteBuildFunctionsComplete(ctx context.Context, resourceGroupName string, name string, prID string) (result StaticSiteFunctionOverviewCollectionIterator, err error) {
1627	if tracing.IsEnabled() {
1628		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteBuildFunctions")
1629		defer func() {
1630			sc := -1
1631			if result.Response().Response.Response != nil {
1632				sc = result.page.Response().Response.Response.StatusCode
1633			}
1634			tracing.EndSpan(ctx, sc, err)
1635		}()
1636	}
1637	result.page, err = client.ListStaticSiteBuildFunctions(ctx, resourceGroupName, name, prID)
1638	return
1639}
1640
1641// ListStaticSiteCustomDomains description for Gets all static site custom domains for a particular static site.
1642// Parameters:
1643// resourceGroupName - name of the resource group to which the resource belongs.
1644// name - name of the static site resource to search in.
1645func (client StaticSitesClient) ListStaticSiteCustomDomains(ctx context.Context, resourceGroupName string, name string) (result StaticSiteCustomDomainOverviewCollectionPage, err error) {
1646	if tracing.IsEnabled() {
1647		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteCustomDomains")
1648		defer func() {
1649			sc := -1
1650			if result.sscdoc.Response.Response != nil {
1651				sc = result.sscdoc.Response.Response.StatusCode
1652			}
1653			tracing.EndSpan(ctx, sc, err)
1654		}()
1655	}
1656	if err := validation.Validate([]validation.Validation{
1657		{TargetValue: resourceGroupName,
1658			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1659				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1660				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1661		return result, validation.NewError("web.StaticSitesClient", "ListStaticSiteCustomDomains", err.Error())
1662	}
1663
1664	result.fn = client.listStaticSiteCustomDomainsNextResults
1665	req, err := client.ListStaticSiteCustomDomainsPreparer(ctx, resourceGroupName, name)
1666	if err != nil {
1667		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteCustomDomains", nil, "Failure preparing request")
1668		return
1669	}
1670
1671	resp, err := client.ListStaticSiteCustomDomainsSender(req)
1672	if err != nil {
1673		result.sscdoc.Response = autorest.Response{Response: resp}
1674		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteCustomDomains", resp, "Failure sending request")
1675		return
1676	}
1677
1678	result.sscdoc, err = client.ListStaticSiteCustomDomainsResponder(resp)
1679	if err != nil {
1680		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteCustomDomains", resp, "Failure responding to request")
1681		return
1682	}
1683	if result.sscdoc.hasNextLink() && result.sscdoc.IsEmpty() {
1684		err = result.NextWithContext(ctx)
1685		return
1686	}
1687
1688	return
1689}
1690
1691// ListStaticSiteCustomDomainsPreparer prepares the ListStaticSiteCustomDomains request.
1692func (client StaticSitesClient) ListStaticSiteCustomDomainsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
1693	pathParameters := map[string]interface{}{
1694		"name":              autorest.Encode("path", name),
1695		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1696		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1697	}
1698
1699	const APIVersion = "2019-08-01"
1700	queryParameters := map[string]interface{}{
1701		"api-version": APIVersion,
1702	}
1703
1704	preparer := autorest.CreatePreparer(
1705		autorest.AsGet(),
1706		autorest.WithBaseURL(client.BaseURI),
1707		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains", pathParameters),
1708		autorest.WithQueryParameters(queryParameters))
1709	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1710}
1711
1712// ListStaticSiteCustomDomainsSender sends the ListStaticSiteCustomDomains request. The method will close the
1713// http.Response Body if it receives an error.
1714func (client StaticSitesClient) ListStaticSiteCustomDomainsSender(req *http.Request) (*http.Response, error) {
1715	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1716}
1717
1718// ListStaticSiteCustomDomainsResponder handles the response to the ListStaticSiteCustomDomains request. The method always
1719// closes the http.Response Body.
1720func (client StaticSitesClient) ListStaticSiteCustomDomainsResponder(resp *http.Response) (result StaticSiteCustomDomainOverviewCollection, err error) {
1721	err = autorest.Respond(
1722		resp,
1723		azure.WithErrorUnlessStatusCode(http.StatusOK),
1724		autorest.ByUnmarshallingJSON(&result),
1725		autorest.ByClosing())
1726	result.Response = autorest.Response{Response: resp}
1727	return
1728}
1729
1730// listStaticSiteCustomDomainsNextResults retrieves the next set of results, if any.
1731func (client StaticSitesClient) listStaticSiteCustomDomainsNextResults(ctx context.Context, lastResults StaticSiteCustomDomainOverviewCollection) (result StaticSiteCustomDomainOverviewCollection, err error) {
1732	req, err := lastResults.staticSiteCustomDomainOverviewCollectionPreparer(ctx)
1733	if err != nil {
1734		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteCustomDomainsNextResults", nil, "Failure preparing next results request")
1735	}
1736	if req == nil {
1737		return
1738	}
1739	resp, err := client.ListStaticSiteCustomDomainsSender(req)
1740	if err != nil {
1741		result.Response = autorest.Response{Response: resp}
1742		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteCustomDomainsNextResults", resp, "Failure sending next results request")
1743	}
1744	result, err = client.ListStaticSiteCustomDomainsResponder(resp)
1745	if err != nil {
1746		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteCustomDomainsNextResults", resp, "Failure responding to next results request")
1747	}
1748	return
1749}
1750
1751// ListStaticSiteCustomDomainsComplete enumerates all values, automatically crossing page boundaries as required.
1752func (client StaticSitesClient) ListStaticSiteCustomDomainsComplete(ctx context.Context, resourceGroupName string, name string) (result StaticSiteCustomDomainOverviewCollectionIterator, err error) {
1753	if tracing.IsEnabled() {
1754		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteCustomDomains")
1755		defer func() {
1756			sc := -1
1757			if result.Response().Response.Response != nil {
1758				sc = result.page.Response().Response.Response.StatusCode
1759			}
1760			tracing.EndSpan(ctx, sc, err)
1761		}()
1762	}
1763	result.page, err = client.ListStaticSiteCustomDomains(ctx, resourceGroupName, name)
1764	return
1765}
1766
1767// ListStaticSiteFunctionAppSettings description for Gets the application settings of a static site.
1768// Parameters:
1769// resourceGroupName - name of the resource group to which the resource belongs.
1770// name - name of the static site.
1771func (client StaticSitesClient) ListStaticSiteFunctionAppSettings(ctx context.Context, resourceGroupName string, name string) (result StringDictionary, err error) {
1772	if tracing.IsEnabled() {
1773		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteFunctionAppSettings")
1774		defer func() {
1775			sc := -1
1776			if result.Response.Response != nil {
1777				sc = result.Response.Response.StatusCode
1778			}
1779			tracing.EndSpan(ctx, sc, err)
1780		}()
1781	}
1782	if err := validation.Validate([]validation.Validation{
1783		{TargetValue: resourceGroupName,
1784			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1785				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1786				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1787		return result, validation.NewError("web.StaticSitesClient", "ListStaticSiteFunctionAppSettings", err.Error())
1788	}
1789
1790	req, err := client.ListStaticSiteFunctionAppSettingsPreparer(ctx, resourceGroupName, name)
1791	if err != nil {
1792		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteFunctionAppSettings", nil, "Failure preparing request")
1793		return
1794	}
1795
1796	resp, err := client.ListStaticSiteFunctionAppSettingsSender(req)
1797	if err != nil {
1798		result.Response = autorest.Response{Response: resp}
1799		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteFunctionAppSettings", resp, "Failure sending request")
1800		return
1801	}
1802
1803	result, err = client.ListStaticSiteFunctionAppSettingsResponder(resp)
1804	if err != nil {
1805		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteFunctionAppSettings", resp, "Failure responding to request")
1806		return
1807	}
1808
1809	return
1810}
1811
1812// ListStaticSiteFunctionAppSettingsPreparer prepares the ListStaticSiteFunctionAppSettings request.
1813func (client StaticSitesClient) ListStaticSiteFunctionAppSettingsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
1814	pathParameters := map[string]interface{}{
1815		"name":              autorest.Encode("path", name),
1816		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1817		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1818	}
1819
1820	const APIVersion = "2019-08-01"
1821	queryParameters := map[string]interface{}{
1822		"api-version": APIVersion,
1823	}
1824
1825	preparer := autorest.CreatePreparer(
1826		autorest.AsPost(),
1827		autorest.WithBaseURL(client.BaseURI),
1828		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listFunctionAppSettings", pathParameters),
1829		autorest.WithQueryParameters(queryParameters))
1830	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1831}
1832
1833// ListStaticSiteFunctionAppSettingsSender sends the ListStaticSiteFunctionAppSettings request. The method will close the
1834// http.Response Body if it receives an error.
1835func (client StaticSitesClient) ListStaticSiteFunctionAppSettingsSender(req *http.Request) (*http.Response, error) {
1836	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1837}
1838
1839// ListStaticSiteFunctionAppSettingsResponder handles the response to the ListStaticSiteFunctionAppSettings request. The method always
1840// closes the http.Response Body.
1841func (client StaticSitesClient) ListStaticSiteFunctionAppSettingsResponder(resp *http.Response) (result StringDictionary, err error) {
1842	err = autorest.Respond(
1843		resp,
1844		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1845		autorest.ByUnmarshallingJSON(&result),
1846		autorest.ByClosing())
1847	result.Response = autorest.Response{Response: resp}
1848	return
1849}
1850
1851// ListStaticSiteFunctions description for Gets the functions of a static site.
1852// Parameters:
1853// resourceGroupName - name of the resource group to which the resource belongs.
1854// name - name of the static site.
1855func (client StaticSitesClient) ListStaticSiteFunctions(ctx context.Context, resourceGroupName string, name string) (result StaticSiteFunctionOverviewCollectionPage, err error) {
1856	if tracing.IsEnabled() {
1857		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteFunctions")
1858		defer func() {
1859			sc := -1
1860			if result.ssfoc.Response.Response != nil {
1861				sc = result.ssfoc.Response.Response.StatusCode
1862			}
1863			tracing.EndSpan(ctx, sc, err)
1864		}()
1865	}
1866	if err := validation.Validate([]validation.Validation{
1867		{TargetValue: resourceGroupName,
1868			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1869				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1870				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1871		return result, validation.NewError("web.StaticSitesClient", "ListStaticSiteFunctions", err.Error())
1872	}
1873
1874	result.fn = client.listStaticSiteFunctionsNextResults
1875	req, err := client.ListStaticSiteFunctionsPreparer(ctx, resourceGroupName, name)
1876	if err != nil {
1877		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteFunctions", nil, "Failure preparing request")
1878		return
1879	}
1880
1881	resp, err := client.ListStaticSiteFunctionsSender(req)
1882	if err != nil {
1883		result.ssfoc.Response = autorest.Response{Response: resp}
1884		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteFunctions", resp, "Failure sending request")
1885		return
1886	}
1887
1888	result.ssfoc, err = client.ListStaticSiteFunctionsResponder(resp)
1889	if err != nil {
1890		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteFunctions", resp, "Failure responding to request")
1891		return
1892	}
1893	if result.ssfoc.hasNextLink() && result.ssfoc.IsEmpty() {
1894		err = result.NextWithContext(ctx)
1895		return
1896	}
1897
1898	return
1899}
1900
1901// ListStaticSiteFunctionsPreparer prepares the ListStaticSiteFunctions request.
1902func (client StaticSitesClient) ListStaticSiteFunctionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
1903	pathParameters := map[string]interface{}{
1904		"name":              autorest.Encode("path", name),
1905		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1906		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1907	}
1908
1909	const APIVersion = "2019-08-01"
1910	queryParameters := map[string]interface{}{
1911		"api-version": APIVersion,
1912	}
1913
1914	preparer := autorest.CreatePreparer(
1915		autorest.AsGet(),
1916		autorest.WithBaseURL(client.BaseURI),
1917		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/functions", pathParameters),
1918		autorest.WithQueryParameters(queryParameters))
1919	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1920}
1921
1922// ListStaticSiteFunctionsSender sends the ListStaticSiteFunctions request. The method will close the
1923// http.Response Body if it receives an error.
1924func (client StaticSitesClient) ListStaticSiteFunctionsSender(req *http.Request) (*http.Response, error) {
1925	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1926}
1927
1928// ListStaticSiteFunctionsResponder handles the response to the ListStaticSiteFunctions request. The method always
1929// closes the http.Response Body.
1930func (client StaticSitesClient) ListStaticSiteFunctionsResponder(resp *http.Response) (result StaticSiteFunctionOverviewCollection, err error) {
1931	err = autorest.Respond(
1932		resp,
1933		azure.WithErrorUnlessStatusCode(http.StatusOK),
1934		autorest.ByUnmarshallingJSON(&result),
1935		autorest.ByClosing())
1936	result.Response = autorest.Response{Response: resp}
1937	return
1938}
1939
1940// listStaticSiteFunctionsNextResults retrieves the next set of results, if any.
1941func (client StaticSitesClient) listStaticSiteFunctionsNextResults(ctx context.Context, lastResults StaticSiteFunctionOverviewCollection) (result StaticSiteFunctionOverviewCollection, err error) {
1942	req, err := lastResults.staticSiteFunctionOverviewCollectionPreparer(ctx)
1943	if err != nil {
1944		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteFunctionsNextResults", nil, "Failure preparing next results request")
1945	}
1946	if req == nil {
1947		return
1948	}
1949	resp, err := client.ListStaticSiteFunctionsSender(req)
1950	if err != nil {
1951		result.Response = autorest.Response{Response: resp}
1952		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteFunctionsNextResults", resp, "Failure sending next results request")
1953	}
1954	result, err = client.ListStaticSiteFunctionsResponder(resp)
1955	if err != nil {
1956		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteFunctionsNextResults", resp, "Failure responding to next results request")
1957	}
1958	return
1959}
1960
1961// ListStaticSiteFunctionsComplete enumerates all values, automatically crossing page boundaries as required.
1962func (client StaticSitesClient) ListStaticSiteFunctionsComplete(ctx context.Context, resourceGroupName string, name string) (result StaticSiteFunctionOverviewCollectionIterator, err error) {
1963	if tracing.IsEnabled() {
1964		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteFunctions")
1965		defer func() {
1966			sc := -1
1967			if result.Response().Response.Response != nil {
1968				sc = result.page.Response().Response.Response.StatusCode
1969			}
1970			tracing.EndSpan(ctx, sc, err)
1971		}()
1972	}
1973	result.page, err = client.ListStaticSiteFunctions(ctx, resourceGroupName, name)
1974	return
1975}
1976
1977// ListStaticSiteSecrets description for Lists the secrets for an existing static site.
1978// Parameters:
1979// resourceGroupName - name of the resource group to which the resource belongs.
1980// name - name of the static site.
1981func (client StaticSitesClient) ListStaticSiteSecrets(ctx context.Context, resourceGroupName string, name string) (result StringDictionary, err error) {
1982	if tracing.IsEnabled() {
1983		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteSecrets")
1984		defer func() {
1985			sc := -1
1986			if result.Response.Response != nil {
1987				sc = result.Response.Response.StatusCode
1988			}
1989			tracing.EndSpan(ctx, sc, err)
1990		}()
1991	}
1992	if err := validation.Validate([]validation.Validation{
1993		{TargetValue: resourceGroupName,
1994			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1995				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1996				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1997		return result, validation.NewError("web.StaticSitesClient", "ListStaticSiteSecrets", err.Error())
1998	}
1999
2000	req, err := client.ListStaticSiteSecretsPreparer(ctx, resourceGroupName, name)
2001	if err != nil {
2002		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteSecrets", nil, "Failure preparing request")
2003		return
2004	}
2005
2006	resp, err := client.ListStaticSiteSecretsSender(req)
2007	if err != nil {
2008		result.Response = autorest.Response{Response: resp}
2009		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteSecrets", resp, "Failure sending request")
2010		return
2011	}
2012
2013	result, err = client.ListStaticSiteSecretsResponder(resp)
2014	if err != nil {
2015		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteSecrets", resp, "Failure responding to request")
2016		return
2017	}
2018
2019	return
2020}
2021
2022// ListStaticSiteSecretsPreparer prepares the ListStaticSiteSecrets request.
2023func (client StaticSitesClient) ListStaticSiteSecretsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
2024	pathParameters := map[string]interface{}{
2025		"name":              autorest.Encode("path", name),
2026		"resourceGroupName": autorest.Encode("path", resourceGroupName),
2027		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
2028	}
2029
2030	const APIVersion = "2019-08-01"
2031	queryParameters := map[string]interface{}{
2032		"api-version": APIVersion,
2033	}
2034
2035	preparer := autorest.CreatePreparer(
2036		autorest.AsPost(),
2037		autorest.WithBaseURL(client.BaseURI),
2038		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listSecrets", pathParameters),
2039		autorest.WithQueryParameters(queryParameters))
2040	return preparer.Prepare((&http.Request{}).WithContext(ctx))
2041}
2042
2043// ListStaticSiteSecretsSender sends the ListStaticSiteSecrets request. The method will close the
2044// http.Response Body if it receives an error.
2045func (client StaticSitesClient) ListStaticSiteSecretsSender(req *http.Request) (*http.Response, error) {
2046	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
2047}
2048
2049// ListStaticSiteSecretsResponder handles the response to the ListStaticSiteSecrets request. The method always
2050// closes the http.Response Body.
2051func (client StaticSitesClient) ListStaticSiteSecretsResponder(resp *http.Response) (result StringDictionary, err error) {
2052	err = autorest.Respond(
2053		resp,
2054		azure.WithErrorUnlessStatusCode(http.StatusOK),
2055		autorest.ByUnmarshallingJSON(&result),
2056		autorest.ByClosing())
2057	result.Response = autorest.Response{Response: resp}
2058	return
2059}
2060
2061// ListStaticSiteUsers description for Gets the list of users of a static site.
2062// Parameters:
2063// resourceGroupName - name of the resource group to which the resource belongs.
2064// name - name of the static site.
2065// authprovider - the auth provider for the users.
2066func (client StaticSitesClient) ListStaticSiteUsers(ctx context.Context, resourceGroupName string, name string, authprovider string) (result StaticSiteUserCollectionPage, err error) {
2067	if tracing.IsEnabled() {
2068		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteUsers")
2069		defer func() {
2070			sc := -1
2071			if result.ssuc.Response.Response != nil {
2072				sc = result.ssuc.Response.Response.StatusCode
2073			}
2074			tracing.EndSpan(ctx, sc, err)
2075		}()
2076	}
2077	if err := validation.Validate([]validation.Validation{
2078		{TargetValue: resourceGroupName,
2079			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
2080				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
2081				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
2082		return result, validation.NewError("web.StaticSitesClient", "ListStaticSiteUsers", err.Error())
2083	}
2084
2085	result.fn = client.listStaticSiteUsersNextResults
2086	req, err := client.ListStaticSiteUsersPreparer(ctx, resourceGroupName, name, authprovider)
2087	if err != nil {
2088		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteUsers", nil, "Failure preparing request")
2089		return
2090	}
2091
2092	resp, err := client.ListStaticSiteUsersSender(req)
2093	if err != nil {
2094		result.ssuc.Response = autorest.Response{Response: resp}
2095		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteUsers", resp, "Failure sending request")
2096		return
2097	}
2098
2099	result.ssuc, err = client.ListStaticSiteUsersResponder(resp)
2100	if err != nil {
2101		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ListStaticSiteUsers", resp, "Failure responding to request")
2102		return
2103	}
2104	if result.ssuc.hasNextLink() && result.ssuc.IsEmpty() {
2105		err = result.NextWithContext(ctx)
2106		return
2107	}
2108
2109	return
2110}
2111
2112// ListStaticSiteUsersPreparer prepares the ListStaticSiteUsers request.
2113func (client StaticSitesClient) ListStaticSiteUsersPreparer(ctx context.Context, resourceGroupName string, name string, authprovider string) (*http.Request, error) {
2114	pathParameters := map[string]interface{}{
2115		"authprovider":      autorest.Encode("path", authprovider),
2116		"name":              autorest.Encode("path", name),
2117		"resourceGroupName": autorest.Encode("path", resourceGroupName),
2118		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
2119	}
2120
2121	const APIVersion = "2019-08-01"
2122	queryParameters := map[string]interface{}{
2123		"api-version": APIVersion,
2124	}
2125
2126	preparer := autorest.CreatePreparer(
2127		autorest.AsPost(),
2128		autorest.WithBaseURL(client.BaseURI),
2129		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/listUsers", pathParameters),
2130		autorest.WithQueryParameters(queryParameters))
2131	return preparer.Prepare((&http.Request{}).WithContext(ctx))
2132}
2133
2134// ListStaticSiteUsersSender sends the ListStaticSiteUsers request. The method will close the
2135// http.Response Body if it receives an error.
2136func (client StaticSitesClient) ListStaticSiteUsersSender(req *http.Request) (*http.Response, error) {
2137	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
2138}
2139
2140// ListStaticSiteUsersResponder handles the response to the ListStaticSiteUsers request. The method always
2141// closes the http.Response Body.
2142func (client StaticSitesClient) ListStaticSiteUsersResponder(resp *http.Response) (result StaticSiteUserCollection, err error) {
2143	err = autorest.Respond(
2144		resp,
2145		azure.WithErrorUnlessStatusCode(http.StatusOK),
2146		autorest.ByUnmarshallingJSON(&result),
2147		autorest.ByClosing())
2148	result.Response = autorest.Response{Response: resp}
2149	return
2150}
2151
2152// listStaticSiteUsersNextResults retrieves the next set of results, if any.
2153func (client StaticSitesClient) listStaticSiteUsersNextResults(ctx context.Context, lastResults StaticSiteUserCollection) (result StaticSiteUserCollection, err error) {
2154	req, err := lastResults.staticSiteUserCollectionPreparer(ctx)
2155	if err != nil {
2156		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteUsersNextResults", nil, "Failure preparing next results request")
2157	}
2158	if req == nil {
2159		return
2160	}
2161	resp, err := client.ListStaticSiteUsersSender(req)
2162	if err != nil {
2163		result.Response = autorest.Response{Response: resp}
2164		return result, autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteUsersNextResults", resp, "Failure sending next results request")
2165	}
2166	result, err = client.ListStaticSiteUsersResponder(resp)
2167	if err != nil {
2168		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "listStaticSiteUsersNextResults", resp, "Failure responding to next results request")
2169	}
2170	return
2171}
2172
2173// ListStaticSiteUsersComplete enumerates all values, automatically crossing page boundaries as required.
2174func (client StaticSitesClient) ListStaticSiteUsersComplete(ctx context.Context, resourceGroupName string, name string, authprovider string) (result StaticSiteUserCollectionIterator, err error) {
2175	if tracing.IsEnabled() {
2176		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ListStaticSiteUsers")
2177		defer func() {
2178			sc := -1
2179			if result.Response().Response.Response != nil {
2180				sc = result.page.Response().Response.Response.StatusCode
2181			}
2182			tracing.EndSpan(ctx, sc, err)
2183		}()
2184	}
2185	result.page, err = client.ListStaticSiteUsers(ctx, resourceGroupName, name, authprovider)
2186	return
2187}
2188
2189// ResetStaticSiteAPIKey description for Resets the api key for an existing static site.
2190// Parameters:
2191// resourceGroupName - name of the resource group to which the resource belongs.
2192// name - name of the static site.
2193func (client StaticSitesClient) ResetStaticSiteAPIKey(ctx context.Context, resourceGroupName string, name string, resetPropertiesEnvelope StaticSiteResetPropertiesARMResource) (result autorest.Response, err error) {
2194	if tracing.IsEnabled() {
2195		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ResetStaticSiteAPIKey")
2196		defer func() {
2197			sc := -1
2198			if result.Response != nil {
2199				sc = result.Response.StatusCode
2200			}
2201			tracing.EndSpan(ctx, sc, err)
2202		}()
2203	}
2204	if err := validation.Validate([]validation.Validation{
2205		{TargetValue: resourceGroupName,
2206			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
2207				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
2208				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
2209		return result, validation.NewError("web.StaticSitesClient", "ResetStaticSiteAPIKey", err.Error())
2210	}
2211
2212	req, err := client.ResetStaticSiteAPIKeyPreparer(ctx, resourceGroupName, name, resetPropertiesEnvelope)
2213	if err != nil {
2214		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ResetStaticSiteAPIKey", nil, "Failure preparing request")
2215		return
2216	}
2217
2218	resp, err := client.ResetStaticSiteAPIKeySender(req)
2219	if err != nil {
2220		result.Response = resp
2221		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ResetStaticSiteAPIKey", resp, "Failure sending request")
2222		return
2223	}
2224
2225	result, err = client.ResetStaticSiteAPIKeyResponder(resp)
2226	if err != nil {
2227		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ResetStaticSiteAPIKey", resp, "Failure responding to request")
2228		return
2229	}
2230
2231	return
2232}
2233
2234// ResetStaticSiteAPIKeyPreparer prepares the ResetStaticSiteAPIKey request.
2235func (client StaticSitesClient) ResetStaticSiteAPIKeyPreparer(ctx context.Context, resourceGroupName string, name string, resetPropertiesEnvelope StaticSiteResetPropertiesARMResource) (*http.Request, error) {
2236	pathParameters := map[string]interface{}{
2237		"name":              autorest.Encode("path", name),
2238		"resourceGroupName": autorest.Encode("path", resourceGroupName),
2239		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
2240	}
2241
2242	const APIVersion = "2019-08-01"
2243	queryParameters := map[string]interface{}{
2244		"api-version": APIVersion,
2245	}
2246
2247	preparer := autorest.CreatePreparer(
2248		autorest.AsContentType("application/json; charset=utf-8"),
2249		autorest.AsPost(),
2250		autorest.WithBaseURL(client.BaseURI),
2251		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/resetapikey", pathParameters),
2252		autorest.WithJSON(resetPropertiesEnvelope),
2253		autorest.WithQueryParameters(queryParameters))
2254	return preparer.Prepare((&http.Request{}).WithContext(ctx))
2255}
2256
2257// ResetStaticSiteAPIKeySender sends the ResetStaticSiteAPIKey request. The method will close the
2258// http.Response Body if it receives an error.
2259func (client StaticSitesClient) ResetStaticSiteAPIKeySender(req *http.Request) (*http.Response, error) {
2260	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
2261}
2262
2263// ResetStaticSiteAPIKeyResponder handles the response to the ResetStaticSiteAPIKey request. The method always
2264// closes the http.Response Body.
2265func (client StaticSitesClient) ResetStaticSiteAPIKeyResponder(resp *http.Response) (result autorest.Response, err error) {
2266	err = autorest.Respond(
2267		resp,
2268		azure.WithErrorUnlessStatusCode(http.StatusOK),
2269		autorest.ByClosing())
2270	result.Response = resp
2271	return
2272}
2273
2274// UpdateStaticSite description for Creates a new static site in an existing resource group, or updates an existing
2275// static site.
2276// Parameters:
2277// resourceGroupName - name of the resource group to which the resource belongs.
2278// name - name of the static site to create or update.
2279// staticSiteEnvelope - a JSON representation of the staticsite properties. See example.
2280func (client StaticSitesClient) UpdateStaticSite(ctx context.Context, resourceGroupName string, name string, staticSiteEnvelope StaticSitePatchResource) (result StaticSiteARMResource, err error) {
2281	if tracing.IsEnabled() {
2282		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.UpdateStaticSite")
2283		defer func() {
2284			sc := -1
2285			if result.Response.Response != nil {
2286				sc = result.Response.Response.StatusCode
2287			}
2288			tracing.EndSpan(ctx, sc, err)
2289		}()
2290	}
2291	if err := validation.Validate([]validation.Validation{
2292		{TargetValue: resourceGroupName,
2293			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
2294				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
2295				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
2296		return result, validation.NewError("web.StaticSitesClient", "UpdateStaticSite", err.Error())
2297	}
2298
2299	req, err := client.UpdateStaticSitePreparer(ctx, resourceGroupName, name, staticSiteEnvelope)
2300	if err != nil {
2301		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "UpdateStaticSite", nil, "Failure preparing request")
2302		return
2303	}
2304
2305	resp, err := client.UpdateStaticSiteSender(req)
2306	if err != nil {
2307		result.Response = autorest.Response{Response: resp}
2308		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "UpdateStaticSite", resp, "Failure sending request")
2309		return
2310	}
2311
2312	result, err = client.UpdateStaticSiteResponder(resp)
2313	if err != nil {
2314		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "UpdateStaticSite", resp, "Failure responding to request")
2315		return
2316	}
2317
2318	return
2319}
2320
2321// UpdateStaticSitePreparer prepares the UpdateStaticSite request.
2322func (client StaticSitesClient) UpdateStaticSitePreparer(ctx context.Context, resourceGroupName string, name string, staticSiteEnvelope StaticSitePatchResource) (*http.Request, error) {
2323	pathParameters := map[string]interface{}{
2324		"name":              autorest.Encode("path", name),
2325		"resourceGroupName": autorest.Encode("path", resourceGroupName),
2326		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
2327	}
2328
2329	const APIVersion = "2019-08-01"
2330	queryParameters := map[string]interface{}{
2331		"api-version": APIVersion,
2332	}
2333
2334	preparer := autorest.CreatePreparer(
2335		autorest.AsContentType("application/json; charset=utf-8"),
2336		autorest.AsPatch(),
2337		autorest.WithBaseURL(client.BaseURI),
2338		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}", pathParameters),
2339		autorest.WithJSON(staticSiteEnvelope),
2340		autorest.WithQueryParameters(queryParameters))
2341	return preparer.Prepare((&http.Request{}).WithContext(ctx))
2342}
2343
2344// UpdateStaticSiteSender sends the UpdateStaticSite request. The method will close the
2345// http.Response Body if it receives an error.
2346func (client StaticSitesClient) UpdateStaticSiteSender(req *http.Request) (*http.Response, error) {
2347	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
2348}
2349
2350// UpdateStaticSiteResponder handles the response to the UpdateStaticSite request. The method always
2351// closes the http.Response Body.
2352func (client StaticSitesClient) UpdateStaticSiteResponder(resp *http.Response) (result StaticSiteARMResource, err error) {
2353	err = autorest.Respond(
2354		resp,
2355		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
2356		autorest.ByUnmarshallingJSON(&result),
2357		autorest.ByClosing())
2358	result.Response = autorest.Response{Response: resp}
2359	return
2360}
2361
2362// UpdateStaticSiteUser description for Updates a user entry with the listed roles
2363// Parameters:
2364// resourceGroupName - name of the resource group to which the resource belongs.
2365// name - name of the static site.
2366// authprovider - the auth provider for this user.
2367// userid - the user id of the user.
2368// staticSiteUserEnvelope - a JSON representation of the StaticSiteUser properties. See example.
2369func (client StaticSitesClient) UpdateStaticSiteUser(ctx context.Context, resourceGroupName string, name string, authprovider string, userid string, staticSiteUserEnvelope StaticSiteUserARMResource) (result StaticSiteUserARMResource, err error) {
2370	if tracing.IsEnabled() {
2371		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.UpdateStaticSiteUser")
2372		defer func() {
2373			sc := -1
2374			if result.Response.Response != nil {
2375				sc = result.Response.Response.StatusCode
2376			}
2377			tracing.EndSpan(ctx, sc, err)
2378		}()
2379	}
2380	if err := validation.Validate([]validation.Validation{
2381		{TargetValue: resourceGroupName,
2382			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
2383				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
2384				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
2385		return result, validation.NewError("web.StaticSitesClient", "UpdateStaticSiteUser", err.Error())
2386	}
2387
2388	req, err := client.UpdateStaticSiteUserPreparer(ctx, resourceGroupName, name, authprovider, userid, staticSiteUserEnvelope)
2389	if err != nil {
2390		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "UpdateStaticSiteUser", nil, "Failure preparing request")
2391		return
2392	}
2393
2394	resp, err := client.UpdateStaticSiteUserSender(req)
2395	if err != nil {
2396		result.Response = autorest.Response{Response: resp}
2397		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "UpdateStaticSiteUser", resp, "Failure sending request")
2398		return
2399	}
2400
2401	result, err = client.UpdateStaticSiteUserResponder(resp)
2402	if err != nil {
2403		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "UpdateStaticSiteUser", resp, "Failure responding to request")
2404		return
2405	}
2406
2407	return
2408}
2409
2410// UpdateStaticSiteUserPreparer prepares the UpdateStaticSiteUser request.
2411func (client StaticSitesClient) UpdateStaticSiteUserPreparer(ctx context.Context, resourceGroupName string, name string, authprovider string, userid string, staticSiteUserEnvelope StaticSiteUserARMResource) (*http.Request, error) {
2412	pathParameters := map[string]interface{}{
2413		"authprovider":      autorest.Encode("path", authprovider),
2414		"name":              autorest.Encode("path", name),
2415		"resourceGroupName": autorest.Encode("path", resourceGroupName),
2416		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
2417		"userid":            autorest.Encode("path", userid),
2418	}
2419
2420	const APIVersion = "2019-08-01"
2421	queryParameters := map[string]interface{}{
2422		"api-version": APIVersion,
2423	}
2424
2425	preparer := autorest.CreatePreparer(
2426		autorest.AsContentType("application/json; charset=utf-8"),
2427		autorest.AsPatch(),
2428		autorest.WithBaseURL(client.BaseURI),
2429		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/users/{userid}", pathParameters),
2430		autorest.WithJSON(staticSiteUserEnvelope),
2431		autorest.WithQueryParameters(queryParameters))
2432	return preparer.Prepare((&http.Request{}).WithContext(ctx))
2433}
2434
2435// UpdateStaticSiteUserSender sends the UpdateStaticSiteUser request. The method will close the
2436// http.Response Body if it receives an error.
2437func (client StaticSitesClient) UpdateStaticSiteUserSender(req *http.Request) (*http.Response, error) {
2438	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
2439}
2440
2441// UpdateStaticSiteUserResponder handles the response to the UpdateStaticSiteUser request. The method always
2442// closes the http.Response Body.
2443func (client StaticSitesClient) UpdateStaticSiteUserResponder(resp *http.Response) (result StaticSiteUserARMResource, err error) {
2444	err = autorest.Respond(
2445		resp,
2446		azure.WithErrorUnlessStatusCode(http.StatusOK),
2447		autorest.ByUnmarshallingJSON(&result),
2448		autorest.ByClosing())
2449	result.Response = autorest.Response{Response: resp}
2450	return
2451}
2452
2453// ValidateCustomDomainCanBeAddedToStaticSite description for Validates a particular custom domain can be added to a
2454// static site.
2455// Parameters:
2456// resourceGroupName - name of the resource group to which the resource belongs.
2457// name - name of the static site.
2458// domainName - the custom domain to validate.
2459func (client StaticSitesClient) ValidateCustomDomainCanBeAddedToStaticSite(ctx context.Context, resourceGroupName string, name string, domainName string) (result autorest.Response, err error) {
2460	if tracing.IsEnabled() {
2461		ctx = tracing.StartSpan(ctx, fqdn+"/StaticSitesClient.ValidateCustomDomainCanBeAddedToStaticSite")
2462		defer func() {
2463			sc := -1
2464			if result.Response != nil {
2465				sc = result.Response.StatusCode
2466			}
2467			tracing.EndSpan(ctx, sc, err)
2468		}()
2469	}
2470	if err := validation.Validate([]validation.Validation{
2471		{TargetValue: resourceGroupName,
2472			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
2473				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
2474				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
2475		return result, validation.NewError("web.StaticSitesClient", "ValidateCustomDomainCanBeAddedToStaticSite", err.Error())
2476	}
2477
2478	req, err := client.ValidateCustomDomainCanBeAddedToStaticSitePreparer(ctx, resourceGroupName, name, domainName)
2479	if err != nil {
2480		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ValidateCustomDomainCanBeAddedToStaticSite", nil, "Failure preparing request")
2481		return
2482	}
2483
2484	resp, err := client.ValidateCustomDomainCanBeAddedToStaticSiteSender(req)
2485	if err != nil {
2486		result.Response = resp
2487		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ValidateCustomDomainCanBeAddedToStaticSite", resp, "Failure sending request")
2488		return
2489	}
2490
2491	result, err = client.ValidateCustomDomainCanBeAddedToStaticSiteResponder(resp)
2492	if err != nil {
2493		err = autorest.NewErrorWithError(err, "web.StaticSitesClient", "ValidateCustomDomainCanBeAddedToStaticSite", resp, "Failure responding to request")
2494		return
2495	}
2496
2497	return
2498}
2499
2500// ValidateCustomDomainCanBeAddedToStaticSitePreparer prepares the ValidateCustomDomainCanBeAddedToStaticSite request.
2501func (client StaticSitesClient) ValidateCustomDomainCanBeAddedToStaticSitePreparer(ctx context.Context, resourceGroupName string, name string, domainName string) (*http.Request, error) {
2502	pathParameters := map[string]interface{}{
2503		"domainName":        autorest.Encode("path", domainName),
2504		"name":              autorest.Encode("path", name),
2505		"resourceGroupName": autorest.Encode("path", resourceGroupName),
2506		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
2507	}
2508
2509	const APIVersion = "2019-08-01"
2510	queryParameters := map[string]interface{}{
2511		"api-version": APIVersion,
2512	}
2513
2514	preparer := autorest.CreatePreparer(
2515		autorest.AsPost(),
2516		autorest.WithBaseURL(client.BaseURI),
2517		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}/validate", pathParameters),
2518		autorest.WithQueryParameters(queryParameters))
2519	return preparer.Prepare((&http.Request{}).WithContext(ctx))
2520}
2521
2522// ValidateCustomDomainCanBeAddedToStaticSiteSender sends the ValidateCustomDomainCanBeAddedToStaticSite request. The method will close the
2523// http.Response Body if it receives an error.
2524func (client StaticSitesClient) ValidateCustomDomainCanBeAddedToStaticSiteSender(req *http.Request) (*http.Response, error) {
2525	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
2526}
2527
2528// ValidateCustomDomainCanBeAddedToStaticSiteResponder handles the response to the ValidateCustomDomainCanBeAddedToStaticSite request. The method always
2529// closes the http.Response Body.
2530func (client StaticSitesClient) ValidateCustomDomainCanBeAddedToStaticSiteResponder(resp *http.Response) (result autorest.Response, err error) {
2531	err = autorest.Respond(
2532		resp,
2533		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
2534		autorest.ByClosing())
2535	result.Response = resp
2536	return
2537}
2538