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// ContentItemClient is the apiManagement Client 19type ContentItemClient struct { 20 BaseClient 21} 22 23// NewContentItemClient creates an instance of the ContentItemClient client. 24func NewContentItemClient(subscriptionID string) ContentItemClient { 25 return NewContentItemClientWithBaseURI(DefaultBaseURI, subscriptionID) 26} 27 28// NewContentItemClientWithBaseURI creates an instance of the ContentItemClient client using a custom endpoint. Use 29// this when interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 30func NewContentItemClientWithBaseURI(baseURI string, subscriptionID string) ContentItemClient { 31 return ContentItemClient{NewWithBaseURI(baseURI, subscriptionID)} 32} 33 34// CreateOrUpdate creates a new developer portal's content item specified by the provided content type. 35// Parameters: 36// resourceGroupName - the name of the resource group. 37// serviceName - the name of the API Management service. 38// contentTypeID - content type identifier. 39// contentItemID - content item identifier. 40// ifMatch - eTag of the Entity. Not required when creating an entity, but required when updating an entity. 41func (client ContentItemClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string, ifMatch string) (result ContentItemContract, err error) { 42 if tracing.IsEnabled() { 43 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.CreateOrUpdate") 44 defer func() { 45 sc := -1 46 if result.Response.Response != nil { 47 sc = result.Response.Response.StatusCode 48 } 49 tracing.EndSpan(ctx, sc, err) 50 }() 51 } 52 if err := validation.Validate([]validation.Validation{ 53 {TargetValue: serviceName, 54 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 55 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 56 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 57 {TargetValue: contentTypeID, 58 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 59 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, 60 {TargetValue: contentItemID, 61 Constraints: []validation.Constraint{{Target: "contentItemID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 62 {Target: "contentItemID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 63 return result, validation.NewError("apimanagement.ContentItemClient", "CreateOrUpdate", err.Error()) 64 } 65 66 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, contentTypeID, contentItemID, ifMatch) 67 if err != nil { 68 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "CreateOrUpdate", nil, "Failure preparing request") 69 return 70 } 71 72 resp, err := client.CreateOrUpdateSender(req) 73 if err != nil { 74 result.Response = autorest.Response{Response: resp} 75 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "CreateOrUpdate", resp, "Failure sending request") 76 return 77 } 78 79 result, err = client.CreateOrUpdateResponder(resp) 80 if err != nil { 81 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "CreateOrUpdate", resp, "Failure responding to request") 82 return 83 } 84 85 return 86} 87 88// CreateOrUpdatePreparer prepares the CreateOrUpdate request. 89func (client ContentItemClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string, ifMatch string) (*http.Request, error) { 90 pathParameters := map[string]interface{}{ 91 "contentItemId": autorest.Encode("path", contentItemID), 92 "contentTypeId": autorest.Encode("path", contentTypeID), 93 "resourceGroupName": autorest.Encode("path", resourceGroupName), 94 "serviceName": autorest.Encode("path", serviceName), 95 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 96 } 97 98 const APIVersion = "2021-01-01-preview" 99 queryParameters := map[string]interface{}{ 100 "api-version": APIVersion, 101 } 102 103 preparer := autorest.CreatePreparer( 104 autorest.AsPut(), 105 autorest.WithBaseURL(client.BaseURI), 106 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", pathParameters), 107 autorest.WithQueryParameters(queryParameters)) 108 if len(ifMatch) > 0 { 109 preparer = autorest.DecoratePreparer(preparer, 110 autorest.WithHeader("If-Match", autorest.String(ifMatch))) 111 } 112 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 113} 114 115// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the 116// http.Response Body if it receives an error. 117func (client ContentItemClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { 118 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 119} 120 121// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always 122// closes the http.Response Body. 123func (client ContentItemClient) CreateOrUpdateResponder(resp *http.Response) (result ContentItemContract, err error) { 124 err = autorest.Respond( 125 resp, 126 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 127 autorest.ByUnmarshallingJSON(&result), 128 autorest.ByClosing()) 129 result.Response = autorest.Response{Response: resp} 130 return 131} 132 133// Delete removes the specified developer portal's content item. 134// Parameters: 135// resourceGroupName - the name of the resource group. 136// serviceName - the name of the API Management service. 137// contentTypeID - content type identifier. 138// contentItemID - content item identifier. 139// ifMatch - eTag of the Entity. ETag should match the current entity state from the header response of the GET 140// request or it should be * for unconditional update. 141func (client ContentItemClient) Delete(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string, ifMatch string) (result autorest.Response, err error) { 142 if tracing.IsEnabled() { 143 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.Delete") 144 defer func() { 145 sc := -1 146 if result.Response != nil { 147 sc = result.Response.StatusCode 148 } 149 tracing.EndSpan(ctx, sc, err) 150 }() 151 } 152 if err := validation.Validate([]validation.Validation{ 153 {TargetValue: serviceName, 154 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 155 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 156 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 157 {TargetValue: contentTypeID, 158 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 159 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, 160 {TargetValue: contentItemID, 161 Constraints: []validation.Constraint{{Target: "contentItemID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 162 {Target: "contentItemID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 163 return result, validation.NewError("apimanagement.ContentItemClient", "Delete", err.Error()) 164 } 165 166 req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName, contentTypeID, contentItemID, ifMatch) 167 if err != nil { 168 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Delete", nil, "Failure preparing request") 169 return 170 } 171 172 resp, err := client.DeleteSender(req) 173 if err != nil { 174 result.Response = resp 175 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Delete", resp, "Failure sending request") 176 return 177 } 178 179 result, err = client.DeleteResponder(resp) 180 if err != nil { 181 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Delete", resp, "Failure responding to request") 182 return 183 } 184 185 return 186} 187 188// DeletePreparer prepares the Delete request. 189func (client ContentItemClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string, ifMatch string) (*http.Request, error) { 190 pathParameters := map[string]interface{}{ 191 "contentItemId": autorest.Encode("path", contentItemID), 192 "contentTypeId": autorest.Encode("path", contentTypeID), 193 "resourceGroupName": autorest.Encode("path", resourceGroupName), 194 "serviceName": autorest.Encode("path", serviceName), 195 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 196 } 197 198 const APIVersion = "2021-01-01-preview" 199 queryParameters := map[string]interface{}{ 200 "api-version": APIVersion, 201 } 202 203 preparer := autorest.CreatePreparer( 204 autorest.AsDelete(), 205 autorest.WithBaseURL(client.BaseURI), 206 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", pathParameters), 207 autorest.WithQueryParameters(queryParameters), 208 autorest.WithHeader("If-Match", autorest.String(ifMatch))) 209 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 210} 211 212// DeleteSender sends the Delete request. The method will close the 213// http.Response Body if it receives an error. 214func (client ContentItemClient) DeleteSender(req *http.Request) (*http.Response, error) { 215 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 216} 217 218// DeleteResponder handles the response to the Delete request. The method always 219// closes the http.Response Body. 220func (client ContentItemClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 221 err = autorest.Respond( 222 resp, 223 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), 224 autorest.ByClosing()) 225 result.Response = resp 226 return 227} 228 229// Get returns the developer portal's content item specified by its identifier. 230// Parameters: 231// resourceGroupName - the name of the resource group. 232// serviceName - the name of the API Management service. 233// contentTypeID - content type identifier. 234// contentItemID - content item identifier. 235func (client ContentItemClient) Get(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string) (result ContentItemContract, err error) { 236 if tracing.IsEnabled() { 237 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.Get") 238 defer func() { 239 sc := -1 240 if result.Response.Response != nil { 241 sc = result.Response.Response.StatusCode 242 } 243 tracing.EndSpan(ctx, sc, err) 244 }() 245 } 246 if err := validation.Validate([]validation.Validation{ 247 {TargetValue: serviceName, 248 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 249 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 250 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 251 {TargetValue: contentTypeID, 252 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 253 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, 254 {TargetValue: contentItemID, 255 Constraints: []validation.Constraint{{Target: "contentItemID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 256 {Target: "contentItemID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 257 return result, validation.NewError("apimanagement.ContentItemClient", "Get", err.Error()) 258 } 259 260 req, err := client.GetPreparer(ctx, resourceGroupName, serviceName, contentTypeID, contentItemID) 261 if err != nil { 262 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Get", nil, "Failure preparing request") 263 return 264 } 265 266 resp, err := client.GetSender(req) 267 if err != nil { 268 result.Response = autorest.Response{Response: resp} 269 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Get", resp, "Failure sending request") 270 return 271 } 272 273 result, err = client.GetResponder(resp) 274 if err != nil { 275 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "Get", resp, "Failure responding to request") 276 return 277 } 278 279 return 280} 281 282// GetPreparer prepares the Get request. 283func (client ContentItemClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string) (*http.Request, error) { 284 pathParameters := map[string]interface{}{ 285 "contentItemId": autorest.Encode("path", contentItemID), 286 "contentTypeId": autorest.Encode("path", contentTypeID), 287 "resourceGroupName": autorest.Encode("path", resourceGroupName), 288 "serviceName": autorest.Encode("path", serviceName), 289 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 290 } 291 292 const APIVersion = "2021-01-01-preview" 293 queryParameters := map[string]interface{}{ 294 "api-version": APIVersion, 295 } 296 297 preparer := autorest.CreatePreparer( 298 autorest.AsGet(), 299 autorest.WithBaseURL(client.BaseURI), 300 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", pathParameters), 301 autorest.WithQueryParameters(queryParameters)) 302 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 303} 304 305// GetSender sends the Get request. The method will close the 306// http.Response Body if it receives an error. 307func (client ContentItemClient) GetSender(req *http.Request) (*http.Response, error) { 308 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 309} 310 311// GetResponder handles the response to the Get request. The method always 312// closes the http.Response Body. 313func (client ContentItemClient) GetResponder(resp *http.Response) (result ContentItemContract, err error) { 314 err = autorest.Respond( 315 resp, 316 azure.WithErrorUnlessStatusCode(http.StatusOK), 317 autorest.ByUnmarshallingJSON(&result), 318 autorest.ByClosing()) 319 result.Response = autorest.Response{Response: resp} 320 return 321} 322 323// GetEntityTag returns the entity state (ETag) version of the developer portal's content item specified by its 324// identifier. 325// Parameters: 326// resourceGroupName - the name of the resource group. 327// serviceName - the name of the API Management service. 328// contentTypeID - content type identifier. 329// contentItemID - content item identifier. 330func (client ContentItemClient) GetEntityTag(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string) (result autorest.Response, err error) { 331 if tracing.IsEnabled() { 332 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.GetEntityTag") 333 defer func() { 334 sc := -1 335 if result.Response != nil { 336 sc = result.Response.StatusCode 337 } 338 tracing.EndSpan(ctx, sc, err) 339 }() 340 } 341 if err := validation.Validate([]validation.Validation{ 342 {TargetValue: serviceName, 343 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 344 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 345 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 346 {TargetValue: contentTypeID, 347 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 348 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, 349 {TargetValue: contentItemID, 350 Constraints: []validation.Constraint{{Target: "contentItemID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 351 {Target: "contentItemID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 352 return result, validation.NewError("apimanagement.ContentItemClient", "GetEntityTag", err.Error()) 353 } 354 355 req, err := client.GetEntityTagPreparer(ctx, resourceGroupName, serviceName, contentTypeID, contentItemID) 356 if err != nil { 357 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "GetEntityTag", nil, "Failure preparing request") 358 return 359 } 360 361 resp, err := client.GetEntityTagSender(req) 362 if err != nil { 363 result.Response = resp 364 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "GetEntityTag", resp, "Failure sending request") 365 return 366 } 367 368 result, err = client.GetEntityTagResponder(resp) 369 if err != nil { 370 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "GetEntityTag", resp, "Failure responding to request") 371 return 372 } 373 374 return 375} 376 377// GetEntityTagPreparer prepares the GetEntityTag request. 378func (client ContentItemClient) GetEntityTagPreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string, contentItemID string) (*http.Request, error) { 379 pathParameters := map[string]interface{}{ 380 "contentItemId": autorest.Encode("path", contentItemID), 381 "contentTypeId": autorest.Encode("path", contentTypeID), 382 "resourceGroupName": autorest.Encode("path", resourceGroupName), 383 "serviceName": autorest.Encode("path", serviceName), 384 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 385 } 386 387 const APIVersion = "2021-01-01-preview" 388 queryParameters := map[string]interface{}{ 389 "api-version": APIVersion, 390 } 391 392 preparer := autorest.CreatePreparer( 393 autorest.AsHead(), 394 autorest.WithBaseURL(client.BaseURI), 395 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", pathParameters), 396 autorest.WithQueryParameters(queryParameters)) 397 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 398} 399 400// GetEntityTagSender sends the GetEntityTag request. The method will close the 401// http.Response Body if it receives an error. 402func (client ContentItemClient) GetEntityTagSender(req *http.Request) (*http.Response, error) { 403 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 404} 405 406// GetEntityTagResponder handles the response to the GetEntityTag request. The method always 407// closes the http.Response Body. 408func (client ContentItemClient) GetEntityTagResponder(resp *http.Response) (result autorest.Response, err error) { 409 err = autorest.Respond( 410 resp, 411 azure.WithErrorUnlessStatusCode(http.StatusOK), 412 autorest.ByClosing()) 413 result.Response = resp 414 return 415} 416 417// ListByService lists developer portal's content items specified by the provided content type. 418// Parameters: 419// resourceGroupName - the name of the resource group. 420// serviceName - the name of the API Management service. 421// contentTypeID - content type identifier. 422func (client ContentItemClient) ListByService(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string) (result ContentItemCollectionPage, err error) { 423 if tracing.IsEnabled() { 424 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.ListByService") 425 defer func() { 426 sc := -1 427 if result.cic.Response.Response != nil { 428 sc = result.cic.Response.Response.StatusCode 429 } 430 tracing.EndSpan(ctx, sc, err) 431 }() 432 } 433 if err := validation.Validate([]validation.Validation{ 434 {TargetValue: serviceName, 435 Constraints: []validation.Constraint{{Target: "serviceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, 436 {Target: "serviceName", Name: validation.MinLength, Rule: 1, Chain: nil}, 437 {Target: "serviceName", Name: validation.Pattern, Rule: `^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`, Chain: nil}}}, 438 {TargetValue: contentTypeID, 439 Constraints: []validation.Constraint{{Target: "contentTypeID", Name: validation.MaxLength, Rule: 80, Chain: nil}, 440 {Target: "contentTypeID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { 441 return result, validation.NewError("apimanagement.ContentItemClient", "ListByService", err.Error()) 442 } 443 444 result.fn = client.listByServiceNextResults 445 req, err := client.ListByServicePreparer(ctx, resourceGroupName, serviceName, contentTypeID) 446 if err != nil { 447 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "ListByService", nil, "Failure preparing request") 448 return 449 } 450 451 resp, err := client.ListByServiceSender(req) 452 if err != nil { 453 result.cic.Response = autorest.Response{Response: resp} 454 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "ListByService", resp, "Failure sending request") 455 return 456 } 457 458 result.cic, err = client.ListByServiceResponder(resp) 459 if err != nil { 460 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "ListByService", resp, "Failure responding to request") 461 return 462 } 463 if result.cic.hasNextLink() && result.cic.IsEmpty() { 464 err = result.NextWithContext(ctx) 465 return 466 } 467 468 return 469} 470 471// ListByServicePreparer prepares the ListByService request. 472func (client ContentItemClient) ListByServicePreparer(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string) (*http.Request, error) { 473 pathParameters := map[string]interface{}{ 474 "contentTypeId": autorest.Encode("path", contentTypeID), 475 "resourceGroupName": autorest.Encode("path", resourceGroupName), 476 "serviceName": autorest.Encode("path", serviceName), 477 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 478 } 479 480 const APIVersion = "2021-01-01-preview" 481 queryParameters := map[string]interface{}{ 482 "api-version": APIVersion, 483 } 484 485 preparer := autorest.CreatePreparer( 486 autorest.AsGet(), 487 autorest.WithBaseURL(client.BaseURI), 488 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems", pathParameters), 489 autorest.WithQueryParameters(queryParameters)) 490 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 491} 492 493// ListByServiceSender sends the ListByService request. The method will close the 494// http.Response Body if it receives an error. 495func (client ContentItemClient) ListByServiceSender(req *http.Request) (*http.Response, error) { 496 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 497} 498 499// ListByServiceResponder handles the response to the ListByService request. The method always 500// closes the http.Response Body. 501func (client ContentItemClient) ListByServiceResponder(resp *http.Response) (result ContentItemCollection, err error) { 502 err = autorest.Respond( 503 resp, 504 azure.WithErrorUnlessStatusCode(http.StatusOK), 505 autorest.ByUnmarshallingJSON(&result), 506 autorest.ByClosing()) 507 result.Response = autorest.Response{Response: resp} 508 return 509} 510 511// listByServiceNextResults retrieves the next set of results, if any. 512func (client ContentItemClient) listByServiceNextResults(ctx context.Context, lastResults ContentItemCollection) (result ContentItemCollection, err error) { 513 req, err := lastResults.contentItemCollectionPreparer(ctx) 514 if err != nil { 515 return result, autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "listByServiceNextResults", nil, "Failure preparing next results request") 516 } 517 if req == nil { 518 return 519 } 520 resp, err := client.ListByServiceSender(req) 521 if err != nil { 522 result.Response = autorest.Response{Response: resp} 523 return result, autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "listByServiceNextResults", resp, "Failure sending next results request") 524 } 525 result, err = client.ListByServiceResponder(resp) 526 if err != nil { 527 err = autorest.NewErrorWithError(err, "apimanagement.ContentItemClient", "listByServiceNextResults", resp, "Failure responding to next results request") 528 } 529 return 530} 531 532// ListByServiceComplete enumerates all values, automatically crossing page boundaries as required. 533func (client ContentItemClient) ListByServiceComplete(ctx context.Context, resourceGroupName string, serviceName string, contentTypeID string) (result ContentItemCollectionIterator, err error) { 534 if tracing.IsEnabled() { 535 ctx = tracing.StartSpan(ctx, fqdn+"/ContentItemClient.ListByService") 536 defer func() { 537 sc := -1 538 if result.Response().Response.Response != nil { 539 sc = result.page.Response().Response.Response.StatusCode 540 } 541 tracing.EndSpan(ctx, sc, err) 542 }() 543 } 544 result.page, err = client.ListByService(ctx, resourceGroupName, serviceName, contentTypeID) 545 return 546} 547