1package signalr 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// Client is the REST API for Azure SignalR Service 19type Client struct { 20 BaseClient 21} 22 23// NewClient creates an instance of the Client client. 24func NewClient(subscriptionID string) Client { 25 return NewClientWithBaseURI(DefaultBaseURI, subscriptionID) 26} 27 28// NewClientWithBaseURI creates an instance of the Client client using a custom endpoint. Use this when interacting 29// with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 30func NewClientWithBaseURI(baseURI string, subscriptionID string) Client { 31 return Client{NewWithBaseURI(baseURI, subscriptionID)} 32} 33 34// CheckNameAvailability checks that the SignalR name is valid and is not already in use. 35// Parameters: 36// location - the region 37// parameters - parameters supplied to the operation. 38func (client Client) CheckNameAvailability(ctx context.Context, location string, parameters *NameAvailabilityParameters) (result NameAvailability, err error) { 39 if tracing.IsEnabled() { 40 ctx = tracing.StartSpan(ctx, fqdn+"/Client.CheckNameAvailability") 41 defer func() { 42 sc := -1 43 if result.Response.Response != nil { 44 sc = result.Response.Response.StatusCode 45 } 46 tracing.EndSpan(ctx, sc, err) 47 }() 48 } 49 if err := validation.Validate([]validation.Validation{ 50 {TargetValue: parameters, 51 Constraints: []validation.Constraint{{Target: "parameters", Name: validation.Null, Rule: false, 52 Chain: []validation.Constraint{{Target: "parameters.Type", Name: validation.Null, Rule: true, Chain: nil}, 53 {Target: "parameters.Name", Name: validation.Null, Rule: true, Chain: nil}, 54 }}}}}); err != nil { 55 return result, validation.NewError("signalr.Client", "CheckNameAvailability", err.Error()) 56 } 57 58 req, err := client.CheckNameAvailabilityPreparer(ctx, location, parameters) 59 if err != nil { 60 err = autorest.NewErrorWithError(err, "signalr.Client", "CheckNameAvailability", nil, "Failure preparing request") 61 return 62 } 63 64 resp, err := client.CheckNameAvailabilitySender(req) 65 if err != nil { 66 result.Response = autorest.Response{Response: resp} 67 err = autorest.NewErrorWithError(err, "signalr.Client", "CheckNameAvailability", resp, "Failure sending request") 68 return 69 } 70 71 result, err = client.CheckNameAvailabilityResponder(resp) 72 if err != nil { 73 err = autorest.NewErrorWithError(err, "signalr.Client", "CheckNameAvailability", resp, "Failure responding to request") 74 return 75 } 76 77 return 78} 79 80// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. 81func (client Client) CheckNameAvailabilityPreparer(ctx context.Context, location string, parameters *NameAvailabilityParameters) (*http.Request, error) { 82 pathParameters := map[string]interface{}{ 83 "location": autorest.Encode("path", location), 84 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 85 } 86 87 const APIVersion = "2018-10-01" 88 queryParameters := map[string]interface{}{ 89 "api-version": APIVersion, 90 } 91 92 preparer := autorest.CreatePreparer( 93 autorest.AsContentType("application/json; charset=utf-8"), 94 autorest.AsPost(), 95 autorest.WithBaseURL(client.BaseURI), 96 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability", pathParameters), 97 autorest.WithQueryParameters(queryParameters)) 98 if parameters != nil { 99 preparer = autorest.DecoratePreparer(preparer, 100 autorest.WithJSON(parameters)) 101 } 102 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 103} 104 105// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the 106// http.Response Body if it receives an error. 107func (client Client) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { 108 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 109} 110 111// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always 112// closes the http.Response Body. 113func (client Client) CheckNameAvailabilityResponder(resp *http.Response) (result NameAvailability, err error) { 114 err = autorest.Respond( 115 resp, 116 azure.WithErrorUnlessStatusCode(http.StatusOK), 117 autorest.ByUnmarshallingJSON(&result), 118 autorest.ByClosing()) 119 result.Response = autorest.Response{Response: resp} 120 return 121} 122 123// CreateOrUpdate create a new SignalR service and update an exiting SignalR service. 124// Parameters: 125// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 126// from the Azure Resource Manager API or the portal. 127// resourceName - the name of the SignalR resource. 128// parameters - parameters for the create or update operation 129func (client Client) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, parameters *CreateParameters) (result CreateOrUpdateFuture, err error) { 130 if tracing.IsEnabled() { 131 ctx = tracing.StartSpan(ctx, fqdn+"/Client.CreateOrUpdate") 132 defer func() { 133 sc := -1 134 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 135 sc = result.FutureAPI.Response().StatusCode 136 } 137 tracing.EndSpan(ctx, sc, err) 138 }() 139 } 140 if err := validation.Validate([]validation.Validation{ 141 {TargetValue: parameters, 142 Constraints: []validation.Constraint{{Target: "parameters", Name: validation.Null, Rule: false, 143 Chain: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { 144 return result, validation.NewError("signalr.Client", "CreateOrUpdate", err.Error()) 145 } 146 147 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, parameters) 148 if err != nil { 149 err = autorest.NewErrorWithError(err, "signalr.Client", "CreateOrUpdate", nil, "Failure preparing request") 150 return 151 } 152 153 result, err = client.CreateOrUpdateSender(req) 154 if err != nil { 155 err = autorest.NewErrorWithError(err, "signalr.Client", "CreateOrUpdate", nil, "Failure sending request") 156 return 157 } 158 159 return 160} 161 162// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 163func (client Client) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters *CreateParameters) (*http.Request, error) { 164 pathParameters := map[string]interface{}{ 165 "resourceGroupName": autorest.Encode("path", resourceGroupName), 166 "resourceName": autorest.Encode("path", resourceName), 167 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 168 } 169 170 const APIVersion = "2018-10-01" 171 queryParameters := map[string]interface{}{ 172 "api-version": APIVersion, 173 } 174 175 preparer := autorest.CreatePreparer( 176 autorest.AsContentType("application/json; charset=utf-8"), 177 autorest.AsPut(), 178 autorest.WithBaseURL(client.BaseURI), 179 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}", pathParameters), 180 autorest.WithQueryParameters(queryParameters)) 181 if parameters != nil { 182 preparer = autorest.DecoratePreparer(preparer, 183 autorest.WithJSON(parameters)) 184 } 185 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 186} 187 188// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 189// http.Response Body if it receives an error. 190func (client Client) CreateOrUpdateSender(req *http.Request) (future CreateOrUpdateFuture, err error) { 191 var resp *http.Response 192 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 193 if err != nil { 194 return 195 } 196 var azf azure.Future 197 azf, err = azure.NewFutureFromResponse(resp) 198 future.FutureAPI = &azf 199 future.Result = future.result 200 return 201} 202 203// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 204// closes the http.Response Body. 205func (client Client) CreateOrUpdateResponder(resp *http.Response) (result ResourceType, err error) { 206 err = autorest.Respond( 207 resp, 208 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), 209 autorest.ByUnmarshallingJSON(&result), 210 autorest.ByClosing()) 211 result.Response = autorest.Response{Response: resp} 212 return 213} 214 215// Delete operation to delete a SignalR service. 216// Parameters: 217// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 218// from the Azure Resource Manager API or the portal. 219// resourceName - the name of the SignalR resource. 220func (client Client) Delete(ctx context.Context, resourceGroupName string, resourceName string) (result DeleteFuture, err error) { 221 if tracing.IsEnabled() { 222 ctx = tracing.StartSpan(ctx, fqdn+"/Client.Delete") 223 defer func() { 224 sc := -1 225 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 226 sc = result.FutureAPI.Response().StatusCode 227 } 228 tracing.EndSpan(ctx, sc, err) 229 }() 230 } 231 req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName) 232 if err != nil { 233 err = autorest.NewErrorWithError(err, "signalr.Client", "Delete", nil, "Failure preparing request") 234 return 235 } 236 237 result, err = client.DeleteSender(req) 238 if err != nil { 239 err = autorest.NewErrorWithError(err, "signalr.Client", "Delete", nil, "Failure sending request") 240 return 241 } 242 243 return 244} 245 246// DeletePreparer prepares the Delete request. 247func (client Client) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { 248 pathParameters := map[string]interface{}{ 249 "resourceGroupName": autorest.Encode("path", resourceGroupName), 250 "resourceName": autorest.Encode("path", resourceName), 251 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 252 } 253 254 const APIVersion = "2018-10-01" 255 queryParameters := map[string]interface{}{ 256 "api-version": APIVersion, 257 } 258 259 preparer := autorest.CreatePreparer( 260 autorest.AsDelete(), 261 autorest.WithBaseURL(client.BaseURI), 262 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}", pathParameters), 263 autorest.WithQueryParameters(queryParameters)) 264 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 265} 266 267// DeleteSender sends the Delete request. The method will close the 268// http.Response Body if it receives an error. 269func (client Client) DeleteSender(req *http.Request) (future DeleteFuture, err error) { 270 var resp *http.Response 271 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 272 if err != nil { 273 return 274 } 275 var azf azure.Future 276 azf, err = azure.NewFutureFromResponse(resp) 277 future.FutureAPI = &azf 278 future.Result = future.result 279 return 280} 281 282// DeleteResponder handles the response to the Delete request. The method always 283// closes the http.Response Body. 284func (client Client) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 285 err = autorest.Respond( 286 resp, 287 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 288 autorest.ByClosing()) 289 result.Response = resp 290 return 291} 292 293// Get get the SignalR service and its properties. 294// Parameters: 295// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 296// from the Azure Resource Manager API or the portal. 297// resourceName - the name of the SignalR resource. 298func (client Client) Get(ctx context.Context, resourceGroupName string, resourceName string) (result ResourceType, err error) { 299 if tracing.IsEnabled() { 300 ctx = tracing.StartSpan(ctx, fqdn+"/Client.Get") 301 defer func() { 302 sc := -1 303 if result.Response.Response != nil { 304 sc = result.Response.Response.StatusCode 305 } 306 tracing.EndSpan(ctx, sc, err) 307 }() 308 } 309 req, err := client.GetPreparer(ctx, resourceGroupName, resourceName) 310 if err != nil { 311 err = autorest.NewErrorWithError(err, "signalr.Client", "Get", nil, "Failure preparing request") 312 return 313 } 314 315 resp, err := client.GetSender(req) 316 if err != nil { 317 result.Response = autorest.Response{Response: resp} 318 err = autorest.NewErrorWithError(err, "signalr.Client", "Get", resp, "Failure sending request") 319 return 320 } 321 322 result, err = client.GetResponder(resp) 323 if err != nil { 324 err = autorest.NewErrorWithError(err, "signalr.Client", "Get", resp, "Failure responding to request") 325 return 326 } 327 328 return 329} 330 331// GetPreparer prepares the Get request. 332func (client Client) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { 333 pathParameters := map[string]interface{}{ 334 "resourceGroupName": autorest.Encode("path", resourceGroupName), 335 "resourceName": autorest.Encode("path", resourceName), 336 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 337 } 338 339 const APIVersion = "2018-10-01" 340 queryParameters := map[string]interface{}{ 341 "api-version": APIVersion, 342 } 343 344 preparer := autorest.CreatePreparer( 345 autorest.AsGet(), 346 autorest.WithBaseURL(client.BaseURI), 347 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}", pathParameters), 348 autorest.WithQueryParameters(queryParameters)) 349 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 350} 351 352// GetSender sends the Get request. The method will close the 353// http.Response Body if it receives an error. 354func (client Client) GetSender(req *http.Request) (*http.Response, error) { 355 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 356} 357 358// GetResponder handles the response to the Get request. The method always 359// closes the http.Response Body. 360func (client Client) GetResponder(resp *http.Response) (result ResourceType, err error) { 361 err = autorest.Respond( 362 resp, 363 azure.WithErrorUnlessStatusCode(http.StatusOK), 364 autorest.ByUnmarshallingJSON(&result), 365 autorest.ByClosing()) 366 result.Response = autorest.Response{Response: resp} 367 return 368} 369 370// ListByResourceGroup handles requests to list all resources in a resource group. 371// Parameters: 372// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 373// from the Azure Resource Manager API or the portal. 374func (client Client) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ResourceListPage, err error) { 375 if tracing.IsEnabled() { 376 ctx = tracing.StartSpan(ctx, fqdn+"/Client.ListByResourceGroup") 377 defer func() { 378 sc := -1 379 if result.rl.Response.Response != nil { 380 sc = result.rl.Response.Response.StatusCode 381 } 382 tracing.EndSpan(ctx, sc, err) 383 }() 384 } 385 result.fn = client.listByResourceGroupNextResults 386 req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) 387 if err != nil { 388 err = autorest.NewErrorWithError(err, "signalr.Client", "ListByResourceGroup", nil, "Failure preparing request") 389 return 390 } 391 392 resp, err := client.ListByResourceGroupSender(req) 393 if err != nil { 394 result.rl.Response = autorest.Response{Response: resp} 395 err = autorest.NewErrorWithError(err, "signalr.Client", "ListByResourceGroup", resp, "Failure sending request") 396 return 397 } 398 399 result.rl, err = client.ListByResourceGroupResponder(resp) 400 if err != nil { 401 err = autorest.NewErrorWithError(err, "signalr.Client", "ListByResourceGroup", resp, "Failure responding to request") 402 return 403 } 404 if result.rl.hasNextLink() && result.rl.IsEmpty() { 405 err = result.NextWithContext(ctx) 406 return 407 } 408 409 return 410} 411 412// ListByResourceGroupPreparer prepares the ListByResourceGroup request. 413func (client Client) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { 414 pathParameters := map[string]interface{}{ 415 "resourceGroupName": autorest.Encode("path", resourceGroupName), 416 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 417 } 418 419 const APIVersion = "2018-10-01" 420 queryParameters := map[string]interface{}{ 421 "api-version": APIVersion, 422 } 423 424 preparer := autorest.CreatePreparer( 425 autorest.AsGet(), 426 autorest.WithBaseURL(client.BaseURI), 427 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR", pathParameters), 428 autorest.WithQueryParameters(queryParameters)) 429 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 430} 431 432// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the 433// http.Response Body if it receives an error. 434func (client Client) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { 435 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 436} 437 438// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always 439// closes the http.Response Body. 440func (client Client) ListByResourceGroupResponder(resp *http.Response) (result ResourceList, err error) { 441 err = autorest.Respond( 442 resp, 443 azure.WithErrorUnlessStatusCode(http.StatusOK), 444 autorest.ByUnmarshallingJSON(&result), 445 autorest.ByClosing()) 446 result.Response = autorest.Response{Response: resp} 447 return 448} 449 450// listByResourceGroupNextResults retrieves the next set of results, if any. 451func (client Client) listByResourceGroupNextResults(ctx context.Context, lastResults ResourceList) (result ResourceList, err error) { 452 req, err := lastResults.resourceListPreparer(ctx) 453 if err != nil { 454 return result, autorest.NewErrorWithError(err, "signalr.Client", "listByResourceGroupNextResults", nil, "Failure preparing next results request") 455 } 456 if req == nil { 457 return 458 } 459 resp, err := client.ListByResourceGroupSender(req) 460 if err != nil { 461 result.Response = autorest.Response{Response: resp} 462 return result, autorest.NewErrorWithError(err, "signalr.Client", "listByResourceGroupNextResults", resp, "Failure sending next results request") 463 } 464 result, err = client.ListByResourceGroupResponder(resp) 465 if err != nil { 466 err = autorest.NewErrorWithError(err, "signalr.Client", "listByResourceGroupNextResults", resp, "Failure responding to next results request") 467 } 468 return 469} 470 471// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. 472func (client Client) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ResourceListIterator, err error) { 473 if tracing.IsEnabled() { 474 ctx = tracing.StartSpan(ctx, fqdn+"/Client.ListByResourceGroup") 475 defer func() { 476 sc := -1 477 if result.Response().Response.Response != nil { 478 sc = result.page.Response().Response.Response.StatusCode 479 } 480 tracing.EndSpan(ctx, sc, err) 481 }() 482 } 483 result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) 484 return 485} 486 487// ListBySubscription handles requests to list all resources in a subscription. 488func (client Client) ListBySubscription(ctx context.Context) (result ResourceListPage, err error) { 489 if tracing.IsEnabled() { 490 ctx = tracing.StartSpan(ctx, fqdn+"/Client.ListBySubscription") 491 defer func() { 492 sc := -1 493 if result.rl.Response.Response != nil { 494 sc = result.rl.Response.Response.StatusCode 495 } 496 tracing.EndSpan(ctx, sc, err) 497 }() 498 } 499 result.fn = client.listBySubscriptionNextResults 500 req, err := client.ListBySubscriptionPreparer(ctx) 501 if err != nil { 502 err = autorest.NewErrorWithError(err, "signalr.Client", "ListBySubscription", nil, "Failure preparing request") 503 return 504 } 505 506 resp, err := client.ListBySubscriptionSender(req) 507 if err != nil { 508 result.rl.Response = autorest.Response{Response: resp} 509 err = autorest.NewErrorWithError(err, "signalr.Client", "ListBySubscription", resp, "Failure sending request") 510 return 511 } 512 513 result.rl, err = client.ListBySubscriptionResponder(resp) 514 if err != nil { 515 err = autorest.NewErrorWithError(err, "signalr.Client", "ListBySubscription", resp, "Failure responding to request") 516 return 517 } 518 if result.rl.hasNextLink() && result.rl.IsEmpty() { 519 err = result.NextWithContext(ctx) 520 return 521 } 522 523 return 524} 525 526// ListBySubscriptionPreparer prepares the ListBySubscription request. 527func (client Client) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { 528 pathParameters := map[string]interface{}{ 529 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 530 } 531 532 const APIVersion = "2018-10-01" 533 queryParameters := map[string]interface{}{ 534 "api-version": APIVersion, 535 } 536 537 preparer := autorest.CreatePreparer( 538 autorest.AsGet(), 539 autorest.WithBaseURL(client.BaseURI), 540 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/SignalR", pathParameters), 541 autorest.WithQueryParameters(queryParameters)) 542 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 543} 544 545// ListBySubscriptionSender sends the ListBySubscription request. The method will close the 546// http.Response Body if it receives an error. 547func (client Client) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { 548 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 549} 550 551// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always 552// closes the http.Response Body. 553func (client Client) ListBySubscriptionResponder(resp *http.Response) (result ResourceList, err error) { 554 err = autorest.Respond( 555 resp, 556 azure.WithErrorUnlessStatusCode(http.StatusOK), 557 autorest.ByUnmarshallingJSON(&result), 558 autorest.ByClosing()) 559 result.Response = autorest.Response{Response: resp} 560 return 561} 562 563// listBySubscriptionNextResults retrieves the next set of results, if any. 564func (client Client) listBySubscriptionNextResults(ctx context.Context, lastResults ResourceList) (result ResourceList, err error) { 565 req, err := lastResults.resourceListPreparer(ctx) 566 if err != nil { 567 return result, autorest.NewErrorWithError(err, "signalr.Client", "listBySubscriptionNextResults", nil, "Failure preparing next results request") 568 } 569 if req == nil { 570 return 571 } 572 resp, err := client.ListBySubscriptionSender(req) 573 if err != nil { 574 result.Response = autorest.Response{Response: resp} 575 return result, autorest.NewErrorWithError(err, "signalr.Client", "listBySubscriptionNextResults", resp, "Failure sending next results request") 576 } 577 result, err = client.ListBySubscriptionResponder(resp) 578 if err != nil { 579 err = autorest.NewErrorWithError(err, "signalr.Client", "listBySubscriptionNextResults", resp, "Failure responding to next results request") 580 } 581 return 582} 583 584// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. 585func (client Client) ListBySubscriptionComplete(ctx context.Context) (result ResourceListIterator, err error) { 586 if tracing.IsEnabled() { 587 ctx = tracing.StartSpan(ctx, fqdn+"/Client.ListBySubscription") 588 defer func() { 589 sc := -1 590 if result.Response().Response.Response != nil { 591 sc = result.page.Response().Response.Response.StatusCode 592 } 593 tracing.EndSpan(ctx, sc, err) 594 }() 595 } 596 result.page, err = client.ListBySubscription(ctx) 597 return 598} 599 600// ListKeys get the access keys of the SignalR resource. 601// Parameters: 602// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 603// from the Azure Resource Manager API or the portal. 604// resourceName - the name of the SignalR resource. 605func (client Client) ListKeys(ctx context.Context, resourceGroupName string, resourceName string) (result Keys, err error) { 606 if tracing.IsEnabled() { 607 ctx = tracing.StartSpan(ctx, fqdn+"/Client.ListKeys") 608 defer func() { 609 sc := -1 610 if result.Response.Response != nil { 611 sc = result.Response.Response.StatusCode 612 } 613 tracing.EndSpan(ctx, sc, err) 614 }() 615 } 616 req, err := client.ListKeysPreparer(ctx, resourceGroupName, resourceName) 617 if err != nil { 618 err = autorest.NewErrorWithError(err, "signalr.Client", "ListKeys", nil, "Failure preparing request") 619 return 620 } 621 622 resp, err := client.ListKeysSender(req) 623 if err != nil { 624 result.Response = autorest.Response{Response: resp} 625 err = autorest.NewErrorWithError(err, "signalr.Client", "ListKeys", resp, "Failure sending request") 626 return 627 } 628 629 result, err = client.ListKeysResponder(resp) 630 if err != nil { 631 err = autorest.NewErrorWithError(err, "signalr.Client", "ListKeys", resp, "Failure responding to request") 632 return 633 } 634 635 return 636} 637 638// ListKeysPreparer prepares the ListKeys request. 639func (client Client) ListKeysPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { 640 pathParameters := map[string]interface{}{ 641 "resourceGroupName": autorest.Encode("path", resourceGroupName), 642 "resourceName": autorest.Encode("path", resourceName), 643 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 644 } 645 646 const APIVersion = "2018-10-01" 647 queryParameters := map[string]interface{}{ 648 "api-version": APIVersion, 649 } 650 651 preparer := autorest.CreatePreparer( 652 autorest.AsPost(), 653 autorest.WithBaseURL(client.BaseURI), 654 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys", pathParameters), 655 autorest.WithQueryParameters(queryParameters)) 656 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 657} 658 659// ListKeysSender sends the ListKeys request. The method will close the 660// http.Response Body if it receives an error. 661func (client Client) ListKeysSender(req *http.Request) (*http.Response, error) { 662 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 663} 664 665// ListKeysResponder handles the response to the ListKeys request. The method always 666// closes the http.Response Body. 667func (client Client) ListKeysResponder(resp *http.Response) (result Keys, err error) { 668 err = autorest.Respond( 669 resp, 670 azure.WithErrorUnlessStatusCode(http.StatusOK), 671 autorest.ByUnmarshallingJSON(&result), 672 autorest.ByClosing()) 673 result.Response = autorest.Response{Response: resp} 674 return 675} 676 677// RegenerateKey regenerate SignalR service access key. PrimaryKey and SecondaryKey cannot be regenerated at the same 678// time. 679// Parameters: 680// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 681// from the Azure Resource Manager API or the portal. 682// resourceName - the name of the SignalR resource. 683// parameters - parameter that describes the Regenerate Key Operation. 684func (client Client) RegenerateKey(ctx context.Context, resourceGroupName string, resourceName string, parameters *RegenerateKeyParameters) (result RegenerateKeyFuture, err error) { 685 if tracing.IsEnabled() { 686 ctx = tracing.StartSpan(ctx, fqdn+"/Client.RegenerateKey") 687 defer func() { 688 sc := -1 689 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 690 sc = result.FutureAPI.Response().StatusCode 691 } 692 tracing.EndSpan(ctx, sc, err) 693 }() 694 } 695 req, err := client.RegenerateKeyPreparer(ctx, resourceGroupName, resourceName, parameters) 696 if err != nil { 697 err = autorest.NewErrorWithError(err, "signalr.Client", "RegenerateKey", nil, "Failure preparing request") 698 return 699 } 700 701 result, err = client.RegenerateKeySender(req) 702 if err != nil { 703 err = autorest.NewErrorWithError(err, "signalr.Client", "RegenerateKey", nil, "Failure sending request") 704 return 705 } 706 707 return 708} 709 710// RegenerateKeyPreparer prepares the RegenerateKey request. 711func (client Client) RegenerateKeyPreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters *RegenerateKeyParameters) (*http.Request, error) { 712 pathParameters := map[string]interface{}{ 713 "resourceGroupName": autorest.Encode("path", resourceGroupName), 714 "resourceName": autorest.Encode("path", resourceName), 715 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 716 } 717 718 const APIVersion = "2018-10-01" 719 queryParameters := map[string]interface{}{ 720 "api-version": APIVersion, 721 } 722 723 preparer := autorest.CreatePreparer( 724 autorest.AsContentType("application/json; charset=utf-8"), 725 autorest.AsPost(), 726 autorest.WithBaseURL(client.BaseURI), 727 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey", pathParameters), 728 autorest.WithQueryParameters(queryParameters)) 729 if parameters != nil { 730 preparer = autorest.DecoratePreparer(preparer, 731 autorest.WithJSON(parameters)) 732 } 733 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 734} 735 736// RegenerateKeySender sends the RegenerateKey request. The method will close the 737// http.Response Body if it receives an error. 738func (client Client) RegenerateKeySender(req *http.Request) (future RegenerateKeyFuture, err error) { 739 var resp *http.Response 740 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 741 if err != nil { 742 return 743 } 744 var azf azure.Future 745 azf, err = azure.NewFutureFromResponse(resp) 746 future.FutureAPI = &azf 747 future.Result = future.result 748 return 749} 750 751// RegenerateKeyResponder handles the response to the RegenerateKey request. The method always 752// closes the http.Response Body. 753func (client Client) RegenerateKeyResponder(resp *http.Response) (result Keys, err error) { 754 err = autorest.Respond( 755 resp, 756 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 757 autorest.ByUnmarshallingJSON(&result), 758 autorest.ByClosing()) 759 result.Response = autorest.Response{Response: resp} 760 return 761} 762 763// Restart operation to restart a SignalR service. 764// Parameters: 765// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 766// from the Azure Resource Manager API or the portal. 767// resourceName - the name of the SignalR resource. 768func (client Client) Restart(ctx context.Context, resourceGroupName string, resourceName string) (result RestartFuture, err error) { 769 if tracing.IsEnabled() { 770 ctx = tracing.StartSpan(ctx, fqdn+"/Client.Restart") 771 defer func() { 772 sc := -1 773 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 774 sc = result.FutureAPI.Response().StatusCode 775 } 776 tracing.EndSpan(ctx, sc, err) 777 }() 778 } 779 req, err := client.RestartPreparer(ctx, resourceGroupName, resourceName) 780 if err != nil { 781 err = autorest.NewErrorWithError(err, "signalr.Client", "Restart", nil, "Failure preparing request") 782 return 783 } 784 785 result, err = client.RestartSender(req) 786 if err != nil { 787 err = autorest.NewErrorWithError(err, "signalr.Client", "Restart", nil, "Failure sending request") 788 return 789 } 790 791 return 792} 793 794// RestartPreparer prepares the Restart request. 795func (client Client) RestartPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { 796 pathParameters := map[string]interface{}{ 797 "resourceGroupName": autorest.Encode("path", resourceGroupName), 798 "resourceName": autorest.Encode("path", resourceName), 799 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 800 } 801 802 const APIVersion = "2018-10-01" 803 queryParameters := map[string]interface{}{ 804 "api-version": APIVersion, 805 } 806 807 preparer := autorest.CreatePreparer( 808 autorest.AsPost(), 809 autorest.WithBaseURL(client.BaseURI), 810 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart", pathParameters), 811 autorest.WithQueryParameters(queryParameters)) 812 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 813} 814 815// RestartSender sends the Restart request. The method will close the 816// http.Response Body if it receives an error. 817func (client Client) RestartSender(req *http.Request) (future RestartFuture, err error) { 818 var resp *http.Response 819 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 820 if err != nil { 821 return 822 } 823 var azf azure.Future 824 azf, err = azure.NewFutureFromResponse(resp) 825 future.FutureAPI = &azf 826 future.Result = future.result 827 return 828} 829 830// RestartResponder handles the response to the Restart request. The method always 831// closes the http.Response Body. 832func (client Client) RestartResponder(resp *http.Response) (result autorest.Response, err error) { 833 err = autorest.Respond( 834 resp, 835 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), 836 autorest.ByClosing()) 837 result.Response = resp 838 return 839} 840 841// Update operation to update an exiting SignalR service. 842// Parameters: 843// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value 844// from the Azure Resource Manager API or the portal. 845// resourceName - the name of the SignalR resource. 846// parameters - parameters for the update operation 847func (client Client) Update(ctx context.Context, resourceGroupName string, resourceName string, parameters *UpdateParameters) (result UpdateFuture, err error) { 848 if tracing.IsEnabled() { 849 ctx = tracing.StartSpan(ctx, fqdn+"/Client.Update") 850 defer func() { 851 sc := -1 852 if result.FutureAPI != nil && result.FutureAPI.Response() != nil { 853 sc = result.FutureAPI.Response().StatusCode 854 } 855 tracing.EndSpan(ctx, sc, err) 856 }() 857 } 858 req, err := client.UpdatePreparer(ctx, resourceGroupName, resourceName, parameters) 859 if err != nil { 860 err = autorest.NewErrorWithError(err, "signalr.Client", "Update", nil, "Failure preparing request") 861 return 862 } 863 864 result, err = client.UpdateSender(req) 865 if err != nil { 866 err = autorest.NewErrorWithError(err, "signalr.Client", "Update", nil, "Failure sending request") 867 return 868 } 869 870 return 871} 872 873// UpdatePreparer prepares the Update request. 874func (client Client) UpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters *UpdateParameters) (*http.Request, error) { 875 pathParameters := map[string]interface{}{ 876 "resourceGroupName": autorest.Encode("path", resourceGroupName), 877 "resourceName": autorest.Encode("path", resourceName), 878 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 879 } 880 881 const APIVersion = "2018-10-01" 882 queryParameters := map[string]interface{}{ 883 "api-version": APIVersion, 884 } 885 886 preparer := autorest.CreatePreparer( 887 autorest.AsContentType("application/json; charset=utf-8"), 888 autorest.AsPatch(), 889 autorest.WithBaseURL(client.BaseURI), 890 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}", pathParameters), 891 autorest.WithQueryParameters(queryParameters)) 892 if parameters != nil { 893 preparer = autorest.DecoratePreparer(preparer, 894 autorest.WithJSON(parameters)) 895 } 896 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 897} 898 899// UpdateSender sends the Update request. The method will close the 900// http.Response Body if it receives an error. 901func (client Client) UpdateSender(req *http.Request) (future UpdateFuture, err error) { 902 var resp *http.Response 903 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client)) 904 if err != nil { 905 return 906 } 907 var azf azure.Future 908 azf, err = azure.NewFutureFromResponse(resp) 909 future.FutureAPI = &azf 910 future.Result = future.result 911 return 912} 913 914// UpdateResponder handles the response to the Update request. The method always 915// closes the http.Response Body. 916func (client Client) UpdateResponder(resp *http.Response) (result ResourceType, err error) { 917 err = autorest.Respond( 918 resp, 919 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), 920 autorest.ByUnmarshallingJSON(&result), 921 autorest.ByClosing()) 922 result.Response = autorest.Response{Response: resp} 923 return 924} 925