1// +build go1.13 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// Code generated by Microsoft (R) AutoRest Code Generator. 6// Changes may cause incorrect behavior and will be lost if the code is regenerated. 7 8package armweb 9 10import ( 11 "context" 12 "errors" 13 "fmt" 14 "github.com/Azure/azure-sdk-for-go/sdk/armcore" 15 "github.com/Azure/azure-sdk-for-go/sdk/azcore" 16 "net/http" 17 "net/url" 18 "strings" 19 "time" 20) 21 22// AppServiceCertificateOrdersClient contains the methods for the AppServiceCertificateOrders group. 23// Don't use this type directly, use NewAppServiceCertificateOrdersClient() instead. 24type AppServiceCertificateOrdersClient struct { 25 con *armcore.Connection 26 subscriptionID string 27} 28 29// NewAppServiceCertificateOrdersClient creates a new instance of AppServiceCertificateOrdersClient with the specified values. 30func NewAppServiceCertificateOrdersClient(con *armcore.Connection, subscriptionID string) *AppServiceCertificateOrdersClient { 31 return &AppServiceCertificateOrdersClient{con: con, subscriptionID: subscriptionID} 32} 33 34// BeginCreateOrUpdate - Description for Create or update a certificate purchase order. 35// If the operation fails it returns the *DefaultErrorResponse error type. 36func (client *AppServiceCertificateOrdersClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrder, options *AppServiceCertificateOrdersBeginCreateOrUpdateOptions) (AppServiceCertificateOrdersCreateOrUpdatePollerResponse, error) { 37 resp, err := client.createOrUpdate(ctx, resourceGroupName, certificateOrderName, certificateDistinguishedName, options) 38 if err != nil { 39 return AppServiceCertificateOrdersCreateOrUpdatePollerResponse{}, err 40 } 41 result := AppServiceCertificateOrdersCreateOrUpdatePollerResponse{ 42 RawResponse: resp.Response, 43 } 44 pt, err := armcore.NewLROPoller("AppServiceCertificateOrdersClient.CreateOrUpdate", "", resp, client.con.Pipeline(), client.createOrUpdateHandleError) 45 if err != nil { 46 return AppServiceCertificateOrdersCreateOrUpdatePollerResponse{}, err 47 } 48 poller := &appServiceCertificateOrdersCreateOrUpdatePoller{ 49 pt: pt, 50 } 51 result.Poller = poller 52 result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceCertificateOrdersCreateOrUpdateResponse, error) { 53 return poller.pollUntilDone(ctx, frequency) 54 } 55 return result, nil 56} 57 58// ResumeCreateOrUpdate creates a new AppServiceCertificateOrdersCreateOrUpdatePoller from the specified resume token. 59// token - The value must come from a previous call to AppServiceCertificateOrdersCreateOrUpdatePoller.ResumeToken(). 60func (client *AppServiceCertificateOrdersClient) ResumeCreateOrUpdate(ctx context.Context, token string) (AppServiceCertificateOrdersCreateOrUpdatePollerResponse, error) { 61 pt, err := armcore.NewLROPollerFromResumeToken("AppServiceCertificateOrdersClient.CreateOrUpdate", token, client.con.Pipeline(), client.createOrUpdateHandleError) 62 if err != nil { 63 return AppServiceCertificateOrdersCreateOrUpdatePollerResponse{}, err 64 } 65 poller := &appServiceCertificateOrdersCreateOrUpdatePoller{ 66 pt: pt, 67 } 68 resp, err := poller.Poll(ctx) 69 if err != nil { 70 return AppServiceCertificateOrdersCreateOrUpdatePollerResponse{}, err 71 } 72 result := AppServiceCertificateOrdersCreateOrUpdatePollerResponse{ 73 RawResponse: resp, 74 } 75 result.Poller = poller 76 result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceCertificateOrdersCreateOrUpdateResponse, error) { 77 return poller.pollUntilDone(ctx, frequency) 78 } 79 return result, nil 80} 81 82// CreateOrUpdate - Description for Create or update a certificate purchase order. 83// If the operation fails it returns the *DefaultErrorResponse error type. 84func (client *AppServiceCertificateOrdersClient) createOrUpdate(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrder, options *AppServiceCertificateOrdersBeginCreateOrUpdateOptions) (*azcore.Response, error) { 85 req, err := client.createOrUpdateCreateRequest(ctx, resourceGroupName, certificateOrderName, certificateDistinguishedName, options) 86 if err != nil { 87 return nil, err 88 } 89 resp, err := client.con.Pipeline().Do(req) 90 if err != nil { 91 return nil, err 92 } 93 if !resp.HasStatusCode(http.StatusOK, http.StatusCreated) { 94 return nil, client.createOrUpdateHandleError(resp) 95 } 96 return resp, nil 97} 98 99// createOrUpdateCreateRequest creates the CreateOrUpdate request. 100func (client *AppServiceCertificateOrdersClient) createOrUpdateCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrder, options *AppServiceCertificateOrdersBeginCreateOrUpdateOptions) (*azcore.Request, error) { 101 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}" 102 if resourceGroupName == "" { 103 return nil, errors.New("parameter resourceGroupName cannot be empty") 104 } 105 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 106 if certificateOrderName == "" { 107 return nil, errors.New("parameter certificateOrderName cannot be empty") 108 } 109 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 110 if client.subscriptionID == "" { 111 return nil, errors.New("parameter client.subscriptionID cannot be empty") 112 } 113 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 114 req, err := azcore.NewRequest(ctx, http.MethodPut, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 115 if err != nil { 116 return nil, err 117 } 118 req.Telemetry(telemetryInfo) 119 reqQP := req.URL.Query() 120 reqQP.Set("api-version", "2021-01-15") 121 req.URL.RawQuery = reqQP.Encode() 122 req.Header.Set("Accept", "application/json") 123 return req, req.MarshalAsJSON(certificateDistinguishedName) 124} 125 126// createOrUpdateHandleError handles the CreateOrUpdate error response. 127func (client *AppServiceCertificateOrdersClient) createOrUpdateHandleError(resp *azcore.Response) error { 128 body, err := resp.Payload() 129 if err != nil { 130 return azcore.NewResponseError(err, resp.Response) 131 } 132 errType := DefaultErrorResponse{raw: string(body)} 133 if err := resp.UnmarshalAsJSON(&errType); err != nil { 134 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 135 } 136 return azcore.NewResponseError(&errType, resp.Response) 137} 138 139// BeginCreateOrUpdateCertificate - Description for Creates or updates a certificate and associates with key vault secret. 140// If the operation fails it returns the *DefaultErrorResponse error type. 141func (client *AppServiceCertificateOrdersClient) BeginCreateOrUpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificateResource, options *AppServiceCertificateOrdersBeginCreateOrUpdateCertificateOptions) (AppServiceCertificateOrdersCreateOrUpdateCertificatePollerResponse, error) { 142 resp, err := client.createOrUpdateCertificate(ctx, resourceGroupName, certificateOrderName, name, keyVaultCertificate, options) 143 if err != nil { 144 return AppServiceCertificateOrdersCreateOrUpdateCertificatePollerResponse{}, err 145 } 146 result := AppServiceCertificateOrdersCreateOrUpdateCertificatePollerResponse{ 147 RawResponse: resp.Response, 148 } 149 pt, err := armcore.NewLROPoller("AppServiceCertificateOrdersClient.CreateOrUpdateCertificate", "", resp, client.con.Pipeline(), client.createOrUpdateCertificateHandleError) 150 if err != nil { 151 return AppServiceCertificateOrdersCreateOrUpdateCertificatePollerResponse{}, err 152 } 153 poller := &appServiceCertificateOrdersCreateOrUpdateCertificatePoller{ 154 pt: pt, 155 } 156 result.Poller = poller 157 result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceCertificateOrdersCreateOrUpdateCertificateResponse, error) { 158 return poller.pollUntilDone(ctx, frequency) 159 } 160 return result, nil 161} 162 163// ResumeCreateOrUpdateCertificate creates a new AppServiceCertificateOrdersCreateOrUpdateCertificatePoller from the specified resume token. 164// token - The value must come from a previous call to AppServiceCertificateOrdersCreateOrUpdateCertificatePoller.ResumeToken(). 165func (client *AppServiceCertificateOrdersClient) ResumeCreateOrUpdateCertificate(ctx context.Context, token string) (AppServiceCertificateOrdersCreateOrUpdateCertificatePollerResponse, error) { 166 pt, err := armcore.NewLROPollerFromResumeToken("AppServiceCertificateOrdersClient.CreateOrUpdateCertificate", token, client.con.Pipeline(), client.createOrUpdateCertificateHandleError) 167 if err != nil { 168 return AppServiceCertificateOrdersCreateOrUpdateCertificatePollerResponse{}, err 169 } 170 poller := &appServiceCertificateOrdersCreateOrUpdateCertificatePoller{ 171 pt: pt, 172 } 173 resp, err := poller.Poll(ctx) 174 if err != nil { 175 return AppServiceCertificateOrdersCreateOrUpdateCertificatePollerResponse{}, err 176 } 177 result := AppServiceCertificateOrdersCreateOrUpdateCertificatePollerResponse{ 178 RawResponse: resp, 179 } 180 result.Poller = poller 181 result.PollUntilDone = func(ctx context.Context, frequency time.Duration) (AppServiceCertificateOrdersCreateOrUpdateCertificateResponse, error) { 182 return poller.pollUntilDone(ctx, frequency) 183 } 184 return result, nil 185} 186 187// CreateOrUpdateCertificate - Description for Creates or updates a certificate and associates with key vault secret. 188// If the operation fails it returns the *DefaultErrorResponse error type. 189func (client *AppServiceCertificateOrdersClient) createOrUpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificateResource, options *AppServiceCertificateOrdersBeginCreateOrUpdateCertificateOptions) (*azcore.Response, error) { 190 req, err := client.createOrUpdateCertificateCreateRequest(ctx, resourceGroupName, certificateOrderName, name, keyVaultCertificate, options) 191 if err != nil { 192 return nil, err 193 } 194 resp, err := client.con.Pipeline().Do(req) 195 if err != nil { 196 return nil, err 197 } 198 if !resp.HasStatusCode(http.StatusOK, http.StatusCreated) { 199 return nil, client.createOrUpdateCertificateHandleError(resp) 200 } 201 return resp, nil 202} 203 204// createOrUpdateCertificateCreateRequest creates the CreateOrUpdateCertificate request. 205func (client *AppServiceCertificateOrdersClient) createOrUpdateCertificateCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificateResource, options *AppServiceCertificateOrdersBeginCreateOrUpdateCertificateOptions) (*azcore.Request, error) { 206 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}" 207 if resourceGroupName == "" { 208 return nil, errors.New("parameter resourceGroupName cannot be empty") 209 } 210 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 211 if certificateOrderName == "" { 212 return nil, errors.New("parameter certificateOrderName cannot be empty") 213 } 214 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 215 if name == "" { 216 return nil, errors.New("parameter name cannot be empty") 217 } 218 urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name)) 219 if client.subscriptionID == "" { 220 return nil, errors.New("parameter client.subscriptionID cannot be empty") 221 } 222 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 223 req, err := azcore.NewRequest(ctx, http.MethodPut, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 224 if err != nil { 225 return nil, err 226 } 227 req.Telemetry(telemetryInfo) 228 reqQP := req.URL.Query() 229 reqQP.Set("api-version", "2021-01-15") 230 req.URL.RawQuery = reqQP.Encode() 231 req.Header.Set("Accept", "application/json") 232 return req, req.MarshalAsJSON(keyVaultCertificate) 233} 234 235// createOrUpdateCertificateHandleError handles the CreateOrUpdateCertificate error response. 236func (client *AppServiceCertificateOrdersClient) createOrUpdateCertificateHandleError(resp *azcore.Response) error { 237 body, err := resp.Payload() 238 if err != nil { 239 return azcore.NewResponseError(err, resp.Response) 240 } 241 errType := DefaultErrorResponse{raw: string(body)} 242 if err := resp.UnmarshalAsJSON(&errType); err != nil { 243 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 244 } 245 return azcore.NewResponseError(&errType, resp.Response) 246} 247 248// Delete - Description for Delete an existing certificate order. 249// If the operation fails it returns the *DefaultErrorResponse error type. 250func (client *AppServiceCertificateOrdersClient) Delete(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersDeleteOptions) (AppServiceCertificateOrdersDeleteResponse, error) { 251 req, err := client.deleteCreateRequest(ctx, resourceGroupName, certificateOrderName, options) 252 if err != nil { 253 return AppServiceCertificateOrdersDeleteResponse{}, err 254 } 255 resp, err := client.con.Pipeline().Do(req) 256 if err != nil { 257 return AppServiceCertificateOrdersDeleteResponse{}, err 258 } 259 if !resp.HasStatusCode(http.StatusOK, http.StatusNoContent) { 260 return AppServiceCertificateOrdersDeleteResponse{}, client.deleteHandleError(resp) 261 } 262 return AppServiceCertificateOrdersDeleteResponse{RawResponse: resp.Response}, nil 263} 264 265// deleteCreateRequest creates the Delete request. 266func (client *AppServiceCertificateOrdersClient) deleteCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersDeleteOptions) (*azcore.Request, error) { 267 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}" 268 if resourceGroupName == "" { 269 return nil, errors.New("parameter resourceGroupName cannot be empty") 270 } 271 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 272 if certificateOrderName == "" { 273 return nil, errors.New("parameter certificateOrderName cannot be empty") 274 } 275 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 276 if client.subscriptionID == "" { 277 return nil, errors.New("parameter client.subscriptionID cannot be empty") 278 } 279 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 280 req, err := azcore.NewRequest(ctx, http.MethodDelete, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 281 if err != nil { 282 return nil, err 283 } 284 req.Telemetry(telemetryInfo) 285 reqQP := req.URL.Query() 286 reqQP.Set("api-version", "2021-01-15") 287 req.URL.RawQuery = reqQP.Encode() 288 req.Header.Set("Accept", "application/json") 289 return req, nil 290} 291 292// deleteHandleError handles the Delete error response. 293func (client *AppServiceCertificateOrdersClient) deleteHandleError(resp *azcore.Response) error { 294 body, err := resp.Payload() 295 if err != nil { 296 return azcore.NewResponseError(err, resp.Response) 297 } 298 errType := DefaultErrorResponse{raw: string(body)} 299 if err := resp.UnmarshalAsJSON(&errType); err != nil { 300 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 301 } 302 return azcore.NewResponseError(&errType, resp.Response) 303} 304 305// DeleteCertificate - Description for Delete the certificate associated with a certificate order. 306// If the operation fails it returns the *DefaultErrorResponse error type. 307func (client *AppServiceCertificateOrdersClient) DeleteCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, options *AppServiceCertificateOrdersDeleteCertificateOptions) (AppServiceCertificateOrdersDeleteCertificateResponse, error) { 308 req, err := client.deleteCertificateCreateRequest(ctx, resourceGroupName, certificateOrderName, name, options) 309 if err != nil { 310 return AppServiceCertificateOrdersDeleteCertificateResponse{}, err 311 } 312 resp, err := client.con.Pipeline().Do(req) 313 if err != nil { 314 return AppServiceCertificateOrdersDeleteCertificateResponse{}, err 315 } 316 if !resp.HasStatusCode(http.StatusOK, http.StatusNoContent) { 317 return AppServiceCertificateOrdersDeleteCertificateResponse{}, client.deleteCertificateHandleError(resp) 318 } 319 return AppServiceCertificateOrdersDeleteCertificateResponse{RawResponse: resp.Response}, nil 320} 321 322// deleteCertificateCreateRequest creates the DeleteCertificate request. 323func (client *AppServiceCertificateOrdersClient) deleteCertificateCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, options *AppServiceCertificateOrdersDeleteCertificateOptions) (*azcore.Request, error) { 324 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}" 325 if resourceGroupName == "" { 326 return nil, errors.New("parameter resourceGroupName cannot be empty") 327 } 328 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 329 if certificateOrderName == "" { 330 return nil, errors.New("parameter certificateOrderName cannot be empty") 331 } 332 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 333 if name == "" { 334 return nil, errors.New("parameter name cannot be empty") 335 } 336 urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name)) 337 if client.subscriptionID == "" { 338 return nil, errors.New("parameter client.subscriptionID cannot be empty") 339 } 340 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 341 req, err := azcore.NewRequest(ctx, http.MethodDelete, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 342 if err != nil { 343 return nil, err 344 } 345 req.Telemetry(telemetryInfo) 346 reqQP := req.URL.Query() 347 reqQP.Set("api-version", "2021-01-15") 348 req.URL.RawQuery = reqQP.Encode() 349 req.Header.Set("Accept", "application/json") 350 return req, nil 351} 352 353// deleteCertificateHandleError handles the DeleteCertificate error response. 354func (client *AppServiceCertificateOrdersClient) deleteCertificateHandleError(resp *azcore.Response) error { 355 body, err := resp.Payload() 356 if err != nil { 357 return azcore.NewResponseError(err, resp.Response) 358 } 359 errType := DefaultErrorResponse{raw: string(body)} 360 if err := resp.UnmarshalAsJSON(&errType); err != nil { 361 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 362 } 363 return azcore.NewResponseError(&errType, resp.Response) 364} 365 366// Get - Description for Get a certificate order. 367// If the operation fails it returns the *DefaultErrorResponse error type. 368func (client *AppServiceCertificateOrdersClient) Get(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersGetOptions) (AppServiceCertificateOrdersGetResponse, error) { 369 req, err := client.getCreateRequest(ctx, resourceGroupName, certificateOrderName, options) 370 if err != nil { 371 return AppServiceCertificateOrdersGetResponse{}, err 372 } 373 resp, err := client.con.Pipeline().Do(req) 374 if err != nil { 375 return AppServiceCertificateOrdersGetResponse{}, err 376 } 377 if !resp.HasStatusCode(http.StatusOK) { 378 return AppServiceCertificateOrdersGetResponse{}, client.getHandleError(resp) 379 } 380 return client.getHandleResponse(resp) 381} 382 383// getCreateRequest creates the Get request. 384func (client *AppServiceCertificateOrdersClient) getCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersGetOptions) (*azcore.Request, error) { 385 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}" 386 if resourceGroupName == "" { 387 return nil, errors.New("parameter resourceGroupName cannot be empty") 388 } 389 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 390 if certificateOrderName == "" { 391 return nil, errors.New("parameter certificateOrderName cannot be empty") 392 } 393 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 394 if client.subscriptionID == "" { 395 return nil, errors.New("parameter client.subscriptionID cannot be empty") 396 } 397 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 398 req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 399 if err != nil { 400 return nil, err 401 } 402 req.Telemetry(telemetryInfo) 403 reqQP := req.URL.Query() 404 reqQP.Set("api-version", "2021-01-15") 405 req.URL.RawQuery = reqQP.Encode() 406 req.Header.Set("Accept", "application/json") 407 return req, nil 408} 409 410// getHandleResponse handles the Get response. 411func (client *AppServiceCertificateOrdersClient) getHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersGetResponse, error) { 412 result := AppServiceCertificateOrdersGetResponse{RawResponse: resp.Response} 413 if err := resp.UnmarshalAsJSON(&result.AppServiceCertificateOrder); err != nil { 414 return AppServiceCertificateOrdersGetResponse{}, err 415 } 416 return result, nil 417} 418 419// getHandleError handles the Get error response. 420func (client *AppServiceCertificateOrdersClient) getHandleError(resp *azcore.Response) error { 421 body, err := resp.Payload() 422 if err != nil { 423 return azcore.NewResponseError(err, resp.Response) 424 } 425 errType := DefaultErrorResponse{raw: string(body)} 426 if err := resp.UnmarshalAsJSON(&errType); err != nil { 427 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 428 } 429 return azcore.NewResponseError(&errType, resp.Response) 430} 431 432// GetCertificate - Description for Get the certificate associated with a certificate order. 433// If the operation fails it returns the *DefaultErrorResponse error type. 434func (client *AppServiceCertificateOrdersClient) GetCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, options *AppServiceCertificateOrdersGetCertificateOptions) (AppServiceCertificateOrdersGetCertificateResponse, error) { 435 req, err := client.getCertificateCreateRequest(ctx, resourceGroupName, certificateOrderName, name, options) 436 if err != nil { 437 return AppServiceCertificateOrdersGetCertificateResponse{}, err 438 } 439 resp, err := client.con.Pipeline().Do(req) 440 if err != nil { 441 return AppServiceCertificateOrdersGetCertificateResponse{}, err 442 } 443 if !resp.HasStatusCode(http.StatusOK) { 444 return AppServiceCertificateOrdersGetCertificateResponse{}, client.getCertificateHandleError(resp) 445 } 446 return client.getCertificateHandleResponse(resp) 447} 448 449// getCertificateCreateRequest creates the GetCertificate request. 450func (client *AppServiceCertificateOrdersClient) getCertificateCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, options *AppServiceCertificateOrdersGetCertificateOptions) (*azcore.Request, error) { 451 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}" 452 if resourceGroupName == "" { 453 return nil, errors.New("parameter resourceGroupName cannot be empty") 454 } 455 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 456 if certificateOrderName == "" { 457 return nil, errors.New("parameter certificateOrderName cannot be empty") 458 } 459 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 460 if name == "" { 461 return nil, errors.New("parameter name cannot be empty") 462 } 463 urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name)) 464 if client.subscriptionID == "" { 465 return nil, errors.New("parameter client.subscriptionID cannot be empty") 466 } 467 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 468 req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 469 if err != nil { 470 return nil, err 471 } 472 req.Telemetry(telemetryInfo) 473 reqQP := req.URL.Query() 474 reqQP.Set("api-version", "2021-01-15") 475 req.URL.RawQuery = reqQP.Encode() 476 req.Header.Set("Accept", "application/json") 477 return req, nil 478} 479 480// getCertificateHandleResponse handles the GetCertificate response. 481func (client *AppServiceCertificateOrdersClient) getCertificateHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersGetCertificateResponse, error) { 482 result := AppServiceCertificateOrdersGetCertificateResponse{RawResponse: resp.Response} 483 if err := resp.UnmarshalAsJSON(&result.AppServiceCertificateResource); err != nil { 484 return AppServiceCertificateOrdersGetCertificateResponse{}, err 485 } 486 return result, nil 487} 488 489// getCertificateHandleError handles the GetCertificate error response. 490func (client *AppServiceCertificateOrdersClient) getCertificateHandleError(resp *azcore.Response) error { 491 body, err := resp.Payload() 492 if err != nil { 493 return azcore.NewResponseError(err, resp.Response) 494 } 495 errType := DefaultErrorResponse{raw: string(body)} 496 if err := resp.UnmarshalAsJSON(&errType); err != nil { 497 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 498 } 499 return azcore.NewResponseError(&errType, resp.Response) 500} 501 502// List - Description for List all certificate orders in a subscription. 503// If the operation fails it returns the *DefaultErrorResponse error type. 504func (client *AppServiceCertificateOrdersClient) List(options *AppServiceCertificateOrdersListOptions) AppServiceCertificateOrdersListPager { 505 return &appServiceCertificateOrdersListPager{ 506 client: client, 507 requester: func(ctx context.Context) (*azcore.Request, error) { 508 return client.listCreateRequest(ctx, options) 509 }, 510 advancer: func(ctx context.Context, resp AppServiceCertificateOrdersListResponse) (*azcore.Request, error) { 511 return azcore.NewRequest(ctx, http.MethodGet, *resp.AppServiceCertificateOrderCollection.NextLink) 512 }, 513 } 514} 515 516// listCreateRequest creates the List request. 517func (client *AppServiceCertificateOrdersClient) listCreateRequest(ctx context.Context, options *AppServiceCertificateOrdersListOptions) (*azcore.Request, error) { 518 urlPath := "/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders" 519 if client.subscriptionID == "" { 520 return nil, errors.New("parameter client.subscriptionID cannot be empty") 521 } 522 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 523 req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 524 if err != nil { 525 return nil, err 526 } 527 req.Telemetry(telemetryInfo) 528 reqQP := req.URL.Query() 529 reqQP.Set("api-version", "2021-01-15") 530 req.URL.RawQuery = reqQP.Encode() 531 req.Header.Set("Accept", "application/json") 532 return req, nil 533} 534 535// listHandleResponse handles the List response. 536func (client *AppServiceCertificateOrdersClient) listHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersListResponse, error) { 537 result := AppServiceCertificateOrdersListResponse{RawResponse: resp.Response} 538 if err := resp.UnmarshalAsJSON(&result.AppServiceCertificateOrderCollection); err != nil { 539 return AppServiceCertificateOrdersListResponse{}, err 540 } 541 return result, nil 542} 543 544// listHandleError handles the List error response. 545func (client *AppServiceCertificateOrdersClient) listHandleError(resp *azcore.Response) error { 546 body, err := resp.Payload() 547 if err != nil { 548 return azcore.NewResponseError(err, resp.Response) 549 } 550 errType := DefaultErrorResponse{raw: string(body)} 551 if err := resp.UnmarshalAsJSON(&errType); err != nil { 552 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 553 } 554 return azcore.NewResponseError(&errType, resp.Response) 555} 556 557// ListByResourceGroup - Description for Get certificate orders in a resource group. 558// If the operation fails it returns the *DefaultErrorResponse error type. 559func (client *AppServiceCertificateOrdersClient) ListByResourceGroup(resourceGroupName string, options *AppServiceCertificateOrdersListByResourceGroupOptions) AppServiceCertificateOrdersListByResourceGroupPager { 560 return &appServiceCertificateOrdersListByResourceGroupPager{ 561 client: client, 562 requester: func(ctx context.Context) (*azcore.Request, error) { 563 return client.listByResourceGroupCreateRequest(ctx, resourceGroupName, options) 564 }, 565 advancer: func(ctx context.Context, resp AppServiceCertificateOrdersListByResourceGroupResponse) (*azcore.Request, error) { 566 return azcore.NewRequest(ctx, http.MethodGet, *resp.AppServiceCertificateOrderCollection.NextLink) 567 }, 568 } 569} 570 571// listByResourceGroupCreateRequest creates the ListByResourceGroup request. 572func (client *AppServiceCertificateOrdersClient) listByResourceGroupCreateRequest(ctx context.Context, resourceGroupName string, options *AppServiceCertificateOrdersListByResourceGroupOptions) (*azcore.Request, error) { 573 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders" 574 if resourceGroupName == "" { 575 return nil, errors.New("parameter resourceGroupName cannot be empty") 576 } 577 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 578 if client.subscriptionID == "" { 579 return nil, errors.New("parameter client.subscriptionID cannot be empty") 580 } 581 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 582 req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 583 if err != nil { 584 return nil, err 585 } 586 req.Telemetry(telemetryInfo) 587 reqQP := req.URL.Query() 588 reqQP.Set("api-version", "2021-01-15") 589 req.URL.RawQuery = reqQP.Encode() 590 req.Header.Set("Accept", "application/json") 591 return req, nil 592} 593 594// listByResourceGroupHandleResponse handles the ListByResourceGroup response. 595func (client *AppServiceCertificateOrdersClient) listByResourceGroupHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersListByResourceGroupResponse, error) { 596 result := AppServiceCertificateOrdersListByResourceGroupResponse{RawResponse: resp.Response} 597 if err := resp.UnmarshalAsJSON(&result.AppServiceCertificateOrderCollection); err != nil { 598 return AppServiceCertificateOrdersListByResourceGroupResponse{}, err 599 } 600 return result, nil 601} 602 603// listByResourceGroupHandleError handles the ListByResourceGroup error response. 604func (client *AppServiceCertificateOrdersClient) listByResourceGroupHandleError(resp *azcore.Response) error { 605 body, err := resp.Payload() 606 if err != nil { 607 return azcore.NewResponseError(err, resp.Response) 608 } 609 errType := DefaultErrorResponse{raw: string(body)} 610 if err := resp.UnmarshalAsJSON(&errType); err != nil { 611 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 612 } 613 return azcore.NewResponseError(&errType, resp.Response) 614} 615 616// ListCertificates - Description for List all certificates associated with a certificate order. 617// If the operation fails it returns the *DefaultErrorResponse error type. 618func (client *AppServiceCertificateOrdersClient) ListCertificates(resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersListCertificatesOptions) AppServiceCertificateOrdersListCertificatesPager { 619 return &appServiceCertificateOrdersListCertificatesPager{ 620 client: client, 621 requester: func(ctx context.Context) (*azcore.Request, error) { 622 return client.listCertificatesCreateRequest(ctx, resourceGroupName, certificateOrderName, options) 623 }, 624 advancer: func(ctx context.Context, resp AppServiceCertificateOrdersListCertificatesResponse) (*azcore.Request, error) { 625 return azcore.NewRequest(ctx, http.MethodGet, *resp.AppServiceCertificateCollection.NextLink) 626 }, 627 } 628} 629 630// listCertificatesCreateRequest creates the ListCertificates request. 631func (client *AppServiceCertificateOrdersClient) listCertificatesCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersListCertificatesOptions) (*azcore.Request, error) { 632 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates" 633 if resourceGroupName == "" { 634 return nil, errors.New("parameter resourceGroupName cannot be empty") 635 } 636 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 637 if certificateOrderName == "" { 638 return nil, errors.New("parameter certificateOrderName cannot be empty") 639 } 640 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 641 if client.subscriptionID == "" { 642 return nil, errors.New("parameter client.subscriptionID cannot be empty") 643 } 644 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 645 req, err := azcore.NewRequest(ctx, http.MethodGet, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 646 if err != nil { 647 return nil, err 648 } 649 req.Telemetry(telemetryInfo) 650 reqQP := req.URL.Query() 651 reqQP.Set("api-version", "2021-01-15") 652 req.URL.RawQuery = reqQP.Encode() 653 req.Header.Set("Accept", "application/json") 654 return req, nil 655} 656 657// listCertificatesHandleResponse handles the ListCertificates response. 658func (client *AppServiceCertificateOrdersClient) listCertificatesHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersListCertificatesResponse, error) { 659 result := AppServiceCertificateOrdersListCertificatesResponse{RawResponse: resp.Response} 660 if err := resp.UnmarshalAsJSON(&result.AppServiceCertificateCollection); err != nil { 661 return AppServiceCertificateOrdersListCertificatesResponse{}, err 662 } 663 return result, nil 664} 665 666// listCertificatesHandleError handles the ListCertificates error response. 667func (client *AppServiceCertificateOrdersClient) listCertificatesHandleError(resp *azcore.Response) error { 668 body, err := resp.Payload() 669 if err != nil { 670 return azcore.NewResponseError(err, resp.Response) 671 } 672 errType := DefaultErrorResponse{raw: string(body)} 673 if err := resp.UnmarshalAsJSON(&errType); err != nil { 674 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 675 } 676 return azcore.NewResponseError(&errType, resp.Response) 677} 678 679// Reissue - Description for Reissue an existing certificate order. 680// If the operation fails it returns the *DefaultErrorResponse error type. 681func (client *AppServiceCertificateOrdersClient) Reissue(ctx context.Context, resourceGroupName string, certificateOrderName string, reissueCertificateOrderRequest ReissueCertificateOrderRequest, options *AppServiceCertificateOrdersReissueOptions) (AppServiceCertificateOrdersReissueResponse, error) { 682 req, err := client.reissueCreateRequest(ctx, resourceGroupName, certificateOrderName, reissueCertificateOrderRequest, options) 683 if err != nil { 684 return AppServiceCertificateOrdersReissueResponse{}, err 685 } 686 resp, err := client.con.Pipeline().Do(req) 687 if err != nil { 688 return AppServiceCertificateOrdersReissueResponse{}, err 689 } 690 if !resp.HasStatusCode(http.StatusNoContent) { 691 return AppServiceCertificateOrdersReissueResponse{}, client.reissueHandleError(resp) 692 } 693 return AppServiceCertificateOrdersReissueResponse{RawResponse: resp.Response}, nil 694} 695 696// reissueCreateRequest creates the Reissue request. 697func (client *AppServiceCertificateOrdersClient) reissueCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, reissueCertificateOrderRequest ReissueCertificateOrderRequest, options *AppServiceCertificateOrdersReissueOptions) (*azcore.Request, error) { 698 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/reissue" 699 if resourceGroupName == "" { 700 return nil, errors.New("parameter resourceGroupName cannot be empty") 701 } 702 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 703 if certificateOrderName == "" { 704 return nil, errors.New("parameter certificateOrderName cannot be empty") 705 } 706 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 707 if client.subscriptionID == "" { 708 return nil, errors.New("parameter client.subscriptionID cannot be empty") 709 } 710 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 711 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 712 if err != nil { 713 return nil, err 714 } 715 req.Telemetry(telemetryInfo) 716 reqQP := req.URL.Query() 717 reqQP.Set("api-version", "2021-01-15") 718 req.URL.RawQuery = reqQP.Encode() 719 req.Header.Set("Accept", "application/json") 720 return req, req.MarshalAsJSON(reissueCertificateOrderRequest) 721} 722 723// reissueHandleError handles the Reissue error response. 724func (client *AppServiceCertificateOrdersClient) reissueHandleError(resp *azcore.Response) error { 725 body, err := resp.Payload() 726 if err != nil { 727 return azcore.NewResponseError(err, resp.Response) 728 } 729 errType := DefaultErrorResponse{raw: string(body)} 730 if err := resp.UnmarshalAsJSON(&errType); err != nil { 731 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 732 } 733 return azcore.NewResponseError(&errType, resp.Response) 734} 735 736// Renew - Description for Renew an existing certificate order. 737// If the operation fails it returns the *DefaultErrorResponse error type. 738func (client *AppServiceCertificateOrdersClient) Renew(ctx context.Context, resourceGroupName string, certificateOrderName string, renewCertificateOrderRequest RenewCertificateOrderRequest, options *AppServiceCertificateOrdersRenewOptions) (AppServiceCertificateOrdersRenewResponse, error) { 739 req, err := client.renewCreateRequest(ctx, resourceGroupName, certificateOrderName, renewCertificateOrderRequest, options) 740 if err != nil { 741 return AppServiceCertificateOrdersRenewResponse{}, err 742 } 743 resp, err := client.con.Pipeline().Do(req) 744 if err != nil { 745 return AppServiceCertificateOrdersRenewResponse{}, err 746 } 747 if !resp.HasStatusCode(http.StatusNoContent) { 748 return AppServiceCertificateOrdersRenewResponse{}, client.renewHandleError(resp) 749 } 750 return AppServiceCertificateOrdersRenewResponse{RawResponse: resp.Response}, nil 751} 752 753// renewCreateRequest creates the Renew request. 754func (client *AppServiceCertificateOrdersClient) renewCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, renewCertificateOrderRequest RenewCertificateOrderRequest, options *AppServiceCertificateOrdersRenewOptions) (*azcore.Request, error) { 755 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/renew" 756 if resourceGroupName == "" { 757 return nil, errors.New("parameter resourceGroupName cannot be empty") 758 } 759 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 760 if certificateOrderName == "" { 761 return nil, errors.New("parameter certificateOrderName cannot be empty") 762 } 763 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 764 if client.subscriptionID == "" { 765 return nil, errors.New("parameter client.subscriptionID cannot be empty") 766 } 767 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 768 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 769 if err != nil { 770 return nil, err 771 } 772 req.Telemetry(telemetryInfo) 773 reqQP := req.URL.Query() 774 reqQP.Set("api-version", "2021-01-15") 775 req.URL.RawQuery = reqQP.Encode() 776 req.Header.Set("Accept", "application/json") 777 return req, req.MarshalAsJSON(renewCertificateOrderRequest) 778} 779 780// renewHandleError handles the Renew error response. 781func (client *AppServiceCertificateOrdersClient) renewHandleError(resp *azcore.Response) error { 782 body, err := resp.Payload() 783 if err != nil { 784 return azcore.NewResponseError(err, resp.Response) 785 } 786 errType := DefaultErrorResponse{raw: string(body)} 787 if err := resp.UnmarshalAsJSON(&errType); err != nil { 788 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 789 } 790 return azcore.NewResponseError(&errType, resp.Response) 791} 792 793// ResendEmail - Description for Resend certificate email. 794// If the operation fails it returns the *DefaultErrorResponse error type. 795func (client *AppServiceCertificateOrdersClient) ResendEmail(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersResendEmailOptions) (AppServiceCertificateOrdersResendEmailResponse, error) { 796 req, err := client.resendEmailCreateRequest(ctx, resourceGroupName, certificateOrderName, options) 797 if err != nil { 798 return AppServiceCertificateOrdersResendEmailResponse{}, err 799 } 800 resp, err := client.con.Pipeline().Do(req) 801 if err != nil { 802 return AppServiceCertificateOrdersResendEmailResponse{}, err 803 } 804 if !resp.HasStatusCode(http.StatusNoContent) { 805 return AppServiceCertificateOrdersResendEmailResponse{}, client.resendEmailHandleError(resp) 806 } 807 return AppServiceCertificateOrdersResendEmailResponse{RawResponse: resp.Response}, nil 808} 809 810// resendEmailCreateRequest creates the ResendEmail request. 811func (client *AppServiceCertificateOrdersClient) resendEmailCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersResendEmailOptions) (*azcore.Request, error) { 812 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendEmail" 813 if resourceGroupName == "" { 814 return nil, errors.New("parameter resourceGroupName cannot be empty") 815 } 816 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 817 if certificateOrderName == "" { 818 return nil, errors.New("parameter certificateOrderName cannot be empty") 819 } 820 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 821 if client.subscriptionID == "" { 822 return nil, errors.New("parameter client.subscriptionID cannot be empty") 823 } 824 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 825 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 826 if err != nil { 827 return nil, err 828 } 829 req.Telemetry(telemetryInfo) 830 reqQP := req.URL.Query() 831 reqQP.Set("api-version", "2021-01-15") 832 req.URL.RawQuery = reqQP.Encode() 833 req.Header.Set("Accept", "application/json") 834 return req, nil 835} 836 837// resendEmailHandleError handles the ResendEmail error response. 838func (client *AppServiceCertificateOrdersClient) resendEmailHandleError(resp *azcore.Response) error { 839 body, err := resp.Payload() 840 if err != nil { 841 return azcore.NewResponseError(err, resp.Response) 842 } 843 errType := DefaultErrorResponse{raw: string(body)} 844 if err := resp.UnmarshalAsJSON(&errType); err != nil { 845 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 846 } 847 return azcore.NewResponseError(&errType, resp.Response) 848} 849 850// ResendRequestEmails - Description for Verify domain ownership for this certificate order. 851// If the operation fails it returns the *DefaultErrorResponse error type. 852func (client *AppServiceCertificateOrdersClient) ResendRequestEmails(ctx context.Context, resourceGroupName string, certificateOrderName string, nameIdentifier NameIdentifier, options *AppServiceCertificateOrdersResendRequestEmailsOptions) (AppServiceCertificateOrdersResendRequestEmailsResponse, error) { 853 req, err := client.resendRequestEmailsCreateRequest(ctx, resourceGroupName, certificateOrderName, nameIdentifier, options) 854 if err != nil { 855 return AppServiceCertificateOrdersResendRequestEmailsResponse{}, err 856 } 857 resp, err := client.con.Pipeline().Do(req) 858 if err != nil { 859 return AppServiceCertificateOrdersResendRequestEmailsResponse{}, err 860 } 861 if !resp.HasStatusCode(http.StatusNoContent) { 862 return AppServiceCertificateOrdersResendRequestEmailsResponse{}, client.resendRequestEmailsHandleError(resp) 863 } 864 return AppServiceCertificateOrdersResendRequestEmailsResponse{RawResponse: resp.Response}, nil 865} 866 867// resendRequestEmailsCreateRequest creates the ResendRequestEmails request. 868func (client *AppServiceCertificateOrdersClient) resendRequestEmailsCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, nameIdentifier NameIdentifier, options *AppServiceCertificateOrdersResendRequestEmailsOptions) (*azcore.Request, error) { 869 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails" 870 if resourceGroupName == "" { 871 return nil, errors.New("parameter resourceGroupName cannot be empty") 872 } 873 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 874 if certificateOrderName == "" { 875 return nil, errors.New("parameter certificateOrderName cannot be empty") 876 } 877 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 878 if client.subscriptionID == "" { 879 return nil, errors.New("parameter client.subscriptionID cannot be empty") 880 } 881 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 882 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 883 if err != nil { 884 return nil, err 885 } 886 req.Telemetry(telemetryInfo) 887 reqQP := req.URL.Query() 888 reqQP.Set("api-version", "2021-01-15") 889 req.URL.RawQuery = reqQP.Encode() 890 req.Header.Set("Accept", "application/json") 891 return req, req.MarshalAsJSON(nameIdentifier) 892} 893 894// resendRequestEmailsHandleError handles the ResendRequestEmails error response. 895func (client *AppServiceCertificateOrdersClient) resendRequestEmailsHandleError(resp *azcore.Response) error { 896 body, err := resp.Payload() 897 if err != nil { 898 return azcore.NewResponseError(err, resp.Response) 899 } 900 errType := DefaultErrorResponse{raw: string(body)} 901 if err := resp.UnmarshalAsJSON(&errType); err != nil { 902 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 903 } 904 return azcore.NewResponseError(&errType, resp.Response) 905} 906 907// RetrieveCertificateActions - Description for Retrieve the list of certificate actions. 908// If the operation fails it returns the *DefaultErrorResponse error type. 909func (client *AppServiceCertificateOrdersClient) RetrieveCertificateActions(ctx context.Context, resourceGroupName string, name string, options *AppServiceCertificateOrdersRetrieveCertificateActionsOptions) (AppServiceCertificateOrdersRetrieveCertificateActionsResponse, error) { 910 req, err := client.retrieveCertificateActionsCreateRequest(ctx, resourceGroupName, name, options) 911 if err != nil { 912 return AppServiceCertificateOrdersRetrieveCertificateActionsResponse{}, err 913 } 914 resp, err := client.con.Pipeline().Do(req) 915 if err != nil { 916 return AppServiceCertificateOrdersRetrieveCertificateActionsResponse{}, err 917 } 918 if !resp.HasStatusCode(http.StatusOK) { 919 return AppServiceCertificateOrdersRetrieveCertificateActionsResponse{}, client.retrieveCertificateActionsHandleError(resp) 920 } 921 return client.retrieveCertificateActionsHandleResponse(resp) 922} 923 924// retrieveCertificateActionsCreateRequest creates the RetrieveCertificateActions request. 925func (client *AppServiceCertificateOrdersClient) retrieveCertificateActionsCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceCertificateOrdersRetrieveCertificateActionsOptions) (*azcore.Request, error) { 926 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions" 927 if resourceGroupName == "" { 928 return nil, errors.New("parameter resourceGroupName cannot be empty") 929 } 930 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 931 if name == "" { 932 return nil, errors.New("parameter name cannot be empty") 933 } 934 urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name)) 935 if client.subscriptionID == "" { 936 return nil, errors.New("parameter client.subscriptionID cannot be empty") 937 } 938 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 939 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 940 if err != nil { 941 return nil, err 942 } 943 req.Telemetry(telemetryInfo) 944 reqQP := req.URL.Query() 945 reqQP.Set("api-version", "2021-01-15") 946 req.URL.RawQuery = reqQP.Encode() 947 req.Header.Set("Accept", "application/json") 948 return req, nil 949} 950 951// retrieveCertificateActionsHandleResponse handles the RetrieveCertificateActions response. 952func (client *AppServiceCertificateOrdersClient) retrieveCertificateActionsHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersRetrieveCertificateActionsResponse, error) { 953 result := AppServiceCertificateOrdersRetrieveCertificateActionsResponse{RawResponse: resp.Response} 954 if err := resp.UnmarshalAsJSON(&result.CertificateOrderActionArray); err != nil { 955 return AppServiceCertificateOrdersRetrieveCertificateActionsResponse{}, err 956 } 957 return result, nil 958} 959 960// retrieveCertificateActionsHandleError handles the RetrieveCertificateActions error response. 961func (client *AppServiceCertificateOrdersClient) retrieveCertificateActionsHandleError(resp *azcore.Response) error { 962 body, err := resp.Payload() 963 if err != nil { 964 return azcore.NewResponseError(err, resp.Response) 965 } 966 errType := DefaultErrorResponse{raw: string(body)} 967 if err := resp.UnmarshalAsJSON(&errType); err != nil { 968 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 969 } 970 return azcore.NewResponseError(&errType, resp.Response) 971} 972 973// RetrieveCertificateEmailHistory - Description for Retrieve email history. 974// If the operation fails it returns the *DefaultErrorResponse error type. 975func (client *AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistory(ctx context.Context, resourceGroupName string, name string, options *AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptions) (AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse, error) { 976 req, err := client.retrieveCertificateEmailHistoryCreateRequest(ctx, resourceGroupName, name, options) 977 if err != nil { 978 return AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse{}, err 979 } 980 resp, err := client.con.Pipeline().Do(req) 981 if err != nil { 982 return AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse{}, err 983 } 984 if !resp.HasStatusCode(http.StatusOK) { 985 return AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse{}, client.retrieveCertificateEmailHistoryHandleError(resp) 986 } 987 return client.retrieveCertificateEmailHistoryHandleResponse(resp) 988} 989 990// retrieveCertificateEmailHistoryCreateRequest creates the RetrieveCertificateEmailHistory request. 991func (client *AppServiceCertificateOrdersClient) retrieveCertificateEmailHistoryCreateRequest(ctx context.Context, resourceGroupName string, name string, options *AppServiceCertificateOrdersRetrieveCertificateEmailHistoryOptions) (*azcore.Request, error) { 992 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory" 993 if resourceGroupName == "" { 994 return nil, errors.New("parameter resourceGroupName cannot be empty") 995 } 996 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 997 if name == "" { 998 return nil, errors.New("parameter name cannot be empty") 999 } 1000 urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name)) 1001 if client.subscriptionID == "" { 1002 return nil, errors.New("parameter client.subscriptionID cannot be empty") 1003 } 1004 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 1005 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 1006 if err != nil { 1007 return nil, err 1008 } 1009 req.Telemetry(telemetryInfo) 1010 reqQP := req.URL.Query() 1011 reqQP.Set("api-version", "2021-01-15") 1012 req.URL.RawQuery = reqQP.Encode() 1013 req.Header.Set("Accept", "application/json") 1014 return req, nil 1015} 1016 1017// retrieveCertificateEmailHistoryHandleResponse handles the RetrieveCertificateEmailHistory response. 1018func (client *AppServiceCertificateOrdersClient) retrieveCertificateEmailHistoryHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse, error) { 1019 result := AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse{RawResponse: resp.Response} 1020 if err := resp.UnmarshalAsJSON(&result.CertificateEmailArray); err != nil { 1021 return AppServiceCertificateOrdersRetrieveCertificateEmailHistoryResponse{}, err 1022 } 1023 return result, nil 1024} 1025 1026// retrieveCertificateEmailHistoryHandleError handles the RetrieveCertificateEmailHistory error response. 1027func (client *AppServiceCertificateOrdersClient) retrieveCertificateEmailHistoryHandleError(resp *azcore.Response) error { 1028 body, err := resp.Payload() 1029 if err != nil { 1030 return azcore.NewResponseError(err, resp.Response) 1031 } 1032 errType := DefaultErrorResponse{raw: string(body)} 1033 if err := resp.UnmarshalAsJSON(&errType); err != nil { 1034 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 1035 } 1036 return azcore.NewResponseError(&errType, resp.Response) 1037} 1038 1039// RetrieveSiteSeal - Description for Verify domain ownership for this certificate order. 1040// If the operation fails it returns the *DefaultErrorResponse error type. 1041func (client *AppServiceCertificateOrdersClient) RetrieveSiteSeal(ctx context.Context, resourceGroupName string, certificateOrderName string, siteSealRequest SiteSealRequest, options *AppServiceCertificateOrdersRetrieveSiteSealOptions) (AppServiceCertificateOrdersRetrieveSiteSealResponse, error) { 1042 req, err := client.retrieveSiteSealCreateRequest(ctx, resourceGroupName, certificateOrderName, siteSealRequest, options) 1043 if err != nil { 1044 return AppServiceCertificateOrdersRetrieveSiteSealResponse{}, err 1045 } 1046 resp, err := client.con.Pipeline().Do(req) 1047 if err != nil { 1048 return AppServiceCertificateOrdersRetrieveSiteSealResponse{}, err 1049 } 1050 if !resp.HasStatusCode(http.StatusOK) { 1051 return AppServiceCertificateOrdersRetrieveSiteSealResponse{}, client.retrieveSiteSealHandleError(resp) 1052 } 1053 return client.retrieveSiteSealHandleResponse(resp) 1054} 1055 1056// retrieveSiteSealCreateRequest creates the RetrieveSiteSeal request. 1057func (client *AppServiceCertificateOrdersClient) retrieveSiteSealCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, siteSealRequest SiteSealRequest, options *AppServiceCertificateOrdersRetrieveSiteSealOptions) (*azcore.Request, error) { 1058 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal" 1059 if resourceGroupName == "" { 1060 return nil, errors.New("parameter resourceGroupName cannot be empty") 1061 } 1062 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 1063 if certificateOrderName == "" { 1064 return nil, errors.New("parameter certificateOrderName cannot be empty") 1065 } 1066 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 1067 if client.subscriptionID == "" { 1068 return nil, errors.New("parameter client.subscriptionID cannot be empty") 1069 } 1070 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 1071 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 1072 if err != nil { 1073 return nil, err 1074 } 1075 req.Telemetry(telemetryInfo) 1076 reqQP := req.URL.Query() 1077 reqQP.Set("api-version", "2021-01-15") 1078 req.URL.RawQuery = reqQP.Encode() 1079 req.Header.Set("Accept", "application/json") 1080 return req, req.MarshalAsJSON(siteSealRequest) 1081} 1082 1083// retrieveSiteSealHandleResponse handles the RetrieveSiteSeal response. 1084func (client *AppServiceCertificateOrdersClient) retrieveSiteSealHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersRetrieveSiteSealResponse, error) { 1085 result := AppServiceCertificateOrdersRetrieveSiteSealResponse{RawResponse: resp.Response} 1086 if err := resp.UnmarshalAsJSON(&result.SiteSeal); err != nil { 1087 return AppServiceCertificateOrdersRetrieveSiteSealResponse{}, err 1088 } 1089 return result, nil 1090} 1091 1092// retrieveSiteSealHandleError handles the RetrieveSiteSeal error response. 1093func (client *AppServiceCertificateOrdersClient) retrieveSiteSealHandleError(resp *azcore.Response) error { 1094 body, err := resp.Payload() 1095 if err != nil { 1096 return azcore.NewResponseError(err, resp.Response) 1097 } 1098 errType := DefaultErrorResponse{raw: string(body)} 1099 if err := resp.UnmarshalAsJSON(&errType); err != nil { 1100 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 1101 } 1102 return azcore.NewResponseError(&errType, resp.Response) 1103} 1104 1105// Update - Description for Create or update a certificate purchase order. 1106// If the operation fails it returns the *DefaultErrorResponse error type. 1107func (client *AppServiceCertificateOrdersClient) Update(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrderPatchResource, options *AppServiceCertificateOrdersUpdateOptions) (AppServiceCertificateOrdersUpdateResponse, error) { 1108 req, err := client.updateCreateRequest(ctx, resourceGroupName, certificateOrderName, certificateDistinguishedName, options) 1109 if err != nil { 1110 return AppServiceCertificateOrdersUpdateResponse{}, err 1111 } 1112 resp, err := client.con.Pipeline().Do(req) 1113 if err != nil { 1114 return AppServiceCertificateOrdersUpdateResponse{}, err 1115 } 1116 if !resp.HasStatusCode(http.StatusOK, http.StatusCreated) { 1117 return AppServiceCertificateOrdersUpdateResponse{}, client.updateHandleError(resp) 1118 } 1119 return client.updateHandleResponse(resp) 1120} 1121 1122// updateCreateRequest creates the Update request. 1123func (client *AppServiceCertificateOrdersClient) updateCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrderPatchResource, options *AppServiceCertificateOrdersUpdateOptions) (*azcore.Request, error) { 1124 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}" 1125 if resourceGroupName == "" { 1126 return nil, errors.New("parameter resourceGroupName cannot be empty") 1127 } 1128 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 1129 if certificateOrderName == "" { 1130 return nil, errors.New("parameter certificateOrderName cannot be empty") 1131 } 1132 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 1133 if client.subscriptionID == "" { 1134 return nil, errors.New("parameter client.subscriptionID cannot be empty") 1135 } 1136 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 1137 req, err := azcore.NewRequest(ctx, http.MethodPatch, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 1138 if err != nil { 1139 return nil, err 1140 } 1141 req.Telemetry(telemetryInfo) 1142 reqQP := req.URL.Query() 1143 reqQP.Set("api-version", "2021-01-15") 1144 req.URL.RawQuery = reqQP.Encode() 1145 req.Header.Set("Accept", "application/json") 1146 return req, req.MarshalAsJSON(certificateDistinguishedName) 1147} 1148 1149// updateHandleResponse handles the Update response. 1150func (client *AppServiceCertificateOrdersClient) updateHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersUpdateResponse, error) { 1151 result := AppServiceCertificateOrdersUpdateResponse{RawResponse: resp.Response} 1152 if err := resp.UnmarshalAsJSON(&result.AppServiceCertificateOrder); err != nil { 1153 return AppServiceCertificateOrdersUpdateResponse{}, err 1154 } 1155 return result, nil 1156} 1157 1158// updateHandleError handles the Update error response. 1159func (client *AppServiceCertificateOrdersClient) updateHandleError(resp *azcore.Response) error { 1160 body, err := resp.Payload() 1161 if err != nil { 1162 return azcore.NewResponseError(err, resp.Response) 1163 } 1164 errType := DefaultErrorResponse{raw: string(body)} 1165 if err := resp.UnmarshalAsJSON(&errType); err != nil { 1166 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 1167 } 1168 return azcore.NewResponseError(&errType, resp.Response) 1169} 1170 1171// UpdateCertificate - Description for Creates or updates a certificate and associates with key vault secret. 1172// If the operation fails it returns the *DefaultErrorResponse error type. 1173func (client *AppServiceCertificateOrdersClient) UpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificatePatchResource, options *AppServiceCertificateOrdersUpdateCertificateOptions) (AppServiceCertificateOrdersUpdateCertificateResponse, error) { 1174 req, err := client.updateCertificateCreateRequest(ctx, resourceGroupName, certificateOrderName, name, keyVaultCertificate, options) 1175 if err != nil { 1176 return AppServiceCertificateOrdersUpdateCertificateResponse{}, err 1177 } 1178 resp, err := client.con.Pipeline().Do(req) 1179 if err != nil { 1180 return AppServiceCertificateOrdersUpdateCertificateResponse{}, err 1181 } 1182 if !resp.HasStatusCode(http.StatusOK, http.StatusCreated) { 1183 return AppServiceCertificateOrdersUpdateCertificateResponse{}, client.updateCertificateHandleError(resp) 1184 } 1185 return client.updateCertificateHandleResponse(resp) 1186} 1187 1188// updateCertificateCreateRequest creates the UpdateCertificate request. 1189func (client *AppServiceCertificateOrdersClient) updateCertificateCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificatePatchResource, options *AppServiceCertificateOrdersUpdateCertificateOptions) (*azcore.Request, error) { 1190 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}" 1191 if resourceGroupName == "" { 1192 return nil, errors.New("parameter resourceGroupName cannot be empty") 1193 } 1194 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 1195 if certificateOrderName == "" { 1196 return nil, errors.New("parameter certificateOrderName cannot be empty") 1197 } 1198 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 1199 if name == "" { 1200 return nil, errors.New("parameter name cannot be empty") 1201 } 1202 urlPath = strings.ReplaceAll(urlPath, "{name}", url.PathEscape(name)) 1203 if client.subscriptionID == "" { 1204 return nil, errors.New("parameter client.subscriptionID cannot be empty") 1205 } 1206 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 1207 req, err := azcore.NewRequest(ctx, http.MethodPatch, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 1208 if err != nil { 1209 return nil, err 1210 } 1211 req.Telemetry(telemetryInfo) 1212 reqQP := req.URL.Query() 1213 reqQP.Set("api-version", "2021-01-15") 1214 req.URL.RawQuery = reqQP.Encode() 1215 req.Header.Set("Accept", "application/json") 1216 return req, req.MarshalAsJSON(keyVaultCertificate) 1217} 1218 1219// updateCertificateHandleResponse handles the UpdateCertificate response. 1220func (client *AppServiceCertificateOrdersClient) updateCertificateHandleResponse(resp *azcore.Response) (AppServiceCertificateOrdersUpdateCertificateResponse, error) { 1221 result := AppServiceCertificateOrdersUpdateCertificateResponse{RawResponse: resp.Response} 1222 if err := resp.UnmarshalAsJSON(&result.AppServiceCertificateResource); err != nil { 1223 return AppServiceCertificateOrdersUpdateCertificateResponse{}, err 1224 } 1225 return result, nil 1226} 1227 1228// updateCertificateHandleError handles the UpdateCertificate error response. 1229func (client *AppServiceCertificateOrdersClient) updateCertificateHandleError(resp *azcore.Response) error { 1230 body, err := resp.Payload() 1231 if err != nil { 1232 return azcore.NewResponseError(err, resp.Response) 1233 } 1234 errType := DefaultErrorResponse{raw: string(body)} 1235 if err := resp.UnmarshalAsJSON(&errType); err != nil { 1236 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 1237 } 1238 return azcore.NewResponseError(&errType, resp.Response) 1239} 1240 1241// ValidatePurchaseInformation - Description for Validate information for a certificate order. 1242// If the operation fails it returns the *DefaultErrorResponse error type. 1243func (client *AppServiceCertificateOrdersClient) ValidatePurchaseInformation(ctx context.Context, appServiceCertificateOrder AppServiceCertificateOrder, options *AppServiceCertificateOrdersValidatePurchaseInformationOptions) (AppServiceCertificateOrdersValidatePurchaseInformationResponse, error) { 1244 req, err := client.validatePurchaseInformationCreateRequest(ctx, appServiceCertificateOrder, options) 1245 if err != nil { 1246 return AppServiceCertificateOrdersValidatePurchaseInformationResponse{}, err 1247 } 1248 resp, err := client.con.Pipeline().Do(req) 1249 if err != nil { 1250 return AppServiceCertificateOrdersValidatePurchaseInformationResponse{}, err 1251 } 1252 if !resp.HasStatusCode(http.StatusNoContent) { 1253 return AppServiceCertificateOrdersValidatePurchaseInformationResponse{}, client.validatePurchaseInformationHandleError(resp) 1254 } 1255 return AppServiceCertificateOrdersValidatePurchaseInformationResponse{RawResponse: resp.Response}, nil 1256} 1257 1258// validatePurchaseInformationCreateRequest creates the ValidatePurchaseInformation request. 1259func (client *AppServiceCertificateOrdersClient) validatePurchaseInformationCreateRequest(ctx context.Context, appServiceCertificateOrder AppServiceCertificateOrder, options *AppServiceCertificateOrdersValidatePurchaseInformationOptions) (*azcore.Request, error) { 1260 urlPath := "/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation" 1261 if client.subscriptionID == "" { 1262 return nil, errors.New("parameter client.subscriptionID cannot be empty") 1263 } 1264 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 1265 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 1266 if err != nil { 1267 return nil, err 1268 } 1269 req.Telemetry(telemetryInfo) 1270 reqQP := req.URL.Query() 1271 reqQP.Set("api-version", "2021-01-15") 1272 req.URL.RawQuery = reqQP.Encode() 1273 req.Header.Set("Accept", "application/json") 1274 return req, req.MarshalAsJSON(appServiceCertificateOrder) 1275} 1276 1277// validatePurchaseInformationHandleError handles the ValidatePurchaseInformation error response. 1278func (client *AppServiceCertificateOrdersClient) validatePurchaseInformationHandleError(resp *azcore.Response) error { 1279 body, err := resp.Payload() 1280 if err != nil { 1281 return azcore.NewResponseError(err, resp.Response) 1282 } 1283 errType := DefaultErrorResponse{raw: string(body)} 1284 if err := resp.UnmarshalAsJSON(&errType); err != nil { 1285 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 1286 } 1287 return azcore.NewResponseError(&errType, resp.Response) 1288} 1289 1290// VerifyDomainOwnership - Description for Verify domain ownership for this certificate order. 1291// If the operation fails it returns the *DefaultErrorResponse error type. 1292func (client *AppServiceCertificateOrdersClient) VerifyDomainOwnership(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersVerifyDomainOwnershipOptions) (AppServiceCertificateOrdersVerifyDomainOwnershipResponse, error) { 1293 req, err := client.verifyDomainOwnershipCreateRequest(ctx, resourceGroupName, certificateOrderName, options) 1294 if err != nil { 1295 return AppServiceCertificateOrdersVerifyDomainOwnershipResponse{}, err 1296 } 1297 resp, err := client.con.Pipeline().Do(req) 1298 if err != nil { 1299 return AppServiceCertificateOrdersVerifyDomainOwnershipResponse{}, err 1300 } 1301 if !resp.HasStatusCode(http.StatusNoContent) { 1302 return AppServiceCertificateOrdersVerifyDomainOwnershipResponse{}, client.verifyDomainOwnershipHandleError(resp) 1303 } 1304 return AppServiceCertificateOrdersVerifyDomainOwnershipResponse{RawResponse: resp.Response}, nil 1305} 1306 1307// verifyDomainOwnershipCreateRequest creates the VerifyDomainOwnership request. 1308func (client *AppServiceCertificateOrdersClient) verifyDomainOwnershipCreateRequest(ctx context.Context, resourceGroupName string, certificateOrderName string, options *AppServiceCertificateOrdersVerifyDomainOwnershipOptions) (*azcore.Request, error) { 1309 urlPath := "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/verifyDomainOwnership" 1310 if resourceGroupName == "" { 1311 return nil, errors.New("parameter resourceGroupName cannot be empty") 1312 } 1313 urlPath = strings.ReplaceAll(urlPath, "{resourceGroupName}", url.PathEscape(resourceGroupName)) 1314 if certificateOrderName == "" { 1315 return nil, errors.New("parameter certificateOrderName cannot be empty") 1316 } 1317 urlPath = strings.ReplaceAll(urlPath, "{certificateOrderName}", url.PathEscape(certificateOrderName)) 1318 if client.subscriptionID == "" { 1319 return nil, errors.New("parameter client.subscriptionID cannot be empty") 1320 } 1321 urlPath = strings.ReplaceAll(urlPath, "{subscriptionId}", url.PathEscape(client.subscriptionID)) 1322 req, err := azcore.NewRequest(ctx, http.MethodPost, azcore.JoinPaths(client.con.Endpoint(), urlPath)) 1323 if err != nil { 1324 return nil, err 1325 } 1326 req.Telemetry(telemetryInfo) 1327 reqQP := req.URL.Query() 1328 reqQP.Set("api-version", "2021-01-15") 1329 req.URL.RawQuery = reqQP.Encode() 1330 req.Header.Set("Accept", "application/json") 1331 return req, nil 1332} 1333 1334// verifyDomainOwnershipHandleError handles the VerifyDomainOwnership error response. 1335func (client *AppServiceCertificateOrdersClient) verifyDomainOwnershipHandleError(resp *azcore.Response) error { 1336 body, err := resp.Payload() 1337 if err != nil { 1338 return azcore.NewResponseError(err, resp.Response) 1339 } 1340 errType := DefaultErrorResponse{raw: string(body)} 1341 if err := resp.UnmarshalAsJSON(&errType); err != nil { 1342 return azcore.NewResponseError(fmt.Errorf("%s\n%s", string(body), err), resp.Response) 1343 } 1344 return azcore.NewResponseError(&errType, resp.Response) 1345} 1346