1package apimanagement 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// AuthorizationServerClient is the apiManagement Client 19type AuthorizationServerClient struct { 20 BaseClient 21} 22 23// NewAuthorizationServerClient creates an instance of the AuthorizationServerClient client. 24func NewAuthorizationServerClient(subscriptionID string) AuthorizationServerClient { 25 return NewAuthorizationServerClientWithBaseURI(DefaultBaseURI, subscriptionID) 26} 27 28// NewAuthorizationServerClientWithBaseURI creates an instance of the AuthorizationServerClient client using a custom 29// endpoint. Use this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure 30// stack). 31func NewAuthorizationServerClientWithBaseURI(baseURI string, subscriptionID string) AuthorizationServerClient { 32 return AuthorizationServerClient{NewWithBaseURI(baseURI, subscriptionID)} 33} 34 35// CreateOrUpdate creates new authorization server or updates an existing authorization server. 36// Parameters: 37// resourceGroupName - the name of the resource group. 38// serviceName - the name of the API Management service. 39// authsid - identifier of the authorization server. 40// parameters - create or update parameters. 41// ifMatch - eTag of the Entity. Not required when creating an entity, but required when updating an entity. 42func (client AuthorizationServerClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, authsid string, parameters AuthorizationServerContract, ifMatch string) (result AuthorizationServerContract, err error) { 43 if tracing.IsEnabled() { 44 ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationServerClient.CreateOrUpdate") 45 defer func() { 46 sc := -1 47 if result.Response.Response != nil { 48 sc = result.Response.Response.StatusCode 49 } 50 tracing.EndSpan(ctx, sc, err) 51 }() 52 } 53 if err := validation.Validate([]validation.Validation{ 54 {TargetValue: serviceName, 55 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 56 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 57 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 58 {TargetValue: authsid, 59 Constraints: []validation.Constraint{{Target: "authsid", Name: validation.MaxLength, Rule: 80, Chain: nil}, 60 {Target: "authsid", Name: validation.MinLength, Rule: 1, Chain: nil}, 61 {Target: "authsid", Name: validation.Pattern, Rule: `^[^*#&+:<>?]+$`, Chain: nil}}}, 62 {TargetValue: parameters, 63 Constraints: []validation.Constraint{{Target: "parameters.AuthorizationServerContractProperties", Name: validation.Null, Rule: false, 64 Chain: []validation.Constraint{{Target: "parameters.AuthorizationServerContractProperties.DisplayName", Name: validation.Null, Rule: true, 65 Chain: []validation.Constraint{{Target: "parameters.AuthorizationServerContractProperties.DisplayName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 66 {Target: "parameters.AuthorizationServerContractProperties.DisplayName", Name: validation.MinLength, Rule: 1, Chain: nil}, 67 }}, 68 {Target: "parameters.AuthorizationServerContractProperties.ClientRegistrationEndpoint", Name: validation.Null, Rule: true, Chain: nil}, 69 {Target: "parameters.AuthorizationServerContractProperties.AuthorizationEndpoint", Name: validation.Null, Rule: true, Chain: nil}, 70 {Target: "parameters.AuthorizationServerContractProperties.GrantTypes", Name: validation.Null, Rule: true, Chain: nil}, 71 {Target: "parameters.AuthorizationServerContractProperties.ClientID", Name: validation.Null, Rule: true, Chain: nil}, 72 }}}}}); err != nil { 73 return result, validation.NewError("apimanagement.AuthorizationServerClient", "CreateOrUpdate", err.Error()) 74 } 75 76 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, authsid, parameters, ifMatch) 77 if err != nil { 78 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "CreateOrUpdate", nil, "Failure preparing request") 79 return 80 } 81 82 resp, err := client.CreateOrUpdateSender(req) 83 if err != nil { 84 result.Response = autorest.Response{Response: resp} 85 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "CreateOrUpdate", resp, "Failure sending request") 86 return 87 } 88 89 result, err = client.CreateOrUpdateResponder(resp) 90 if err != nil { 91 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "CreateOrUpdate", resp, "Failure responding to request") 92 return 93 } 94 95 return 96} 97 98// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 99func (client AuthorizationServerClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, authsid string, parameters AuthorizationServerContract, ifMatch string) (*http.Request, error) { 100 pathParameters := map[string]interface{}{ 101 "authsid": autorest.Encode("path", authsid), 102 "resourceGroupName": autorest.Encode("path", resourceGroupName), 103 "serviceName": autorest.Encode("path", serviceName), 104 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 105 } 106 107 const APIVersion = "2020-12-01" 108 queryParameters := map[string]interface{}{ 109 "api-version": APIVersion, 110 } 111 112 preparer := autorest.CreatePreparer( 113 autorest.AsContentType("application/json; charset=utf-8"), 114 autorest.AsPut(), 115 autorest.WithBaseURL(client.BaseURI), 116 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", pathParameters), 117 autorest.WithJSON(parameters), 118 autorest.WithQueryParameters(queryParameters)) 119 if len(ifMatch) > 0 { 120 preparer = autorest.DecoratePreparer(preparer, 121 autorest.WithHeader("If-Match", autorest.String(ifMatch))) 122 } 123 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 124} 125 126// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 127// http.Response Body if it receives an error. 128func (client AuthorizationServerClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { 129 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 130} 131 132// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 133// closes the http.Response Body. 134func (client AuthorizationServerClient) CreateOrUpdateResponder(resp *http.Response) (result AuthorizationServerContract, err error) { 135 err = autorest.Respond( 136 resp, 137 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 138 autorest.ByUnmarshallingJSON(&result), 139 autorest.ByClosing()) 140 result.Response = autorest.Response{Response: resp} 141 return 142} 143 144// Delete deletes specific authorization server instance. 145// Parameters: 146// resourceGroupName - the name of the resource group. 147// serviceName - the name of the API Management service. 148// authsid - identifier of the authorization server. 149// ifMatch - eTag of the Entity. ETag should match the current entity state from the header response of the GET 150// request or it should be * for unconditional update. 151func (client AuthorizationServerClient) Delete(ctx context.Context, resourceGroupName string, serviceName string, authsid string, ifMatch string) (result autorest.Response, err error) { 152 if tracing.IsEnabled() { 153 ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationServerClient.Delete") 154 defer func() { 155 sc := -1 156 if result.Response != nil { 157 sc = result.Response.StatusCode 158 } 159 tracing.EndSpan(ctx, sc, err) 160 }() 161 } 162 if err := validation.Validate([]validation.Validation{ 163 {TargetValue: serviceName, 164 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 165 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 166 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 167 {TargetValue: authsid, 168 Constraints: []validation.Constraint{{Target: "authsid", Name: validation.MaxLength, Rule: 80, Chain: nil}, 169 {Target: "authsid", Name: validation.MinLength, Rule: 1, Chain: nil}, 170 {Target: "authsid", Name: validation.Pattern, Rule: `^[^*#&+:<>?]+$`, Chain: nil}}}}); err != nil { 171 return result, validation.NewError("apimanagement.AuthorizationServerClient", "Delete", err.Error()) 172 } 173 174 req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName, authsid, ifMatch) 175 if err != nil { 176 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Delete", nil, "Failure preparing request") 177 return 178 } 179 180 resp, err := client.DeleteSender(req) 181 if err != nil { 182 result.Response = resp 183 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Delete", resp, "Failure sending request") 184 return 185 } 186 187 result, err = client.DeleteResponder(resp) 188 if err != nil { 189 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Delete", resp, "Failure responding to request") 190 return 191 } 192 193 return 194} 195 196// DeletePreparer prepares the Delete request. 197func (client AuthorizationServerClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string, authsid string, ifMatch string) (*http.Request, error) { 198 pathParameters := map[string]interface{}{ 199 "authsid": autorest.Encode("path", authsid), 200 "resourceGroupName": autorest.Encode("path", resourceGroupName), 201 "serviceName": autorest.Encode("path", serviceName), 202 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 203 } 204 205 const APIVersion = "2020-12-01" 206 queryParameters := map[string]interface{}{ 207 "api-version": APIVersion, 208 } 209 210 preparer := autorest.CreatePreparer( 211 autorest.AsDelete(), 212 autorest.WithBaseURL(client.BaseURI), 213 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", pathParameters), 214 autorest.WithQueryParameters(queryParameters), 215 autorest.WithHeader("If-Match", autorest.String(ifMatch))) 216 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 217} 218 219// DeleteSender sends the Delete request. The method will close the 220// http.Response Body if it receives an error. 221func (client AuthorizationServerClient) DeleteSender(req *http.Request) (*http.Response, error) { 222 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 223} 224 225// DeleteResponder handles the response to the Delete request. The method always 226// closes the http.Response Body. 227func (client AuthorizationServerClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 228 err = autorest.Respond( 229 resp, 230 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), 231 autorest.ByClosing()) 232 result.Response = resp 233 return 234} 235 236// Get gets the details of the authorization server specified by its identifier. 237// Parameters: 238// resourceGroupName - the name of the resource group. 239// serviceName - the name of the API Management service. 240// authsid - identifier of the authorization server. 241func (client AuthorizationServerClient) Get(ctx context.Context, resourceGroupName string, serviceName string, authsid string) (result AuthorizationServerContract, err error) { 242 if tracing.IsEnabled() { 243 ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationServerClient.Get") 244 defer func() { 245 sc := -1 246 if result.Response.Response != nil { 247 sc = result.Response.Response.StatusCode 248 } 249 tracing.EndSpan(ctx, sc, err) 250 }() 251 } 252 if err := validation.Validate([]validation.Validation{ 253 {TargetValue: serviceName, 254 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 255 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 256 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 257 {TargetValue: authsid, 258 Constraints: []validation.Constraint{{Target: "authsid", Name: validation.MaxLength, Rule: 80, Chain: nil}, 259 {Target: "authsid", Name: validation.MinLength, Rule: 1, Chain: nil}, 260 {Target: "authsid", Name: validation.Pattern, Rule: `^[^*#&+:<>?]+$`, Chain: nil}}}}); err != nil { 261 return result, validation.NewError("apimanagement.AuthorizationServerClient", "Get", err.Error()) 262 } 263 264 req, err := client.GetPreparer(ctx, resourceGroupName, serviceName, authsid) 265 if err != nil { 266 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Get", nil, "Failure preparing request") 267 return 268 } 269 270 resp, err := client.GetSender(req) 271 if err != nil { 272 result.Response = autorest.Response{Response: resp} 273 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Get", resp, "Failure sending request") 274 return 275 } 276 277 result, err = client.GetResponder(resp) 278 if err != nil { 279 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Get", resp, "Failure responding to request") 280 return 281 } 282 283 return 284} 285 286// GetPreparer prepares the Get request. 287func (client AuthorizationServerClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string, authsid string) (*http.Request, error) { 288 pathParameters := map[string]interface{}{ 289 "authsid": autorest.Encode("path", authsid), 290 "resourceGroupName": autorest.Encode("path", resourceGroupName), 291 "serviceName": autorest.Encode("path", serviceName), 292 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 293 } 294 295 const APIVersion = "2020-12-01" 296 queryParameters := map[string]interface{}{ 297 "api-version": APIVersion, 298 } 299 300 preparer := autorest.CreatePreparer( 301 autorest.AsGet(), 302 autorest.WithBaseURL(client.BaseURI), 303 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", pathParameters), 304 autorest.WithQueryParameters(queryParameters)) 305 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 306} 307 308// GetSender sends the Get request. The method will close the 309// http.Response Body if it receives an error. 310func (client AuthorizationServerClient) GetSender(req *http.Request) (*http.Response, error) { 311 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 312} 313 314// GetResponder handles the response to the Get request. The method always 315// closes the http.Response Body. 316func (client AuthorizationServerClient) GetResponder(resp *http.Response) (result AuthorizationServerContract, err error) { 317 err = autorest.Respond( 318 resp, 319 azure.WithErrorUnlessStatusCode(http.StatusOK), 320 autorest.ByUnmarshallingJSON(&result), 321 autorest.ByClosing()) 322 result.Response = autorest.Response{Response: resp} 323 return 324} 325 326// GetEntityTag gets the entity state (Etag) version of the authorizationServer specified by its identifier. 327// Parameters: 328// resourceGroupName - the name of the resource group. 329// serviceName - the name of the API Management service. 330// authsid - identifier of the authorization server. 331func (client AuthorizationServerClient) GetEntityTag(ctx context.Context, resourceGroupName string, serviceName string, authsid string) (result autorest.Response, err error) { 332 if tracing.IsEnabled() { 333 ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationServerClient.GetEntityTag") 334 defer func() { 335 sc := -1 336 if result.Response != nil { 337 sc = result.Response.StatusCode 338 } 339 tracing.EndSpan(ctx, sc, err) 340 }() 341 } 342 if err := validation.Validate([]validation.Validation{ 343 {TargetValue: serviceName, 344 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 345 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 346 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 347 {TargetValue: authsid, 348 Constraints: []validation.Constraint{{Target: "authsid", Name: validation.MaxLength, Rule: 80, Chain: nil}, 349 {Target: "authsid", Name: validation.MinLength, Rule: 1, Chain: nil}, 350 {Target: "authsid", Name: validation.Pattern, Rule: `^[^*#&+:<>?]+$`, Chain: nil}}}}); err != nil { 351 return result, validation.NewError("apimanagement.AuthorizationServerClient", "GetEntityTag", err.Error()) 352 } 353 354 req, err := client.GetEntityTagPreparer(ctx, resourceGroupName, serviceName, authsid) 355 if err != nil { 356 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "GetEntityTag", nil, "Failure preparing request") 357 return 358 } 359 360 resp, err := client.GetEntityTagSender(req) 361 if err != nil { 362 result.Response = resp 363 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "GetEntityTag", resp, "Failure sending request") 364 return 365 } 366 367 result, err = client.GetEntityTagResponder(resp) 368 if err != nil { 369 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "GetEntityTag", resp, "Failure responding to request") 370 return 371 } 372 373 return 374} 375 376// GetEntityTagPreparer prepares the GetEntityTag request. 377func (client AuthorizationServerClient) GetEntityTagPreparer(ctx context.Context, resourceGroupName string, serviceName string, authsid string) (*http.Request, error) { 378 pathParameters := map[string]interface{}{ 379 "authsid": autorest.Encode("path", authsid), 380 "resourceGroupName": autorest.Encode("path", resourceGroupName), 381 "serviceName": autorest.Encode("path", serviceName), 382 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 383 } 384 385 const APIVersion = "2020-12-01" 386 queryParameters := map[string]interface{}{ 387 "api-version": APIVersion, 388 } 389 390 preparer := autorest.CreatePreparer( 391 autorest.AsHead(), 392 autorest.WithBaseURL(client.BaseURI), 393 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", pathParameters), 394 autorest.WithQueryParameters(queryParameters)) 395 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 396} 397 398// GetEntityTagSender sends the GetEntityTag request. The method will close the 399// http.Response Body if it receives an error. 400func (client AuthorizationServerClient) GetEntityTagSender(req *http.Request) (*http.Response, error) { 401 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 402} 403 404// GetEntityTagResponder handles the response to the GetEntityTag request. The method always 405// closes the http.Response Body. 406func (client AuthorizationServerClient) GetEntityTagResponder(resp *http.Response) (result autorest.Response, err error) { 407 err = autorest.Respond( 408 resp, 409 azure.WithErrorUnlessStatusCode(http.StatusOK), 410 autorest.ByClosing()) 411 result.Response = resp 412 return 413} 414 415// ListByService lists a collection of authorization servers defined within a service instance. 416// Parameters: 417// resourceGroupName - the name of the resource group. 418// serviceName - the name of the API Management service. 419// filter - | Field | Usage | Supported operators | Supported functions 420// |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, le, eq, ne, gt, lt 421// | substringof, contains, startswith, endswith |</br>| displayName | filter | ge, le, eq, ne, gt, lt | 422// substringof, contains, startswith, endswith |</br> 423// top - number of records to return. 424// skip - number of records to skip. 425func (client AuthorizationServerClient) ListByService(ctx context.Context, resourceGroupName string, serviceName string, filter string, top *int32, skip *int32) (result AuthorizationServerCollectionPage, err error) { 426 if tracing.IsEnabled() { 427 ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationServerClient.ListByService") 428 defer func() { 429 sc := -1 430 if result.asc.Response.Response != nil { 431 sc = result.asc.Response.Response.StatusCode 432 } 433 tracing.EndSpan(ctx, sc, err) 434 }() 435 } 436 if err := validation.Validate([]validation.Validation{ 437 {TargetValue: serviceName, 438 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 439 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 440 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 441 {TargetValue: top, 442 Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, 443 Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: int64(1), Chain: nil}}}}}, 444 {TargetValue: skip, 445 Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, 446 Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: int64(0), Chain: nil}}}}}}); err != nil { 447 return result, validation.NewError("apimanagement.AuthorizationServerClient", "ListByService", err.Error()) 448 } 449 450 result.fn = client.listByServiceNextResults 451 req, err := client.ListByServicePreparer(ctx, resourceGroupName, serviceName, filter, top, skip) 452 if err != nil { 453 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "ListByService", nil, "Failure preparing request") 454 return 455 } 456 457 resp, err := client.ListByServiceSender(req) 458 if err != nil { 459 result.asc.Response = autorest.Response{Response: resp} 460 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "ListByService", resp, "Failure sending request") 461 return 462 } 463 464 result.asc, err = client.ListByServiceResponder(resp) 465 if err != nil { 466 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "ListByService", resp, "Failure responding to request") 467 return 468 } 469 if result.asc.hasNextLink() && result.asc.IsEmpty() { 470 err = result.NextWithContext(ctx) 471 return 472 } 473 474 return 475} 476 477// ListByServicePreparer prepares the ListByService request. 478func (client AuthorizationServerClient) ListByServicePreparer(ctx context.Context, resourceGroupName string, serviceName string, filter string, top *int32, skip *int32) (*http.Request, error) { 479 pathParameters := map[string]interface{}{ 480 "resourceGroupName": autorest.Encode("path", resourceGroupName), 481 "serviceName": autorest.Encode("path", serviceName), 482 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 483 } 484 485 const APIVersion = "2020-12-01" 486 queryParameters := map[string]interface{}{ 487 "api-version": APIVersion, 488 } 489 if len(filter) > 0 { 490 queryParameters["$filter"] = autorest.Encode("query", filter) 491 } 492 if top != nil { 493 queryParameters["$top"] = autorest.Encode("query", *top) 494 } 495 if skip != nil { 496 queryParameters["$skip"] = autorest.Encode("query", *skip) 497 } 498 499 preparer := autorest.CreatePreparer( 500 autorest.AsGet(), 501 autorest.WithBaseURL(client.BaseURI), 502 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers", pathParameters), 503 autorest.WithQueryParameters(queryParameters)) 504 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 505} 506 507// ListByServiceSender sends the ListByService request. The method will close the 508// http.Response Body if it receives an error. 509func (client AuthorizationServerClient) ListByServiceSender(req *http.Request) (*http.Response, error) { 510 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 511} 512 513// ListByServiceResponder handles the response to the ListByService request. The method always 514// closes the http.Response Body. 515func (client AuthorizationServerClient) ListByServiceResponder(resp *http.Response) (result AuthorizationServerCollection, err error) { 516 err = autorest.Respond( 517 resp, 518 azure.WithErrorUnlessStatusCode(http.StatusOK), 519 autorest.ByUnmarshallingJSON(&result), 520 autorest.ByClosing()) 521 result.Response = autorest.Response{Response: resp} 522 return 523} 524 525// listByServiceNextResults retrieves the next set of results, if any. 526func (client AuthorizationServerClient) listByServiceNextResults(ctx context.Context, lastResults AuthorizationServerCollection) (result AuthorizationServerCollection, err error) { 527 req, err := lastResults.authorizationServerCollectionPreparer(ctx) 528 if err != nil { 529 return result, autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "listByServiceNextResults", nil, "Failure preparing next results request") 530 } 531 if req == nil { 532 return 533 } 534 resp, err := client.ListByServiceSender(req) 535 if err != nil { 536 result.Response = autorest.Response{Response: resp} 537 return result, autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "listByServiceNextResults", resp, "Failure sending next results request") 538 } 539 result, err = client.ListByServiceResponder(resp) 540 if err != nil { 541 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "listByServiceNextResults", resp, "Failure responding to next results request") 542 } 543 return 544} 545 546// ListByServiceComplete enumerates all values, automatically crossing page boundaries as required. 547func (client AuthorizationServerClient) ListByServiceComplete(ctx context.Context, resourceGroupName string, serviceName string, filter string, top *int32, skip *int32) (result AuthorizationServerCollectionIterator, err error) { 548 if tracing.IsEnabled() { 549 ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationServerClient.ListByService") 550 defer func() { 551 sc := -1 552 if result.Response().Response.Response != nil { 553 sc = result.page.Response().Response.Response.StatusCode 554 } 555 tracing.EndSpan(ctx, sc, err) 556 }() 557 } 558 result.page, err = client.ListByService(ctx, resourceGroupName, serviceName, filter, top, skip) 559 return 560} 561 562// ListSecrets gets the client secret details of the authorization server. 563// Parameters: 564// resourceGroupName - the name of the resource group. 565// serviceName - the name of the API Management service. 566// authsid - identifier of the authorization server. 567func (client AuthorizationServerClient) ListSecrets(ctx context.Context, resourceGroupName string, serviceName string, authsid string) (result AuthorizationServerSecretsContract, err error) { 568 if tracing.IsEnabled() { 569 ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationServerClient.ListSecrets") 570 defer func() { 571 sc := -1 572 if result.Response.Response != nil { 573 sc = result.Response.Response.StatusCode 574 } 575 tracing.EndSpan(ctx, sc, err) 576 }() 577 } 578 if err := validation.Validate([]validation.Validation{ 579 {TargetValue: serviceName, 580 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 581 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 582 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 583 {TargetValue: authsid, 584 Constraints: []validation.Constraint{{Target: "authsid", Name: validation.MaxLength, Rule: 80, Chain: nil}, 585 {Target: "authsid", Name: validation.MinLength, Rule: 1, Chain: nil}, 586 {Target: "authsid", Name: validation.Pattern, Rule: `^[^*#&+:<>?]+$`, Chain: nil}}}}); err != nil { 587 return result, validation.NewError("apimanagement.AuthorizationServerClient", "ListSecrets", err.Error()) 588 } 589 590 req, err := client.ListSecretsPreparer(ctx, resourceGroupName, serviceName, authsid) 591 if err != nil { 592 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "ListSecrets", nil, "Failure preparing request") 593 return 594 } 595 596 resp, err := client.ListSecretsSender(req) 597 if err != nil { 598 result.Response = autorest.Response{Response: resp} 599 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "ListSecrets", resp, "Failure sending request") 600 return 601 } 602 603 result, err = client.ListSecretsResponder(resp) 604 if err != nil { 605 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "ListSecrets", resp, "Failure responding to request") 606 return 607 } 608 609 return 610} 611 612// ListSecretsPreparer prepares the ListSecrets request. 613func (client AuthorizationServerClient) ListSecretsPreparer(ctx context.Context, resourceGroupName string, serviceName string, authsid string) (*http.Request, error) { 614 pathParameters := map[string]interface{}{ 615 "authsid": autorest.Encode("path", authsid), 616 "resourceGroupName": autorest.Encode("path", resourceGroupName), 617 "serviceName": autorest.Encode("path", serviceName), 618 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 619 } 620 621 const APIVersion = "2020-12-01" 622 queryParameters := map[string]interface{}{ 623 "api-version": APIVersion, 624 } 625 626 preparer := autorest.CreatePreparer( 627 autorest.AsPost(), 628 autorest.WithBaseURL(client.BaseURI), 629 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}/listSecrets", pathParameters), 630 autorest.WithQueryParameters(queryParameters)) 631 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 632} 633 634// ListSecretsSender sends the ListSecrets request. The method will close the 635// http.Response Body if it receives an error. 636func (client AuthorizationServerClient) ListSecretsSender(req *http.Request) (*http.Response, error) { 637 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 638} 639 640// ListSecretsResponder handles the response to the ListSecrets request. The method always 641// closes the http.Response Body. 642func (client AuthorizationServerClient) ListSecretsResponder(resp *http.Response) (result AuthorizationServerSecretsContract, err error) { 643 err = autorest.Respond( 644 resp, 645 azure.WithErrorUnlessStatusCode(http.StatusOK), 646 autorest.ByUnmarshallingJSON(&result), 647 autorest.ByClosing()) 648 result.Response = autorest.Response{Response: resp} 649 return 650} 651 652// Update updates the details of the authorization server specified by its identifier. 653// Parameters: 654// resourceGroupName - the name of the resource group. 655// serviceName - the name of the API Management service. 656// authsid - identifier of the authorization server. 657// parameters - oAuth2 Server settings Update parameters. 658// ifMatch - eTag of the Entity. ETag should match the current entity state from the header response of the GET 659// request or it should be * for unconditional update. 660func (client AuthorizationServerClient) Update(ctx context.Context, resourceGroupName string, serviceName string, authsid string, parameters AuthorizationServerUpdateContract, ifMatch string) (result AuthorizationServerContract, err error) { 661 if tracing.IsEnabled() { 662 ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationServerClient.Update") 663 defer func() { 664 sc := -1 665 if result.Response.Response != nil { 666 sc = result.Response.Response.StatusCode 667 } 668 tracing.EndSpan(ctx, sc, err) 669 }() 670 } 671 if err := validation.Validate([]validation.Validation{ 672 {TargetValue: serviceName, 673 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 674 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 675 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 676 {TargetValue: authsid, 677 Constraints: []validation.Constraint{{Target: "authsid", Name: validation.MaxLength, Rule: 80, Chain: nil}, 678 {Target: "authsid", Name: validation.MinLength, Rule: 1, Chain: nil}, 679 {Target: "authsid", Name: validation.Pattern, Rule: `^[^*#&+:<>?]+$`, Chain: nil}}}}); err != nil { 680 return result, validation.NewError("apimanagement.AuthorizationServerClient", "Update", err.Error()) 681 } 682 683 req, err := client.UpdatePreparer(ctx, resourceGroupName, serviceName, authsid, parameters, ifMatch) 684 if err != nil { 685 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Update", nil, "Failure preparing request") 686 return 687 } 688 689 resp, err := client.UpdateSender(req) 690 if err != nil { 691 result.Response = autorest.Response{Response: resp} 692 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Update", resp, "Failure sending request") 693 return 694 } 695 696 result, err = client.UpdateResponder(resp) 697 if err != nil { 698 err = autorest.NewErrorWithError(err, "apimanagement.AuthorizationServerClient", "Update", resp, "Failure responding to request") 699 return 700 } 701 702 return 703} 704 705// UpdatePreparer prepares the Update request. 706func (client AuthorizationServerClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, authsid string, parameters AuthorizationServerUpdateContract, ifMatch string) (*http.Request, error) { 707 pathParameters := map[string]interface{}{ 708 "authsid": autorest.Encode("path", authsid), 709 "resourceGroupName": autorest.Encode("path", resourceGroupName), 710 "serviceName": autorest.Encode("path", serviceName), 711 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 712 } 713 714 const APIVersion = "2020-12-01" 715 queryParameters := map[string]interface{}{ 716 "api-version": APIVersion, 717 } 718 719 preparer := autorest.CreatePreparer( 720 autorest.AsContentType("application/json; charset=utf-8"), 721 autorest.AsPatch(), 722 autorest.WithBaseURL(client.BaseURI), 723 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}", pathParameters), 724 autorest.WithJSON(parameters), 725 autorest.WithQueryParameters(queryParameters), 726 autorest.WithHeader("If-Match", autorest.String(ifMatch))) 727 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 728} 729 730// UpdateSender sends the Update request. The method will close the 731// http.Response Body if it receives an error. 732func (client AuthorizationServerClient) UpdateSender(req *http.Request) (*http.Response, error) { 733 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 734} 735 736// UpdateResponder handles the response to the Update request. The method always 737// closes the http.Response Body. 738func (client AuthorizationServerClient) UpdateResponder(resp *http.Response) (result AuthorizationServerContract, err error) { 739 err = autorest.Respond( 740 resp, 741 azure.WithErrorUnlessStatusCode(http.StatusOK), 742 autorest.ByUnmarshallingJSON(&result), 743 autorest.ByClosing()) 744 result.Response = autorest.Response{Response: resp} 745 return 746} 747