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// AppServiceCertificateOrdersClient is the webSite Management Client
19type AppServiceCertificateOrdersClient struct {
20	BaseClient
21}
22
23// NewAppServiceCertificateOrdersClient creates an instance of the AppServiceCertificateOrdersClient client.
24func NewAppServiceCertificateOrdersClient(subscriptionID string) AppServiceCertificateOrdersClient {
25	return NewAppServiceCertificateOrdersClientWithBaseURI(DefaultBaseURI, subscriptionID)
26}
27
28// NewAppServiceCertificateOrdersClientWithBaseURI creates an instance of the AppServiceCertificateOrdersClient client
29// using a custom endpoint.  Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign
30// clouds, Azure stack).
31func NewAppServiceCertificateOrdersClientWithBaseURI(baseURI string, subscriptionID string) AppServiceCertificateOrdersClient {
32	return AppServiceCertificateOrdersClient{NewWithBaseURI(baseURI, subscriptionID)}
33}
34
35// CreateOrUpdate description for Create or update a certificate purchase order.
36// Parameters:
37// resourceGroupName - name of the resource group to which the resource belongs.
38// certificateOrderName - name of the certificate order.
39// certificateDistinguishedName - distinguished name to use for the certificate order.
40func (client AppServiceCertificateOrdersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrder) (result AppServiceCertificateOrdersCreateOrUpdateFuture, err error) {
41	if tracing.IsEnabled() {
42		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.CreateOrUpdate")
43		defer func() {
44			sc := -1
45			if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
46				sc = result.FutureAPI.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.AppServiceCertificateOrdersClient", "CreateOrUpdate", err.Error())
57	}
58
59	req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, certificateOrderName, certificateDistinguishedName)
60	if err != nil {
61		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "CreateOrUpdate", nil, "Failure preparing request")
62		return
63	}
64
65	result, err = client.CreateOrUpdateSender(req)
66	if err != nil {
67		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "CreateOrUpdate", nil, "Failure sending request")
68		return
69	}
70
71	return
72}
73
74// CreateOrUpdatePreparer prepares the CreateOrUpdate request.
75func (client AppServiceCertificateOrdersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrder) (*http.Request, error) {
76	pathParameters := map[string]interface{}{
77		"certificateOrderName": autorest.Encode("path", certificateOrderName),
78		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
79		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
80	}
81
82	const APIVersion = "2021-02-01"
83	queryParameters := map[string]interface{}{
84		"api-version": APIVersion,
85	}
86
87	preparer := autorest.CreatePreparer(
88		autorest.AsContentType("application/json; charset=utf-8"),
89		autorest.AsPut(),
90		autorest.WithBaseURL(client.BaseURI),
91		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", pathParameters),
92		autorest.WithJSON(certificateDistinguishedName),
93		autorest.WithQueryParameters(queryParameters))
94	return preparer.Prepare((&http.Request{}).WithContext(ctx))
95}
96
97// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the
98// http.Response Body if it receives an error.
99func (client AppServiceCertificateOrdersClient) CreateOrUpdateSender(req *http.Request) (future AppServiceCertificateOrdersCreateOrUpdateFuture, err error) {
100	var resp *http.Response
101	resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
102	if err != nil {
103		return
104	}
105	var azf azure.Future
106	azf, err = azure.NewFutureFromResponse(resp)
107	future.FutureAPI = &azf
108	future.Result = future.result
109	return
110}
111
112// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always
113// closes the http.Response Body.
114func (client AppServiceCertificateOrdersClient) CreateOrUpdateResponder(resp *http.Response) (result AppServiceCertificateOrder, err error) {
115	err = autorest.Respond(
116		resp,
117		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
118		autorest.ByUnmarshallingJSON(&result),
119		autorest.ByClosing())
120	result.Response = autorest.Response{Response: resp}
121	return
122}
123
124// CreateOrUpdateCertificate description for Creates or updates a certificate and associates with key vault secret.
125// Parameters:
126// resourceGroupName - name of the resource group to which the resource belongs.
127// certificateOrderName - name of the certificate order.
128// name - name of the certificate.
129// keyVaultCertificate - key vault certificate resource Id.
130func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificateResource) (result AppServiceCertificateOrdersCreateOrUpdateCertificateFuture, err error) {
131	if tracing.IsEnabled() {
132		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.CreateOrUpdateCertificate")
133		defer func() {
134			sc := -1
135			if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
136				sc = result.FutureAPI.Response().StatusCode
137			}
138			tracing.EndSpan(ctx, sc, err)
139		}()
140	}
141	if err := validation.Validate([]validation.Validation{
142		{TargetValue: resourceGroupName,
143			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
144				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
145				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
146		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "CreateOrUpdateCertificate", err.Error())
147	}
148
149	req, err := client.CreateOrUpdateCertificatePreparer(ctx, resourceGroupName, certificateOrderName, name, keyVaultCertificate)
150	if err != nil {
151		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "CreateOrUpdateCertificate", nil, "Failure preparing request")
152		return
153	}
154
155	result, err = client.CreateOrUpdateCertificateSender(req)
156	if err != nil {
157		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "CreateOrUpdateCertificate", nil, "Failure sending request")
158		return
159	}
160
161	return
162}
163
164// CreateOrUpdateCertificatePreparer prepares the CreateOrUpdateCertificate request.
165func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificateResource) (*http.Request, error) {
166	pathParameters := map[string]interface{}{
167		"certificateOrderName": autorest.Encode("path", certificateOrderName),
168		"name":                 autorest.Encode("path", name),
169		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
170		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
171	}
172
173	const APIVersion = "2021-02-01"
174	queryParameters := map[string]interface{}{
175		"api-version": APIVersion,
176	}
177
178	preparer := autorest.CreatePreparer(
179		autorest.AsContentType("application/json; charset=utf-8"),
180		autorest.AsPut(),
181		autorest.WithBaseURL(client.BaseURI),
182		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", pathParameters),
183		autorest.WithJSON(keyVaultCertificate),
184		autorest.WithQueryParameters(queryParameters))
185	return preparer.Prepare((&http.Request{}).WithContext(ctx))
186}
187
188// CreateOrUpdateCertificateSender sends the CreateOrUpdateCertificate request. The method will close the
189// http.Response Body if it receives an error.
190func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificateSender(req *http.Request) (future AppServiceCertificateOrdersCreateOrUpdateCertificateFuture, err error) {
191	var resp *http.Response
192	resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
193	if err != nil {
194		return
195	}
196	var azf azure.Future
197	azf, err = azure.NewFutureFromResponse(resp)
198	future.FutureAPI = &azf
199	future.Result = future.result
200	return
201}
202
203// CreateOrUpdateCertificateResponder handles the response to the CreateOrUpdateCertificate request. The method always
204// closes the http.Response Body.
205func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificateResponder(resp *http.Response) (result AppServiceCertificateResource, err error) {
206	err = autorest.Respond(
207		resp,
208		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
209		autorest.ByUnmarshallingJSON(&result),
210		autorest.ByClosing())
211	result.Response = autorest.Response{Response: resp}
212	return
213}
214
215// Delete description for Delete an existing certificate order.
216// Parameters:
217// resourceGroupName - name of the resource group to which the resource belongs.
218// certificateOrderName - name of the certificate order.
219func (client AppServiceCertificateOrdersClient) Delete(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) {
220	if tracing.IsEnabled() {
221		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Delete")
222		defer func() {
223			sc := -1
224			if result.Response != nil {
225				sc = result.Response.StatusCode
226			}
227			tracing.EndSpan(ctx, sc, err)
228		}()
229	}
230	if err := validation.Validate([]validation.Validation{
231		{TargetValue: resourceGroupName,
232			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
233				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
234				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
235		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Delete", err.Error())
236	}
237
238	req, err := client.DeletePreparer(ctx, resourceGroupName, certificateOrderName)
239	if err != nil {
240		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Delete", nil, "Failure preparing request")
241		return
242	}
243
244	resp, err := client.DeleteSender(req)
245	if err != nil {
246		result.Response = resp
247		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Delete", resp, "Failure sending request")
248		return
249	}
250
251	result, err = client.DeleteResponder(resp)
252	if err != nil {
253		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Delete", resp, "Failure responding to request")
254		return
255	}
256
257	return
258}
259
260// DeletePreparer prepares the Delete request.
261func (client AppServiceCertificateOrdersClient) DeletePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) {
262	pathParameters := map[string]interface{}{
263		"certificateOrderName": autorest.Encode("path", certificateOrderName),
264		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
265		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
266	}
267
268	const APIVersion = "2021-02-01"
269	queryParameters := map[string]interface{}{
270		"api-version": APIVersion,
271	}
272
273	preparer := autorest.CreatePreparer(
274		autorest.AsDelete(),
275		autorest.WithBaseURL(client.BaseURI),
276		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", pathParameters),
277		autorest.WithQueryParameters(queryParameters))
278	return preparer.Prepare((&http.Request{}).WithContext(ctx))
279}
280
281// DeleteSender sends the Delete request. The method will close the
282// http.Response Body if it receives an error.
283func (client AppServiceCertificateOrdersClient) DeleteSender(req *http.Request) (*http.Response, error) {
284	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
285}
286
287// DeleteResponder handles the response to the Delete request. The method always
288// closes the http.Response Body.
289func (client AppServiceCertificateOrdersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
290	err = autorest.Respond(
291		resp,
292		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
293		autorest.ByClosing())
294	result.Response = resp
295	return
296}
297
298// DeleteCertificate description for Delete the certificate associated with a certificate order.
299// Parameters:
300// resourceGroupName - name of the resource group to which the resource belongs.
301// certificateOrderName - name of the certificate order.
302// name - name of the certificate.
303func (client AppServiceCertificateOrdersClient) DeleteCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (result autorest.Response, err error) {
304	if tracing.IsEnabled() {
305		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.DeleteCertificate")
306		defer func() {
307			sc := -1
308			if result.Response != nil {
309				sc = result.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.AppServiceCertificateOrdersClient", "DeleteCertificate", err.Error())
320	}
321
322	req, err := client.DeleteCertificatePreparer(ctx, resourceGroupName, certificateOrderName, name)
323	if err != nil {
324		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "DeleteCertificate", nil, "Failure preparing request")
325		return
326	}
327
328	resp, err := client.DeleteCertificateSender(req)
329	if err != nil {
330		result.Response = resp
331		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "DeleteCertificate", resp, "Failure sending request")
332		return
333	}
334
335	result, err = client.DeleteCertificateResponder(resp)
336	if err != nil {
337		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "DeleteCertificate", resp, "Failure responding to request")
338		return
339	}
340
341	return
342}
343
344// DeleteCertificatePreparer prepares the DeleteCertificate request.
345func (client AppServiceCertificateOrdersClient) DeleteCertificatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (*http.Request, error) {
346	pathParameters := map[string]interface{}{
347		"certificateOrderName": autorest.Encode("path", certificateOrderName),
348		"name":                 autorest.Encode("path", name),
349		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
350		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
351	}
352
353	const APIVersion = "2021-02-01"
354	queryParameters := map[string]interface{}{
355		"api-version": APIVersion,
356	}
357
358	preparer := autorest.CreatePreparer(
359		autorest.AsDelete(),
360		autorest.WithBaseURL(client.BaseURI),
361		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", pathParameters),
362		autorest.WithQueryParameters(queryParameters))
363	return preparer.Prepare((&http.Request{}).WithContext(ctx))
364}
365
366// DeleteCertificateSender sends the DeleteCertificate request. The method will close the
367// http.Response Body if it receives an error.
368func (client AppServiceCertificateOrdersClient) DeleteCertificateSender(req *http.Request) (*http.Response, error) {
369	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
370}
371
372// DeleteCertificateResponder handles the response to the DeleteCertificate request. The method always
373// closes the http.Response Body.
374func (client AppServiceCertificateOrdersClient) DeleteCertificateResponder(resp *http.Response) (result autorest.Response, err error) {
375	err = autorest.Respond(
376		resp,
377		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
378		autorest.ByClosing())
379	result.Response = resp
380	return
381}
382
383// Get description for Get a certificate order.
384// Parameters:
385// resourceGroupName - name of the resource group to which the resource belongs.
386// certificateOrderName - name of the certificate order..
387func (client AppServiceCertificateOrdersClient) Get(ctx context.Context, resourceGroupName string, certificateOrderName string) (result AppServiceCertificateOrder, err error) {
388	if tracing.IsEnabled() {
389		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Get")
390		defer func() {
391			sc := -1
392			if result.Response.Response != nil {
393				sc = result.Response.Response.StatusCode
394			}
395			tracing.EndSpan(ctx, sc, err)
396		}()
397	}
398	if err := validation.Validate([]validation.Validation{
399		{TargetValue: resourceGroupName,
400			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
401				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
402				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
403		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Get", err.Error())
404	}
405
406	req, err := client.GetPreparer(ctx, resourceGroupName, certificateOrderName)
407	if err != nil {
408		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Get", nil, "Failure preparing request")
409		return
410	}
411
412	resp, err := client.GetSender(req)
413	if err != nil {
414		result.Response = autorest.Response{Response: resp}
415		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Get", resp, "Failure sending request")
416		return
417	}
418
419	result, err = client.GetResponder(resp)
420	if err != nil {
421		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Get", resp, "Failure responding to request")
422		return
423	}
424
425	return
426}
427
428// GetPreparer prepares the Get request.
429func (client AppServiceCertificateOrdersClient) GetPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) {
430	pathParameters := map[string]interface{}{
431		"certificateOrderName": autorest.Encode("path", certificateOrderName),
432		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
433		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
434	}
435
436	const APIVersion = "2021-02-01"
437	queryParameters := map[string]interface{}{
438		"api-version": APIVersion,
439	}
440
441	preparer := autorest.CreatePreparer(
442		autorest.AsGet(),
443		autorest.WithBaseURL(client.BaseURI),
444		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", pathParameters),
445		autorest.WithQueryParameters(queryParameters))
446	return preparer.Prepare((&http.Request{}).WithContext(ctx))
447}
448
449// GetSender sends the Get request. The method will close the
450// http.Response Body if it receives an error.
451func (client AppServiceCertificateOrdersClient) GetSender(req *http.Request) (*http.Response, error) {
452	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
453}
454
455// GetResponder handles the response to the Get request. The method always
456// closes the http.Response Body.
457func (client AppServiceCertificateOrdersClient) GetResponder(resp *http.Response) (result AppServiceCertificateOrder, err error) {
458	err = autorest.Respond(
459		resp,
460		azure.WithErrorUnlessStatusCode(http.StatusOK),
461		autorest.ByUnmarshallingJSON(&result),
462		autorest.ByClosing())
463	result.Response = autorest.Response{Response: resp}
464	return
465}
466
467// GetCertificate description for Get the certificate associated with a certificate order.
468// Parameters:
469// resourceGroupName - name of the resource group to which the resource belongs.
470// certificateOrderName - name of the certificate order.
471// name - name of the certificate.
472func (client AppServiceCertificateOrdersClient) GetCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (result AppServiceCertificateResource, err error) {
473	if tracing.IsEnabled() {
474		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.GetCertificate")
475		defer func() {
476			sc := -1
477			if result.Response.Response != nil {
478				sc = result.Response.Response.StatusCode
479			}
480			tracing.EndSpan(ctx, sc, err)
481		}()
482	}
483	if err := validation.Validate([]validation.Validation{
484		{TargetValue: resourceGroupName,
485			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
486				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
487				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
488		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "GetCertificate", err.Error())
489	}
490
491	req, err := client.GetCertificatePreparer(ctx, resourceGroupName, certificateOrderName, name)
492	if err != nil {
493		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "GetCertificate", nil, "Failure preparing request")
494		return
495	}
496
497	resp, err := client.GetCertificateSender(req)
498	if err != nil {
499		result.Response = autorest.Response{Response: resp}
500		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "GetCertificate", resp, "Failure sending request")
501		return
502	}
503
504	result, err = client.GetCertificateResponder(resp)
505	if err != nil {
506		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "GetCertificate", resp, "Failure responding to request")
507		return
508	}
509
510	return
511}
512
513// GetCertificatePreparer prepares the GetCertificate request.
514func (client AppServiceCertificateOrdersClient) GetCertificatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (*http.Request, error) {
515	pathParameters := map[string]interface{}{
516		"certificateOrderName": autorest.Encode("path", certificateOrderName),
517		"name":                 autorest.Encode("path", name),
518		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
519		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
520	}
521
522	const APIVersion = "2021-02-01"
523	queryParameters := map[string]interface{}{
524		"api-version": APIVersion,
525	}
526
527	preparer := autorest.CreatePreparer(
528		autorest.AsGet(),
529		autorest.WithBaseURL(client.BaseURI),
530		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", pathParameters),
531		autorest.WithQueryParameters(queryParameters))
532	return preparer.Prepare((&http.Request{}).WithContext(ctx))
533}
534
535// GetCertificateSender sends the GetCertificate request. The method will close the
536// http.Response Body if it receives an error.
537func (client AppServiceCertificateOrdersClient) GetCertificateSender(req *http.Request) (*http.Response, error) {
538	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
539}
540
541// GetCertificateResponder handles the response to the GetCertificate request. The method always
542// closes the http.Response Body.
543func (client AppServiceCertificateOrdersClient) GetCertificateResponder(resp *http.Response) (result AppServiceCertificateResource, err error) {
544	err = autorest.Respond(
545		resp,
546		azure.WithErrorUnlessStatusCode(http.StatusOK),
547		autorest.ByUnmarshallingJSON(&result),
548		autorest.ByClosing())
549	result.Response = autorest.Response{Response: resp}
550	return
551}
552
553// List description for List all certificate orders in a subscription.
554func (client AppServiceCertificateOrdersClient) List(ctx context.Context) (result AppServiceCertificateOrderCollectionPage, err error) {
555	if tracing.IsEnabled() {
556		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.List")
557		defer func() {
558			sc := -1
559			if result.ascoc.Response.Response != nil {
560				sc = result.ascoc.Response.Response.StatusCode
561			}
562			tracing.EndSpan(ctx, sc, err)
563		}()
564	}
565	result.fn = client.listNextResults
566	req, err := client.ListPreparer(ctx)
567	if err != nil {
568		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "List", nil, "Failure preparing request")
569		return
570	}
571
572	resp, err := client.ListSender(req)
573	if err != nil {
574		result.ascoc.Response = autorest.Response{Response: resp}
575		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "List", resp, "Failure sending request")
576		return
577	}
578
579	result.ascoc, err = client.ListResponder(resp)
580	if err != nil {
581		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "List", resp, "Failure responding to request")
582		return
583	}
584	if result.ascoc.hasNextLink() && result.ascoc.IsEmpty() {
585		err = result.NextWithContext(ctx)
586		return
587	}
588
589	return
590}
591
592// ListPreparer prepares the List request.
593func (client AppServiceCertificateOrdersClient) ListPreparer(ctx context.Context) (*http.Request, error) {
594	pathParameters := map[string]interface{}{
595		"subscriptionId": autorest.Encode("path", client.SubscriptionID),
596	}
597
598	const APIVersion = "2021-02-01"
599	queryParameters := map[string]interface{}{
600		"api-version": APIVersion,
601	}
602
603	preparer := autorest.CreatePreparer(
604		autorest.AsGet(),
605		autorest.WithBaseURL(client.BaseURI),
606		autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders", pathParameters),
607		autorest.WithQueryParameters(queryParameters))
608	return preparer.Prepare((&http.Request{}).WithContext(ctx))
609}
610
611// ListSender sends the List request. The method will close the
612// http.Response Body if it receives an error.
613func (client AppServiceCertificateOrdersClient) ListSender(req *http.Request) (*http.Response, error) {
614	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
615}
616
617// ListResponder handles the response to the List request. The method always
618// closes the http.Response Body.
619func (client AppServiceCertificateOrdersClient) ListResponder(resp *http.Response) (result AppServiceCertificateOrderCollection, err error) {
620	err = autorest.Respond(
621		resp,
622		azure.WithErrorUnlessStatusCode(http.StatusOK),
623		autorest.ByUnmarshallingJSON(&result),
624		autorest.ByClosing())
625	result.Response = autorest.Response{Response: resp}
626	return
627}
628
629// listNextResults retrieves the next set of results, if any.
630func (client AppServiceCertificateOrdersClient) listNextResults(ctx context.Context, lastResults AppServiceCertificateOrderCollection) (result AppServiceCertificateOrderCollection, err error) {
631	req, err := lastResults.appServiceCertificateOrderCollectionPreparer(ctx)
632	if err != nil {
633		return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listNextResults", nil, "Failure preparing next results request")
634	}
635	if req == nil {
636		return
637	}
638	resp, err := client.ListSender(req)
639	if err != nil {
640		result.Response = autorest.Response{Response: resp}
641		return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listNextResults", resp, "Failure sending next results request")
642	}
643	result, err = client.ListResponder(resp)
644	if err != nil {
645		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listNextResults", resp, "Failure responding to next results request")
646	}
647	return
648}
649
650// ListComplete enumerates all values, automatically crossing page boundaries as required.
651func (client AppServiceCertificateOrdersClient) ListComplete(ctx context.Context) (result AppServiceCertificateOrderCollectionIterator, err error) {
652	if tracing.IsEnabled() {
653		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.List")
654		defer func() {
655			sc := -1
656			if result.Response().Response.Response != nil {
657				sc = result.page.Response().Response.Response.StatusCode
658			}
659			tracing.EndSpan(ctx, sc, err)
660		}()
661	}
662	result.page, err = client.List(ctx)
663	return
664}
665
666// ListByResourceGroup description for Get certificate orders in a resource group.
667// Parameters:
668// resourceGroupName - name of the resource group to which the resource belongs.
669func (client AppServiceCertificateOrdersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result AppServiceCertificateOrderCollectionPage, err error) {
670	if tracing.IsEnabled() {
671		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ListByResourceGroup")
672		defer func() {
673			sc := -1
674			if result.ascoc.Response.Response != nil {
675				sc = result.ascoc.Response.Response.StatusCode
676			}
677			tracing.EndSpan(ctx, sc, err)
678		}()
679	}
680	if err := validation.Validate([]validation.Validation{
681		{TargetValue: resourceGroupName,
682			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
683				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
684				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
685		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ListByResourceGroup", err.Error())
686	}
687
688	result.fn = client.listByResourceGroupNextResults
689	req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName)
690	if err != nil {
691		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListByResourceGroup", nil, "Failure preparing request")
692		return
693	}
694
695	resp, err := client.ListByResourceGroupSender(req)
696	if err != nil {
697		result.ascoc.Response = autorest.Response{Response: resp}
698		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListByResourceGroup", resp, "Failure sending request")
699		return
700	}
701
702	result.ascoc, err = client.ListByResourceGroupResponder(resp)
703	if err != nil {
704		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListByResourceGroup", resp, "Failure responding to request")
705		return
706	}
707	if result.ascoc.hasNextLink() && result.ascoc.IsEmpty() {
708		err = result.NextWithContext(ctx)
709		return
710	}
711
712	return
713}
714
715// ListByResourceGroupPreparer prepares the ListByResourceGroup request.
716func (client AppServiceCertificateOrdersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) {
717	pathParameters := map[string]interface{}{
718		"resourceGroupName": autorest.Encode("path", resourceGroupName),
719		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
720	}
721
722	const APIVersion = "2021-02-01"
723	queryParameters := map[string]interface{}{
724		"api-version": APIVersion,
725	}
726
727	preparer := autorest.CreatePreparer(
728		autorest.AsGet(),
729		autorest.WithBaseURL(client.BaseURI),
730		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders", pathParameters),
731		autorest.WithQueryParameters(queryParameters))
732	return preparer.Prepare((&http.Request{}).WithContext(ctx))
733}
734
735// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the
736// http.Response Body if it receives an error.
737func (client AppServiceCertificateOrdersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) {
738	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
739}
740
741// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always
742// closes the http.Response Body.
743func (client AppServiceCertificateOrdersClient) ListByResourceGroupResponder(resp *http.Response) (result AppServiceCertificateOrderCollection, err error) {
744	err = autorest.Respond(
745		resp,
746		azure.WithErrorUnlessStatusCode(http.StatusOK),
747		autorest.ByUnmarshallingJSON(&result),
748		autorest.ByClosing())
749	result.Response = autorest.Response{Response: resp}
750	return
751}
752
753// listByResourceGroupNextResults retrieves the next set of results, if any.
754func (client AppServiceCertificateOrdersClient) listByResourceGroupNextResults(ctx context.Context, lastResults AppServiceCertificateOrderCollection) (result AppServiceCertificateOrderCollection, err error) {
755	req, err := lastResults.appServiceCertificateOrderCollectionPreparer(ctx)
756	if err != nil {
757		return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request")
758	}
759	if req == nil {
760		return
761	}
762	resp, err := client.ListByResourceGroupSender(req)
763	if err != nil {
764		result.Response = autorest.Response{Response: resp}
765		return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request")
766	}
767	result, err = client.ListByResourceGroupResponder(resp)
768	if err != nil {
769		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request")
770	}
771	return
772}
773
774// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required.
775func (client AppServiceCertificateOrdersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result AppServiceCertificateOrderCollectionIterator, err error) {
776	if tracing.IsEnabled() {
777		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ListByResourceGroup")
778		defer func() {
779			sc := -1
780			if result.Response().Response.Response != nil {
781				sc = result.page.Response().Response.Response.StatusCode
782			}
783			tracing.EndSpan(ctx, sc, err)
784		}()
785	}
786	result.page, err = client.ListByResourceGroup(ctx, resourceGroupName)
787	return
788}
789
790// ListCertificates description for List all certificates associated with a certificate order.
791// Parameters:
792// resourceGroupName - name of the resource group to which the resource belongs.
793// certificateOrderName - name of the certificate order.
794func (client AppServiceCertificateOrdersClient) ListCertificates(ctx context.Context, resourceGroupName string, certificateOrderName string) (result AppServiceCertificateCollectionPage, err error) {
795	if tracing.IsEnabled() {
796		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ListCertificates")
797		defer func() {
798			sc := -1
799			if result.ascc.Response.Response != nil {
800				sc = result.ascc.Response.Response.StatusCode
801			}
802			tracing.EndSpan(ctx, sc, err)
803		}()
804	}
805	if err := validation.Validate([]validation.Validation{
806		{TargetValue: resourceGroupName,
807			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
808				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
809				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
810		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ListCertificates", err.Error())
811	}
812
813	result.fn = client.listCertificatesNextResults
814	req, err := client.ListCertificatesPreparer(ctx, resourceGroupName, certificateOrderName)
815	if err != nil {
816		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListCertificates", nil, "Failure preparing request")
817		return
818	}
819
820	resp, err := client.ListCertificatesSender(req)
821	if err != nil {
822		result.ascc.Response = autorest.Response{Response: resp}
823		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListCertificates", resp, "Failure sending request")
824		return
825	}
826
827	result.ascc, err = client.ListCertificatesResponder(resp)
828	if err != nil {
829		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListCertificates", resp, "Failure responding to request")
830		return
831	}
832	if result.ascc.hasNextLink() && result.ascc.IsEmpty() {
833		err = result.NextWithContext(ctx)
834		return
835	}
836
837	return
838}
839
840// ListCertificatesPreparer prepares the ListCertificates request.
841func (client AppServiceCertificateOrdersClient) ListCertificatesPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) {
842	pathParameters := map[string]interface{}{
843		"certificateOrderName": autorest.Encode("path", certificateOrderName),
844		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
845		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
846	}
847
848	const APIVersion = "2021-02-01"
849	queryParameters := map[string]interface{}{
850		"api-version": APIVersion,
851	}
852
853	preparer := autorest.CreatePreparer(
854		autorest.AsGet(),
855		autorest.WithBaseURL(client.BaseURI),
856		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates", pathParameters),
857		autorest.WithQueryParameters(queryParameters))
858	return preparer.Prepare((&http.Request{}).WithContext(ctx))
859}
860
861// ListCertificatesSender sends the ListCertificates request. The method will close the
862// http.Response Body if it receives an error.
863func (client AppServiceCertificateOrdersClient) ListCertificatesSender(req *http.Request) (*http.Response, error) {
864	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
865}
866
867// ListCertificatesResponder handles the response to the ListCertificates request. The method always
868// closes the http.Response Body.
869func (client AppServiceCertificateOrdersClient) ListCertificatesResponder(resp *http.Response) (result AppServiceCertificateCollection, err error) {
870	err = autorest.Respond(
871		resp,
872		azure.WithErrorUnlessStatusCode(http.StatusOK),
873		autorest.ByUnmarshallingJSON(&result),
874		autorest.ByClosing())
875	result.Response = autorest.Response{Response: resp}
876	return
877}
878
879// listCertificatesNextResults retrieves the next set of results, if any.
880func (client AppServiceCertificateOrdersClient) listCertificatesNextResults(ctx context.Context, lastResults AppServiceCertificateCollection) (result AppServiceCertificateCollection, err error) {
881	req, err := lastResults.appServiceCertificateCollectionPreparer(ctx)
882	if err != nil {
883		return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listCertificatesNextResults", nil, "Failure preparing next results request")
884	}
885	if req == nil {
886		return
887	}
888	resp, err := client.ListCertificatesSender(req)
889	if err != nil {
890		result.Response = autorest.Response{Response: resp}
891		return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listCertificatesNextResults", resp, "Failure sending next results request")
892	}
893	result, err = client.ListCertificatesResponder(resp)
894	if err != nil {
895		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listCertificatesNextResults", resp, "Failure responding to next results request")
896	}
897	return
898}
899
900// ListCertificatesComplete enumerates all values, automatically crossing page boundaries as required.
901func (client AppServiceCertificateOrdersClient) ListCertificatesComplete(ctx context.Context, resourceGroupName string, certificateOrderName string) (result AppServiceCertificateCollectionIterator, err error) {
902	if tracing.IsEnabled() {
903		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ListCertificates")
904		defer func() {
905			sc := -1
906			if result.Response().Response.Response != nil {
907				sc = result.page.Response().Response.Response.StatusCode
908			}
909			tracing.EndSpan(ctx, sc, err)
910		}()
911	}
912	result.page, err = client.ListCertificates(ctx, resourceGroupName, certificateOrderName)
913	return
914}
915
916// Reissue description for Reissue an existing certificate order.
917// Parameters:
918// resourceGroupName - name of the resource group to which the resource belongs.
919// certificateOrderName - name of the certificate order.
920// reissueCertificateOrderRequest - parameters for the reissue.
921func (client AppServiceCertificateOrdersClient) Reissue(ctx context.Context, resourceGroupName string, certificateOrderName string, reissueCertificateOrderRequest ReissueCertificateOrderRequest) (result autorest.Response, err error) {
922	if tracing.IsEnabled() {
923		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Reissue")
924		defer func() {
925			sc := -1
926			if result.Response != nil {
927				sc = result.Response.StatusCode
928			}
929			tracing.EndSpan(ctx, sc, err)
930		}()
931	}
932	if err := validation.Validate([]validation.Validation{
933		{TargetValue: resourceGroupName,
934			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
935				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
936				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
937		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Reissue", err.Error())
938	}
939
940	req, err := client.ReissuePreparer(ctx, resourceGroupName, certificateOrderName, reissueCertificateOrderRequest)
941	if err != nil {
942		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Reissue", nil, "Failure preparing request")
943		return
944	}
945
946	resp, err := client.ReissueSender(req)
947	if err != nil {
948		result.Response = resp
949		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Reissue", resp, "Failure sending request")
950		return
951	}
952
953	result, err = client.ReissueResponder(resp)
954	if err != nil {
955		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Reissue", resp, "Failure responding to request")
956		return
957	}
958
959	return
960}
961
962// ReissuePreparer prepares the Reissue request.
963func (client AppServiceCertificateOrdersClient) ReissuePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, reissueCertificateOrderRequest ReissueCertificateOrderRequest) (*http.Request, error) {
964	pathParameters := map[string]interface{}{
965		"certificateOrderName": autorest.Encode("path", certificateOrderName),
966		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
967		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
968	}
969
970	const APIVersion = "2021-02-01"
971	queryParameters := map[string]interface{}{
972		"api-version": APIVersion,
973	}
974
975	preparer := autorest.CreatePreparer(
976		autorest.AsContentType("application/json; charset=utf-8"),
977		autorest.AsPost(),
978		autorest.WithBaseURL(client.BaseURI),
979		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/reissue", pathParameters),
980		autorest.WithJSON(reissueCertificateOrderRequest),
981		autorest.WithQueryParameters(queryParameters))
982	return preparer.Prepare((&http.Request{}).WithContext(ctx))
983}
984
985// ReissueSender sends the Reissue request. The method will close the
986// http.Response Body if it receives an error.
987func (client AppServiceCertificateOrdersClient) ReissueSender(req *http.Request) (*http.Response, error) {
988	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
989}
990
991// ReissueResponder handles the response to the Reissue request. The method always
992// closes the http.Response Body.
993func (client AppServiceCertificateOrdersClient) ReissueResponder(resp *http.Response) (result autorest.Response, err error) {
994	err = autorest.Respond(
995		resp,
996		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
997		autorest.ByClosing())
998	result.Response = resp
999	return
1000}
1001
1002// Renew description for Renew an existing certificate order.
1003// Parameters:
1004// resourceGroupName - name of the resource group to which the resource belongs.
1005// certificateOrderName - name of the certificate order.
1006// renewCertificateOrderRequest - renew parameters
1007func (client AppServiceCertificateOrdersClient) Renew(ctx context.Context, resourceGroupName string, certificateOrderName string, renewCertificateOrderRequest RenewCertificateOrderRequest) (result autorest.Response, err error) {
1008	if tracing.IsEnabled() {
1009		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Renew")
1010		defer func() {
1011			sc := -1
1012			if result.Response != nil {
1013				sc = result.Response.StatusCode
1014			}
1015			tracing.EndSpan(ctx, sc, err)
1016		}()
1017	}
1018	if err := validation.Validate([]validation.Validation{
1019		{TargetValue: resourceGroupName,
1020			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1021				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1022				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1023		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Renew", err.Error())
1024	}
1025
1026	req, err := client.RenewPreparer(ctx, resourceGroupName, certificateOrderName, renewCertificateOrderRequest)
1027	if err != nil {
1028		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Renew", nil, "Failure preparing request")
1029		return
1030	}
1031
1032	resp, err := client.RenewSender(req)
1033	if err != nil {
1034		result.Response = resp
1035		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Renew", resp, "Failure sending request")
1036		return
1037	}
1038
1039	result, err = client.RenewResponder(resp)
1040	if err != nil {
1041		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Renew", resp, "Failure responding to request")
1042		return
1043	}
1044
1045	return
1046}
1047
1048// RenewPreparer prepares the Renew request.
1049func (client AppServiceCertificateOrdersClient) RenewPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, renewCertificateOrderRequest RenewCertificateOrderRequest) (*http.Request, error) {
1050	pathParameters := map[string]interface{}{
1051		"certificateOrderName": autorest.Encode("path", certificateOrderName),
1052		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
1053		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
1054	}
1055
1056	const APIVersion = "2021-02-01"
1057	queryParameters := map[string]interface{}{
1058		"api-version": APIVersion,
1059	}
1060
1061	preparer := autorest.CreatePreparer(
1062		autorest.AsContentType("application/json; charset=utf-8"),
1063		autorest.AsPost(),
1064		autorest.WithBaseURL(client.BaseURI),
1065		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/renew", pathParameters),
1066		autorest.WithJSON(renewCertificateOrderRequest),
1067		autorest.WithQueryParameters(queryParameters))
1068	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1069}
1070
1071// RenewSender sends the Renew request. The method will close the
1072// http.Response Body if it receives an error.
1073func (client AppServiceCertificateOrdersClient) RenewSender(req *http.Request) (*http.Response, error) {
1074	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1075}
1076
1077// RenewResponder handles the response to the Renew request. The method always
1078// closes the http.Response Body.
1079func (client AppServiceCertificateOrdersClient) RenewResponder(resp *http.Response) (result autorest.Response, err error) {
1080	err = autorest.Respond(
1081		resp,
1082		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1083		autorest.ByClosing())
1084	result.Response = resp
1085	return
1086}
1087
1088// ResendEmail description for Resend certificate email.
1089// Parameters:
1090// resourceGroupName - name of the resource group to which the resource belongs.
1091// certificateOrderName - name of the certificate order.
1092func (client AppServiceCertificateOrdersClient) ResendEmail(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) {
1093	if tracing.IsEnabled() {
1094		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ResendEmail")
1095		defer func() {
1096			sc := -1
1097			if result.Response != nil {
1098				sc = result.Response.StatusCode
1099			}
1100			tracing.EndSpan(ctx, sc, err)
1101		}()
1102	}
1103	if err := validation.Validate([]validation.Validation{
1104		{TargetValue: resourceGroupName,
1105			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1106				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1107				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1108		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ResendEmail", err.Error())
1109	}
1110
1111	req, err := client.ResendEmailPreparer(ctx, resourceGroupName, certificateOrderName)
1112	if err != nil {
1113		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendEmail", nil, "Failure preparing request")
1114		return
1115	}
1116
1117	resp, err := client.ResendEmailSender(req)
1118	if err != nil {
1119		result.Response = resp
1120		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendEmail", resp, "Failure sending request")
1121		return
1122	}
1123
1124	result, err = client.ResendEmailResponder(resp)
1125	if err != nil {
1126		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendEmail", resp, "Failure responding to request")
1127		return
1128	}
1129
1130	return
1131}
1132
1133// ResendEmailPreparer prepares the ResendEmail request.
1134func (client AppServiceCertificateOrdersClient) ResendEmailPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) {
1135	pathParameters := map[string]interface{}{
1136		"certificateOrderName": autorest.Encode("path", certificateOrderName),
1137		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
1138		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
1139	}
1140
1141	const APIVersion = "2021-02-01"
1142	queryParameters := map[string]interface{}{
1143		"api-version": APIVersion,
1144	}
1145
1146	preparer := autorest.CreatePreparer(
1147		autorest.AsPost(),
1148		autorest.WithBaseURL(client.BaseURI),
1149		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendEmail", pathParameters),
1150		autorest.WithQueryParameters(queryParameters))
1151	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1152}
1153
1154// ResendEmailSender sends the ResendEmail request. The method will close the
1155// http.Response Body if it receives an error.
1156func (client AppServiceCertificateOrdersClient) ResendEmailSender(req *http.Request) (*http.Response, error) {
1157	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1158}
1159
1160// ResendEmailResponder handles the response to the ResendEmail request. The method always
1161// closes the http.Response Body.
1162func (client AppServiceCertificateOrdersClient) ResendEmailResponder(resp *http.Response) (result autorest.Response, err error) {
1163	err = autorest.Respond(
1164		resp,
1165		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1166		autorest.ByClosing())
1167	result.Response = resp
1168	return
1169}
1170
1171// ResendRequestEmails resend domain verification ownership email containing steps on how to verify a domain for a
1172// given certificate order
1173// Parameters:
1174// resourceGroupName - name of the resource group to which the resource belongs.
1175// certificateOrderName - name of the certificate order.
1176// nameIdentifier - email address
1177func (client AppServiceCertificateOrdersClient) ResendRequestEmails(ctx context.Context, resourceGroupName string, certificateOrderName string, nameIdentifier NameIdentifier) (result autorest.Response, err error) {
1178	if tracing.IsEnabled() {
1179		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ResendRequestEmails")
1180		defer func() {
1181			sc := -1
1182			if result.Response != nil {
1183				sc = result.Response.StatusCode
1184			}
1185			tracing.EndSpan(ctx, sc, err)
1186		}()
1187	}
1188	if err := validation.Validate([]validation.Validation{
1189		{TargetValue: resourceGroupName,
1190			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1191				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1192				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1193		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ResendRequestEmails", err.Error())
1194	}
1195
1196	req, err := client.ResendRequestEmailsPreparer(ctx, resourceGroupName, certificateOrderName, nameIdentifier)
1197	if err != nil {
1198		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendRequestEmails", nil, "Failure preparing request")
1199		return
1200	}
1201
1202	resp, err := client.ResendRequestEmailsSender(req)
1203	if err != nil {
1204		result.Response = resp
1205		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendRequestEmails", resp, "Failure sending request")
1206		return
1207	}
1208
1209	result, err = client.ResendRequestEmailsResponder(resp)
1210	if err != nil {
1211		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendRequestEmails", resp, "Failure responding to request")
1212		return
1213	}
1214
1215	return
1216}
1217
1218// ResendRequestEmailsPreparer prepares the ResendRequestEmails request.
1219func (client AppServiceCertificateOrdersClient) ResendRequestEmailsPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, nameIdentifier NameIdentifier) (*http.Request, error) {
1220	pathParameters := map[string]interface{}{
1221		"certificateOrderName": autorest.Encode("path", certificateOrderName),
1222		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
1223		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
1224	}
1225
1226	const APIVersion = "2021-02-01"
1227	queryParameters := map[string]interface{}{
1228		"api-version": APIVersion,
1229	}
1230
1231	preparer := autorest.CreatePreparer(
1232		autorest.AsContentType("application/json; charset=utf-8"),
1233		autorest.AsPost(),
1234		autorest.WithBaseURL(client.BaseURI),
1235		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails", pathParameters),
1236		autorest.WithJSON(nameIdentifier),
1237		autorest.WithQueryParameters(queryParameters))
1238	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1239}
1240
1241// ResendRequestEmailsSender sends the ResendRequestEmails request. The method will close the
1242// http.Response Body if it receives an error.
1243func (client AppServiceCertificateOrdersClient) ResendRequestEmailsSender(req *http.Request) (*http.Response, error) {
1244	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1245}
1246
1247// ResendRequestEmailsResponder handles the response to the ResendRequestEmails request. The method always
1248// closes the http.Response Body.
1249func (client AppServiceCertificateOrdersClient) ResendRequestEmailsResponder(resp *http.Response) (result autorest.Response, err error) {
1250	err = autorest.Respond(
1251		resp,
1252		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1253		autorest.ByClosing())
1254	result.Response = resp
1255	return
1256}
1257
1258// RetrieveCertificateActions description for Retrieve the list of certificate actions.
1259// Parameters:
1260// resourceGroupName - name of the resource group to which the resource belongs.
1261// name - name of the certificate order.
1262func (client AppServiceCertificateOrdersClient) RetrieveCertificateActions(ctx context.Context, resourceGroupName string, name string) (result ListCertificateOrderAction, err error) {
1263	if tracing.IsEnabled() {
1264		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.RetrieveCertificateActions")
1265		defer func() {
1266			sc := -1
1267			if result.Response.Response != nil {
1268				sc = result.Response.Response.StatusCode
1269			}
1270			tracing.EndSpan(ctx, sc, err)
1271		}()
1272	}
1273	if err := validation.Validate([]validation.Validation{
1274		{TargetValue: resourceGroupName,
1275			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1276				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1277				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1278		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "RetrieveCertificateActions", err.Error())
1279	}
1280
1281	req, err := client.RetrieveCertificateActionsPreparer(ctx, resourceGroupName, name)
1282	if err != nil {
1283		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateActions", nil, "Failure preparing request")
1284		return
1285	}
1286
1287	resp, err := client.RetrieveCertificateActionsSender(req)
1288	if err != nil {
1289		result.Response = autorest.Response{Response: resp}
1290		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateActions", resp, "Failure sending request")
1291		return
1292	}
1293
1294	result, err = client.RetrieveCertificateActionsResponder(resp)
1295	if err != nil {
1296		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateActions", resp, "Failure responding to request")
1297		return
1298	}
1299
1300	return
1301}
1302
1303// RetrieveCertificateActionsPreparer prepares the RetrieveCertificateActions request.
1304func (client AppServiceCertificateOrdersClient) RetrieveCertificateActionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
1305	pathParameters := map[string]interface{}{
1306		"name":              autorest.Encode("path", name),
1307		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1308		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1309	}
1310
1311	const APIVersion = "2021-02-01"
1312	queryParameters := map[string]interface{}{
1313		"api-version": APIVersion,
1314	}
1315
1316	preparer := autorest.CreatePreparer(
1317		autorest.AsPost(),
1318		autorest.WithBaseURL(client.BaseURI),
1319		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions", pathParameters),
1320		autorest.WithQueryParameters(queryParameters))
1321	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1322}
1323
1324// RetrieveCertificateActionsSender sends the RetrieveCertificateActions request. The method will close the
1325// http.Response Body if it receives an error.
1326func (client AppServiceCertificateOrdersClient) RetrieveCertificateActionsSender(req *http.Request) (*http.Response, error) {
1327	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1328}
1329
1330// RetrieveCertificateActionsResponder handles the response to the RetrieveCertificateActions request. The method always
1331// closes the http.Response Body.
1332func (client AppServiceCertificateOrdersClient) RetrieveCertificateActionsResponder(resp *http.Response) (result ListCertificateOrderAction, err error) {
1333	err = autorest.Respond(
1334		resp,
1335		azure.WithErrorUnlessStatusCode(http.StatusOK),
1336		autorest.ByUnmarshallingJSON(&result.Value),
1337		autorest.ByClosing())
1338	result.Response = autorest.Response{Response: resp}
1339	return
1340}
1341
1342// RetrieveCertificateEmailHistory description for Retrieve email history.
1343// Parameters:
1344// resourceGroupName - name of the resource group to which the resource belongs.
1345// name - name of the certificate order.
1346func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistory(ctx context.Context, resourceGroupName string, name string) (result ListCertificateEmail, err error) {
1347	if tracing.IsEnabled() {
1348		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.RetrieveCertificateEmailHistory")
1349		defer func() {
1350			sc := -1
1351			if result.Response.Response != nil {
1352				sc = result.Response.Response.StatusCode
1353			}
1354			tracing.EndSpan(ctx, sc, err)
1355		}()
1356	}
1357	if err := validation.Validate([]validation.Validation{
1358		{TargetValue: resourceGroupName,
1359			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1360				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1361				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1362		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "RetrieveCertificateEmailHistory", err.Error())
1363	}
1364
1365	req, err := client.RetrieveCertificateEmailHistoryPreparer(ctx, resourceGroupName, name)
1366	if err != nil {
1367		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateEmailHistory", nil, "Failure preparing request")
1368		return
1369	}
1370
1371	resp, err := client.RetrieveCertificateEmailHistorySender(req)
1372	if err != nil {
1373		result.Response = autorest.Response{Response: resp}
1374		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateEmailHistory", resp, "Failure sending request")
1375		return
1376	}
1377
1378	result, err = client.RetrieveCertificateEmailHistoryResponder(resp)
1379	if err != nil {
1380		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateEmailHistory", resp, "Failure responding to request")
1381		return
1382	}
1383
1384	return
1385}
1386
1387// RetrieveCertificateEmailHistoryPreparer prepares the RetrieveCertificateEmailHistory request.
1388func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistoryPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) {
1389	pathParameters := map[string]interface{}{
1390		"name":              autorest.Encode("path", name),
1391		"resourceGroupName": autorest.Encode("path", resourceGroupName),
1392		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
1393	}
1394
1395	const APIVersion = "2021-02-01"
1396	queryParameters := map[string]interface{}{
1397		"api-version": APIVersion,
1398	}
1399
1400	preparer := autorest.CreatePreparer(
1401		autorest.AsPost(),
1402		autorest.WithBaseURL(client.BaseURI),
1403		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory", pathParameters),
1404		autorest.WithQueryParameters(queryParameters))
1405	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1406}
1407
1408// RetrieveCertificateEmailHistorySender sends the RetrieveCertificateEmailHistory request. The method will close the
1409// http.Response Body if it receives an error.
1410func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistorySender(req *http.Request) (*http.Response, error) {
1411	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1412}
1413
1414// RetrieveCertificateEmailHistoryResponder handles the response to the RetrieveCertificateEmailHistory request. The method always
1415// closes the http.Response Body.
1416func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistoryResponder(resp *http.Response) (result ListCertificateEmail, err error) {
1417	err = autorest.Respond(
1418		resp,
1419		azure.WithErrorUnlessStatusCode(http.StatusOK),
1420		autorest.ByUnmarshallingJSON(&result.Value),
1421		autorest.ByClosing())
1422	result.Response = autorest.Response{Response: resp}
1423	return
1424}
1425
1426// RetrieveSiteSeal this method is used to obtain the site seal information for an issued certificate. A site seal is a
1427// graphic that the certificate purchaser can embed on their web site to show their visitors information about their
1428// SSL certificate. If a web site visitor clicks on the site seal image, a pop-up page is displayed that contains
1429// detailed information about the SSL certificate. The site seal token is used to link the site seal graphic image to
1430// the appropriate certificate details pop-up page display when a user clicks on the site seal. The site seal images
1431// are expected to be static images and hosted by the reseller, to minimize delays for customer page load times.
1432// Parameters:
1433// resourceGroupName - name of the resource group to which the resource belongs.
1434// certificateOrderName - name of the certificate order.
1435// siteSealRequest - site seal request.
1436func (client AppServiceCertificateOrdersClient) RetrieveSiteSeal(ctx context.Context, resourceGroupName string, certificateOrderName string, siteSealRequest SiteSealRequest) (result SiteSeal, err error) {
1437	if tracing.IsEnabled() {
1438		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.RetrieveSiteSeal")
1439		defer func() {
1440			sc := -1
1441			if result.Response.Response != nil {
1442				sc = result.Response.Response.StatusCode
1443			}
1444			tracing.EndSpan(ctx, sc, err)
1445		}()
1446	}
1447	if err := validation.Validate([]validation.Validation{
1448		{TargetValue: resourceGroupName,
1449			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1450				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1451				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1452		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "RetrieveSiteSeal", err.Error())
1453	}
1454
1455	req, err := client.RetrieveSiteSealPreparer(ctx, resourceGroupName, certificateOrderName, siteSealRequest)
1456	if err != nil {
1457		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveSiteSeal", nil, "Failure preparing request")
1458		return
1459	}
1460
1461	resp, err := client.RetrieveSiteSealSender(req)
1462	if err != nil {
1463		result.Response = autorest.Response{Response: resp}
1464		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveSiteSeal", resp, "Failure sending request")
1465		return
1466	}
1467
1468	result, err = client.RetrieveSiteSealResponder(resp)
1469	if err != nil {
1470		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveSiteSeal", resp, "Failure responding to request")
1471		return
1472	}
1473
1474	return
1475}
1476
1477// RetrieveSiteSealPreparer prepares the RetrieveSiteSeal request.
1478func (client AppServiceCertificateOrdersClient) RetrieveSiteSealPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, siteSealRequest SiteSealRequest) (*http.Request, error) {
1479	pathParameters := map[string]interface{}{
1480		"certificateOrderName": autorest.Encode("path", certificateOrderName),
1481		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
1482		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
1483	}
1484
1485	const APIVersion = "2021-02-01"
1486	queryParameters := map[string]interface{}{
1487		"api-version": APIVersion,
1488	}
1489
1490	preparer := autorest.CreatePreparer(
1491		autorest.AsContentType("application/json; charset=utf-8"),
1492		autorest.AsPost(),
1493		autorest.WithBaseURL(client.BaseURI),
1494		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal", pathParameters),
1495		autorest.WithJSON(siteSealRequest),
1496		autorest.WithQueryParameters(queryParameters))
1497	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1498}
1499
1500// RetrieveSiteSealSender sends the RetrieveSiteSeal request. The method will close the
1501// http.Response Body if it receives an error.
1502func (client AppServiceCertificateOrdersClient) RetrieveSiteSealSender(req *http.Request) (*http.Response, error) {
1503	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1504}
1505
1506// RetrieveSiteSealResponder handles the response to the RetrieveSiteSeal request. The method always
1507// closes the http.Response Body.
1508func (client AppServiceCertificateOrdersClient) RetrieveSiteSealResponder(resp *http.Response) (result SiteSeal, err error) {
1509	err = autorest.Respond(
1510		resp,
1511		azure.WithErrorUnlessStatusCode(http.StatusOK),
1512		autorest.ByUnmarshallingJSON(&result),
1513		autorest.ByClosing())
1514	result.Response = autorest.Response{Response: resp}
1515	return
1516}
1517
1518// Update description for Create or update a certificate purchase order.
1519// Parameters:
1520// resourceGroupName - name of the resource group to which the resource belongs.
1521// certificateOrderName - name of the certificate order.
1522// certificateDistinguishedName - distinguished name to use for the certificate order.
1523func (client AppServiceCertificateOrdersClient) Update(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrderPatchResource) (result AppServiceCertificateOrder, err error) {
1524	if tracing.IsEnabled() {
1525		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Update")
1526		defer func() {
1527			sc := -1
1528			if result.Response.Response != nil {
1529				sc = result.Response.Response.StatusCode
1530			}
1531			tracing.EndSpan(ctx, sc, err)
1532		}()
1533	}
1534	if err := validation.Validate([]validation.Validation{
1535		{TargetValue: resourceGroupName,
1536			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1537				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1538				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1539		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Update", err.Error())
1540	}
1541
1542	req, err := client.UpdatePreparer(ctx, resourceGroupName, certificateOrderName, certificateDistinguishedName)
1543	if err != nil {
1544		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Update", nil, "Failure preparing request")
1545		return
1546	}
1547
1548	resp, err := client.UpdateSender(req)
1549	if err != nil {
1550		result.Response = autorest.Response{Response: resp}
1551		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Update", resp, "Failure sending request")
1552		return
1553	}
1554
1555	result, err = client.UpdateResponder(resp)
1556	if err != nil {
1557		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Update", resp, "Failure responding to request")
1558		return
1559	}
1560
1561	return
1562}
1563
1564// UpdatePreparer prepares the Update request.
1565func (client AppServiceCertificateOrdersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrderPatchResource) (*http.Request, error) {
1566	pathParameters := map[string]interface{}{
1567		"certificateOrderName": autorest.Encode("path", certificateOrderName),
1568		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
1569		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
1570	}
1571
1572	const APIVersion = "2021-02-01"
1573	queryParameters := map[string]interface{}{
1574		"api-version": APIVersion,
1575	}
1576
1577	preparer := autorest.CreatePreparer(
1578		autorest.AsContentType("application/json; charset=utf-8"),
1579		autorest.AsPatch(),
1580		autorest.WithBaseURL(client.BaseURI),
1581		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", pathParameters),
1582		autorest.WithJSON(certificateDistinguishedName),
1583		autorest.WithQueryParameters(queryParameters))
1584	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1585}
1586
1587// UpdateSender sends the Update request. The method will close the
1588// http.Response Body if it receives an error.
1589func (client AppServiceCertificateOrdersClient) UpdateSender(req *http.Request) (*http.Response, error) {
1590	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1591}
1592
1593// UpdateResponder handles the response to the Update request. The method always
1594// closes the http.Response Body.
1595func (client AppServiceCertificateOrdersClient) UpdateResponder(resp *http.Response) (result AppServiceCertificateOrder, err error) {
1596	err = autorest.Respond(
1597		resp,
1598		azure.WithErrorUnlessStatusCode(http.StatusOK),
1599		autorest.ByUnmarshallingJSON(&result),
1600		autorest.ByClosing())
1601	result.Response = autorest.Response{Response: resp}
1602	return
1603}
1604
1605// UpdateCertificate description for Creates or updates a certificate and associates with key vault secret.
1606// Parameters:
1607// resourceGroupName - name of the resource group to which the resource belongs.
1608// certificateOrderName - name of the certificate order.
1609// name - name of the certificate.
1610// keyVaultCertificate - key vault certificate resource Id.
1611func (client AppServiceCertificateOrdersClient) UpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificatePatchResource) (result AppServiceCertificateResource, err error) {
1612	if tracing.IsEnabled() {
1613		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.UpdateCertificate")
1614		defer func() {
1615			sc := -1
1616			if result.Response.Response != nil {
1617				sc = result.Response.Response.StatusCode
1618			}
1619			tracing.EndSpan(ctx, sc, err)
1620		}()
1621	}
1622	if err := validation.Validate([]validation.Validation{
1623		{TargetValue: resourceGroupName,
1624			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1625				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1626				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1627		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "UpdateCertificate", err.Error())
1628	}
1629
1630	req, err := client.UpdateCertificatePreparer(ctx, resourceGroupName, certificateOrderName, name, keyVaultCertificate)
1631	if err != nil {
1632		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "UpdateCertificate", nil, "Failure preparing request")
1633		return
1634	}
1635
1636	resp, err := client.UpdateCertificateSender(req)
1637	if err != nil {
1638		result.Response = autorest.Response{Response: resp}
1639		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "UpdateCertificate", resp, "Failure sending request")
1640		return
1641	}
1642
1643	result, err = client.UpdateCertificateResponder(resp)
1644	if err != nil {
1645		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "UpdateCertificate", resp, "Failure responding to request")
1646		return
1647	}
1648
1649	return
1650}
1651
1652// UpdateCertificatePreparer prepares the UpdateCertificate request.
1653func (client AppServiceCertificateOrdersClient) UpdateCertificatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificatePatchResource) (*http.Request, error) {
1654	pathParameters := map[string]interface{}{
1655		"certificateOrderName": autorest.Encode("path", certificateOrderName),
1656		"name":                 autorest.Encode("path", name),
1657		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
1658		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
1659	}
1660
1661	const APIVersion = "2021-02-01"
1662	queryParameters := map[string]interface{}{
1663		"api-version": APIVersion,
1664	}
1665
1666	preparer := autorest.CreatePreparer(
1667		autorest.AsContentType("application/json; charset=utf-8"),
1668		autorest.AsPatch(),
1669		autorest.WithBaseURL(client.BaseURI),
1670		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", pathParameters),
1671		autorest.WithJSON(keyVaultCertificate),
1672		autorest.WithQueryParameters(queryParameters))
1673	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1674}
1675
1676// UpdateCertificateSender sends the UpdateCertificate request. The method will close the
1677// http.Response Body if it receives an error.
1678func (client AppServiceCertificateOrdersClient) UpdateCertificateSender(req *http.Request) (*http.Response, error) {
1679	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1680}
1681
1682// UpdateCertificateResponder handles the response to the UpdateCertificate request. The method always
1683// closes the http.Response Body.
1684func (client AppServiceCertificateOrdersClient) UpdateCertificateResponder(resp *http.Response) (result AppServiceCertificateResource, err error) {
1685	err = autorest.Respond(
1686		resp,
1687		azure.WithErrorUnlessStatusCode(http.StatusOK),
1688		autorest.ByUnmarshallingJSON(&result),
1689		autorest.ByClosing())
1690	result.Response = autorest.Response{Response: resp}
1691	return
1692}
1693
1694// ValidatePurchaseInformation description for Validate information for a certificate order.
1695// Parameters:
1696// appServiceCertificateOrder - information for a certificate order.
1697func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformation(ctx context.Context, appServiceCertificateOrder AppServiceCertificateOrder) (result autorest.Response, err error) {
1698	if tracing.IsEnabled() {
1699		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ValidatePurchaseInformation")
1700		defer func() {
1701			sc := -1
1702			if result.Response != nil {
1703				sc = result.Response.StatusCode
1704			}
1705			tracing.EndSpan(ctx, sc, err)
1706		}()
1707	}
1708	req, err := client.ValidatePurchaseInformationPreparer(ctx, appServiceCertificateOrder)
1709	if err != nil {
1710		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ValidatePurchaseInformation", nil, "Failure preparing request")
1711		return
1712	}
1713
1714	resp, err := client.ValidatePurchaseInformationSender(req)
1715	if err != nil {
1716		result.Response = resp
1717		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ValidatePurchaseInformation", resp, "Failure sending request")
1718		return
1719	}
1720
1721	result, err = client.ValidatePurchaseInformationResponder(resp)
1722	if err != nil {
1723		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ValidatePurchaseInformation", resp, "Failure responding to request")
1724		return
1725	}
1726
1727	return
1728}
1729
1730// ValidatePurchaseInformationPreparer prepares the ValidatePurchaseInformation request.
1731func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformationPreparer(ctx context.Context, appServiceCertificateOrder AppServiceCertificateOrder) (*http.Request, error) {
1732	pathParameters := map[string]interface{}{
1733		"subscriptionId": autorest.Encode("path", client.SubscriptionID),
1734	}
1735
1736	const APIVersion = "2021-02-01"
1737	queryParameters := map[string]interface{}{
1738		"api-version": APIVersion,
1739	}
1740
1741	preparer := autorest.CreatePreparer(
1742		autorest.AsContentType("application/json; charset=utf-8"),
1743		autorest.AsPost(),
1744		autorest.WithBaseURL(client.BaseURI),
1745		autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation", pathParameters),
1746		autorest.WithJSON(appServiceCertificateOrder),
1747		autorest.WithQueryParameters(queryParameters))
1748	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1749}
1750
1751// ValidatePurchaseInformationSender sends the ValidatePurchaseInformation request. The method will close the
1752// http.Response Body if it receives an error.
1753func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformationSender(req *http.Request) (*http.Response, error) {
1754	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1755}
1756
1757// ValidatePurchaseInformationResponder handles the response to the ValidatePurchaseInformation request. The method always
1758// closes the http.Response Body.
1759func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformationResponder(resp *http.Response) (result autorest.Response, err error) {
1760	err = autorest.Respond(
1761		resp,
1762		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1763		autorest.ByClosing())
1764	result.Response = resp
1765	return
1766}
1767
1768// VerifyDomainOwnership description for Verify domain ownership for this certificate order.
1769// Parameters:
1770// resourceGroupName - name of the resource group to which the resource belongs.
1771// certificateOrderName - name of the certificate order.
1772func (client AppServiceCertificateOrdersClient) VerifyDomainOwnership(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) {
1773	if tracing.IsEnabled() {
1774		ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.VerifyDomainOwnership")
1775		defer func() {
1776			sc := -1
1777			if result.Response != nil {
1778				sc = result.Response.StatusCode
1779			}
1780			tracing.EndSpan(ctx, sc, err)
1781		}()
1782	}
1783	if err := validation.Validate([]validation.Validation{
1784		{TargetValue: resourceGroupName,
1785			Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
1786				{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil},
1787				{Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil {
1788		return result, validation.NewError("web.AppServiceCertificateOrdersClient", "VerifyDomainOwnership", err.Error())
1789	}
1790
1791	req, err := client.VerifyDomainOwnershipPreparer(ctx, resourceGroupName, certificateOrderName)
1792	if err != nil {
1793		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "VerifyDomainOwnership", nil, "Failure preparing request")
1794		return
1795	}
1796
1797	resp, err := client.VerifyDomainOwnershipSender(req)
1798	if err != nil {
1799		result.Response = resp
1800		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "VerifyDomainOwnership", resp, "Failure sending request")
1801		return
1802	}
1803
1804	result, err = client.VerifyDomainOwnershipResponder(resp)
1805	if err != nil {
1806		err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "VerifyDomainOwnership", resp, "Failure responding to request")
1807		return
1808	}
1809
1810	return
1811}
1812
1813// VerifyDomainOwnershipPreparer prepares the VerifyDomainOwnership request.
1814func (client AppServiceCertificateOrdersClient) VerifyDomainOwnershipPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) {
1815	pathParameters := map[string]interface{}{
1816		"certificateOrderName": autorest.Encode("path", certificateOrderName),
1817		"resourceGroupName":    autorest.Encode("path", resourceGroupName),
1818		"subscriptionId":       autorest.Encode("path", client.SubscriptionID),
1819	}
1820
1821	const APIVersion = "2021-02-01"
1822	queryParameters := map[string]interface{}{
1823		"api-version": APIVersion,
1824	}
1825
1826	preparer := autorest.CreatePreparer(
1827		autorest.AsPost(),
1828		autorest.WithBaseURL(client.BaseURI),
1829		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/verifyDomainOwnership", pathParameters),
1830		autorest.WithQueryParameters(queryParameters))
1831	return preparer.Prepare((&http.Request{}).WithContext(ctx))
1832}
1833
1834// VerifyDomainOwnershipSender sends the VerifyDomainOwnership request. The method will close the
1835// http.Response Body if it receives an error.
1836func (client AppServiceCertificateOrdersClient) VerifyDomainOwnershipSender(req *http.Request) (*http.Response, error) {
1837	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
1838}
1839
1840// VerifyDomainOwnershipResponder handles the response to the VerifyDomainOwnership request. The method always
1841// closes the http.Response Body.
1842func (client AppServiceCertificateOrdersClient) VerifyDomainOwnershipResponder(resp *http.Response) (result autorest.Response, err error) {
1843	err = autorest.Respond(
1844		resp,
1845		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1846		autorest.ByClosing())
1847	result.Response = resp
1848	return
1849}
1850