1package media 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// JobsClient is the client for the Jobs methods of the Media service. 19type JobsClient struct { 20 BaseClient 21} 22 23// NewJobsClient creates an instance of the JobsClient client. 24func NewJobsClient(subscriptionID string) JobsClient { 25 return NewJobsClientWithBaseURI(DefaultBaseURI, subscriptionID) 26} 27 28// NewJobsClientWithBaseURI creates an instance of the JobsClient client using a custom endpoint. Use this when 29// interacting with an Azure cloud that uses a non-standard base URI (sovereign clouds, Azure stack). 30func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient { 31 return JobsClient{NewWithBaseURI(baseURI, subscriptionID)} 32} 33 34// CancelJob cancel a Job. 35// Parameters: 36// resourceGroupName - the name of the resource group within the Azure subscription. 37// accountName - the Media Services account name. 38// transformName - the Transform name. 39// jobName - the Job name. 40func (client JobsClient) CancelJob(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string) (result autorest.Response, err error) { 41 if tracing.IsEnabled() { 42 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.CancelJob") 43 defer func() { 44 sc := -1 45 if result.Response != nil { 46 sc = result.Response.StatusCode 47 } 48 tracing.EndSpan(ctx, sc, err) 49 }() 50 } 51 req, err := client.CancelJobPreparer(ctx, resourceGroupName, accountName, transformName, jobName) 52 if err != nil { 53 err = autorest.NewErrorWithError(err, "media.JobsClient", "CancelJob", nil, "Failure preparing request") 54 return 55 } 56 57 resp, err := client.CancelJobSender(req) 58 if err != nil { 59 result.Response = resp 60 err = autorest.NewErrorWithError(err, "media.JobsClient", "CancelJob", resp, "Failure sending request") 61 return 62 } 63 64 result, err = client.CancelJobResponder(resp) 65 if err != nil { 66 err = autorest.NewErrorWithError(err, "media.JobsClient", "CancelJob", resp, "Failure responding to request") 67 return 68 } 69 70 return 71} 72 73// CancelJobPreparer prepares the CancelJob request. 74func (client JobsClient) CancelJobPreparer(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string) (*http.Request, error) { 75 pathParameters := map[string]interface{}{ 76 "accountName": autorest.Encode("path", accountName), 77 "jobName": autorest.Encode("path", jobName), 78 "resourceGroupName": autorest.Encode("path", resourceGroupName), 79 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 80 "transformName": autorest.Encode("path", transformName), 81 } 82 83 const APIVersion = "2018-07-01" 84 queryParameters := map[string]interface{}{ 85 "api-version": APIVersion, 86 } 87 88 preparer := autorest.CreatePreparer( 89 autorest.AsPost(), 90 autorest.WithBaseURL(client.BaseURI), 91 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob", pathParameters), 92 autorest.WithQueryParameters(queryParameters)) 93 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 94} 95 96// CancelJobSender sends the CancelJob request. The method will close the 97// http.Response Body if it receives an error. 98func (client JobsClient) CancelJobSender(req *http.Request) (*http.Response, error) { 99 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 100} 101 102// CancelJobResponder handles the response to the CancelJob request. The method always 103// closes the http.Response Body. 104func (client JobsClient) CancelJobResponder(resp *http.Response) (result autorest.Response, err error) { 105 err = autorest.Respond( 106 resp, 107 azure.WithErrorUnlessStatusCode(http.StatusOK), 108 autorest.ByClosing()) 109 result.Response = resp 110 return 111} 112 113// Create creates a Job. 114// Parameters: 115// resourceGroupName - the name of the resource group within the Azure subscription. 116// accountName - the Media Services account name. 117// transformName - the Transform name. 118// jobName - the Job name. 119// parameters - the request parameters 120func (client JobsClient) Create(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string, parameters Job) (result Job, err error) { 121 if tracing.IsEnabled() { 122 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Create") 123 defer func() { 124 sc := -1 125 if result.Response.Response != nil { 126 sc = result.Response.Response.StatusCode 127 } 128 tracing.EndSpan(ctx, sc, err) 129 }() 130 } 131 if err := validation.Validate([]validation.Validation{ 132 {TargetValue: parameters, 133 Constraints: []validation.Constraint{{Target: "parameters.JobProperties", Name: validation.Null, Rule: false, 134 Chain: []validation.Constraint{{Target: "parameters.JobProperties.Outputs", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { 135 return result, validation.NewError("media.JobsClient", "Create", err.Error()) 136 } 137 138 req, err := client.CreatePreparer(ctx, resourceGroupName, accountName, transformName, jobName, parameters) 139 if err != nil { 140 err = autorest.NewErrorWithError(err, "media.JobsClient", "Create", nil, "Failure preparing request") 141 return 142 } 143 144 resp, err := client.CreateSender(req) 145 if err != nil { 146 result.Response = autorest.Response{Response: resp} 147 err = autorest.NewErrorWithError(err, "media.JobsClient", "Create", resp, "Failure sending request") 148 return 149 } 150 151 result, err = client.CreateResponder(resp) 152 if err != nil { 153 err = autorest.NewErrorWithError(err, "media.JobsClient", "Create", resp, "Failure responding to request") 154 return 155 } 156 157 return 158} 159 160// CreatePreparer prepares the Create request. 161func (client JobsClient) CreatePreparer(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string, parameters Job) (*http.Request, error) { 162 pathParameters := map[string]interface{}{ 163 "accountName": autorest.Encode("path", accountName), 164 "jobName": autorest.Encode("path", jobName), 165 "resourceGroupName": autorest.Encode("path", resourceGroupName), 166 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 167 "transformName": autorest.Encode("path", transformName), 168 } 169 170 const APIVersion = "2018-07-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.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", pathParameters), 180 autorest.WithJSON(parameters), 181 autorest.WithQueryParameters(queryParameters)) 182 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 183} 184 185// CreateSender sends the Create request. The method will close the 186// http.Response Body if it receives an error. 187func (client JobsClient) CreateSender(req *http.Request) (*http.Response, error) { 188 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 189} 190 191// CreateResponder handles the response to the Create request. The method always 192// closes the http.Response Body. 193func (client JobsClient) CreateResponder(resp *http.Response) (result Job, err error) { 194 err = autorest.Respond( 195 resp, 196 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), 197 autorest.ByUnmarshallingJSON(&result), 198 autorest.ByClosing()) 199 result.Response = autorest.Response{Response: resp} 200 return 201} 202 203// Delete deletes a Job. 204// Parameters: 205// resourceGroupName - the name of the resource group within the Azure subscription. 206// accountName - the Media Services account name. 207// transformName - the Transform name. 208// jobName - the Job name. 209func (client JobsClient) Delete(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string) (result autorest.Response, err error) { 210 if tracing.IsEnabled() { 211 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Delete") 212 defer func() { 213 sc := -1 214 if result.Response != nil { 215 sc = result.Response.StatusCode 216 } 217 tracing.EndSpan(ctx, sc, err) 218 }() 219 } 220 req, err := client.DeletePreparer(ctx, resourceGroupName, accountName, transformName, jobName) 221 if err != nil { 222 err = autorest.NewErrorWithError(err, "media.JobsClient", "Delete", nil, "Failure preparing request") 223 return 224 } 225 226 resp, err := client.DeleteSender(req) 227 if err != nil { 228 result.Response = resp 229 err = autorest.NewErrorWithError(err, "media.JobsClient", "Delete", resp, "Failure sending request") 230 return 231 } 232 233 result, err = client.DeleteResponder(resp) 234 if err != nil { 235 err = autorest.NewErrorWithError(err, "media.JobsClient", "Delete", resp, "Failure responding to request") 236 return 237 } 238 239 return 240} 241 242// DeletePreparer prepares the Delete request. 243func (client JobsClient) DeletePreparer(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string) (*http.Request, error) { 244 pathParameters := map[string]interface{}{ 245 "accountName": autorest.Encode("path", accountName), 246 "jobName": autorest.Encode("path", jobName), 247 "resourceGroupName": autorest.Encode("path", resourceGroupName), 248 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 249 "transformName": autorest.Encode("path", transformName), 250 } 251 252 const APIVersion = "2018-07-01" 253 queryParameters := map[string]interface{}{ 254 "api-version": APIVersion, 255 } 256 257 preparer := autorest.CreatePreparer( 258 autorest.AsDelete(), 259 autorest.WithBaseURL(client.BaseURI), 260 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", pathParameters), 261 autorest.WithQueryParameters(queryParameters)) 262 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 263} 264 265// DeleteSender sends the Delete request. The method will close the 266// http.Response Body if it receives an error. 267func (client JobsClient) DeleteSender(req *http.Request) (*http.Response, error) { 268 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 269} 270 271// DeleteResponder handles the response to the Delete request. The method always 272// closes the http.Response Body. 273func (client JobsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { 274 err = autorest.Respond( 275 resp, 276 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), 277 autorest.ByClosing()) 278 result.Response = resp 279 return 280} 281 282// Get gets a Job. 283// Parameters: 284// resourceGroupName - the name of the resource group within the Azure subscription. 285// accountName - the Media Services account name. 286// transformName - the Transform name. 287// jobName - the Job name. 288func (client JobsClient) Get(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string) (result Job, err error) { 289 if tracing.IsEnabled() { 290 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Get") 291 defer func() { 292 sc := -1 293 if result.Response.Response != nil { 294 sc = result.Response.Response.StatusCode 295 } 296 tracing.EndSpan(ctx, sc, err) 297 }() 298 } 299 req, err := client.GetPreparer(ctx, resourceGroupName, accountName, transformName, jobName) 300 if err != nil { 301 err = autorest.NewErrorWithError(err, "media.JobsClient", "Get", nil, "Failure preparing request") 302 return 303 } 304 305 resp, err := client.GetSender(req) 306 if err != nil { 307 result.Response = autorest.Response{Response: resp} 308 err = autorest.NewErrorWithError(err, "media.JobsClient", "Get", resp, "Failure sending request") 309 return 310 } 311 312 result, err = client.GetResponder(resp) 313 if err != nil { 314 err = autorest.NewErrorWithError(err, "media.JobsClient", "Get", resp, "Failure responding to request") 315 return 316 } 317 318 return 319} 320 321// GetPreparer prepares the Get request. 322func (client JobsClient) GetPreparer(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string) (*http.Request, error) { 323 pathParameters := map[string]interface{}{ 324 "accountName": autorest.Encode("path", accountName), 325 "jobName": autorest.Encode("path", jobName), 326 "resourceGroupName": autorest.Encode("path", resourceGroupName), 327 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 328 "transformName": autorest.Encode("path", transformName), 329 } 330 331 const APIVersion = "2018-07-01" 332 queryParameters := map[string]interface{}{ 333 "api-version": APIVersion, 334 } 335 336 preparer := autorest.CreatePreparer( 337 autorest.AsGet(), 338 autorest.WithBaseURL(client.BaseURI), 339 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", pathParameters), 340 autorest.WithQueryParameters(queryParameters)) 341 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 342} 343 344// GetSender sends the Get request. The method will close the 345// http.Response Body if it receives an error. 346func (client JobsClient) GetSender(req *http.Request) (*http.Response, error) { 347 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 348} 349 350// GetResponder handles the response to the Get request. The method always 351// closes the http.Response Body. 352func (client JobsClient) GetResponder(resp *http.Response) (result Job, err error) { 353 err = autorest.Respond( 354 resp, 355 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), 356 autorest.ByUnmarshallingJSON(&result), 357 autorest.ByClosing()) 358 result.Response = autorest.Response{Response: resp} 359 return 360} 361 362// List lists all of the Jobs for the Transform. 363// Parameters: 364// resourceGroupName - the name of the resource group within the Azure subscription. 365// accountName - the Media Services account name. 366// transformName - the Transform name. 367// filter - restricts the set of items returned. 368// orderby - specifies the by which the result collection should be ordered. 369func (client JobsClient) List(ctx context.Context, resourceGroupName string, accountName string, transformName string, filter string, orderby string) (result JobCollectionPage, err error) { 370 if tracing.IsEnabled() { 371 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.List") 372 defer func() { 373 sc := -1 374 if result.jc.Response.Response != nil { 375 sc = result.jc.Response.Response.StatusCode 376 } 377 tracing.EndSpan(ctx, sc, err) 378 }() 379 } 380 result.fn = client.listNextResults 381 req, err := client.ListPreparer(ctx, resourceGroupName, accountName, transformName, filter, orderby) 382 if err != nil { 383 err = autorest.NewErrorWithError(err, "media.JobsClient", "List", nil, "Failure preparing request") 384 return 385 } 386 387 resp, err := client.ListSender(req) 388 if err != nil { 389 result.jc.Response = autorest.Response{Response: resp} 390 err = autorest.NewErrorWithError(err, "media.JobsClient", "List", resp, "Failure sending request") 391 return 392 } 393 394 result.jc, err = client.ListResponder(resp) 395 if err != nil { 396 err = autorest.NewErrorWithError(err, "media.JobsClient", "List", resp, "Failure responding to request") 397 return 398 } 399 if result.jc.hasNextLink() && result.jc.IsEmpty() { 400 err = result.NextWithContext(ctx) 401 return 402 } 403 404 return 405} 406 407// ListPreparer prepares the List request. 408func (client JobsClient) ListPreparer(ctx context.Context, resourceGroupName string, accountName string, transformName string, filter string, orderby string) (*http.Request, error) { 409 pathParameters := map[string]interface{}{ 410 "accountName": autorest.Encode("path", accountName), 411 "resourceGroupName": autorest.Encode("path", resourceGroupName), 412 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 413 "transformName": autorest.Encode("path", transformName), 414 } 415 416 const APIVersion = "2018-07-01" 417 queryParameters := map[string]interface{}{ 418 "api-version": APIVersion, 419 } 420 if len(filter) > 0 { 421 queryParameters["$filter"] = autorest.Encode("query", filter) 422 } 423 if len(orderby) > 0 { 424 queryParameters["$orderby"] = autorest.Encode("query", orderby) 425 } 426 427 preparer := autorest.CreatePreparer( 428 autorest.AsGet(), 429 autorest.WithBaseURL(client.BaseURI), 430 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs", pathParameters), 431 autorest.WithQueryParameters(queryParameters)) 432 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 433} 434 435// ListSender sends the List request. The method will close the 436// http.Response Body if it receives an error. 437func (client JobsClient) ListSender(req *http.Request) (*http.Response, error) { 438 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 439} 440 441// ListResponder handles the response to the List request. The method always 442// closes the http.Response Body. 443func (client JobsClient) ListResponder(resp *http.Response) (result JobCollection, err error) { 444 err = autorest.Respond( 445 resp, 446 azure.WithErrorUnlessStatusCode(http.StatusOK), 447 autorest.ByUnmarshallingJSON(&result), 448 autorest.ByClosing()) 449 result.Response = autorest.Response{Response: resp} 450 return 451} 452 453// listNextResults retrieves the next set of results, if any. 454func (client JobsClient) listNextResults(ctx context.Context, lastResults JobCollection) (result JobCollection, err error) { 455 req, err := lastResults.jobCollectionPreparer(ctx) 456 if err != nil { 457 return result, autorest.NewErrorWithError(err, "media.JobsClient", "listNextResults", nil, "Failure preparing next results request") 458 } 459 if req == nil { 460 return 461 } 462 resp, err := client.ListSender(req) 463 if err != nil { 464 result.Response = autorest.Response{Response: resp} 465 return result, autorest.NewErrorWithError(err, "media.JobsClient", "listNextResults", resp, "Failure sending next results request") 466 } 467 result, err = client.ListResponder(resp) 468 if err != nil { 469 err = autorest.NewErrorWithError(err, "media.JobsClient", "listNextResults", resp, "Failure responding to next results request") 470 } 471 return 472} 473 474// ListComplete enumerates all values, automatically crossing page boundaries as required. 475func (client JobsClient) ListComplete(ctx context.Context, resourceGroupName string, accountName string, transformName string, filter string, orderby string) (result JobCollectionIterator, err error) { 476 if tracing.IsEnabled() { 477 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.List") 478 defer func() { 479 sc := -1 480 if result.Response().Response.Response != nil { 481 sc = result.page.Response().Response.Response.StatusCode 482 } 483 tracing.EndSpan(ctx, sc, err) 484 }() 485 } 486 result.page, err = client.List(ctx, resourceGroupName, accountName, transformName, filter, orderby) 487 return 488} 489 490// Update update is only supported for description and priority. Updating Priority will take effect when the Job state 491// is Queued or Scheduled and depending on the timing the priority update may be ignored. 492// Parameters: 493// resourceGroupName - the name of the resource group within the Azure subscription. 494// accountName - the Media Services account name. 495// transformName - the Transform name. 496// jobName - the Job name. 497// parameters - the request parameters 498func (client JobsClient) Update(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string, parameters Job) (result Job, err error) { 499 if tracing.IsEnabled() { 500 ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Update") 501 defer func() { 502 sc := -1 503 if result.Response.Response != nil { 504 sc = result.Response.Response.StatusCode 505 } 506 tracing.EndSpan(ctx, sc, err) 507 }() 508 } 509 req, err := client.UpdatePreparer(ctx, resourceGroupName, accountName, transformName, jobName, parameters) 510 if err != nil { 511 err = autorest.NewErrorWithError(err, "media.JobsClient", "Update", nil, "Failure preparing request") 512 return 513 } 514 515 resp, err := client.UpdateSender(req) 516 if err != nil { 517 result.Response = autorest.Response{Response: resp} 518 err = autorest.NewErrorWithError(err, "media.JobsClient", "Update", resp, "Failure sending request") 519 return 520 } 521 522 result, err = client.UpdateResponder(resp) 523 if err != nil { 524 err = autorest.NewErrorWithError(err, "media.JobsClient", "Update", resp, "Failure responding to request") 525 return 526 } 527 528 return 529} 530 531// UpdatePreparer prepares the Update request. 532func (client JobsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, accountName string, transformName string, jobName string, parameters Job) (*http.Request, error) { 533 pathParameters := map[string]interface{}{ 534 "accountName": autorest.Encode("path", accountName), 535 "jobName": autorest.Encode("path", jobName), 536 "resourceGroupName": autorest.Encode("path", resourceGroupName), 537 "subscriptionId": autorest.Encode("path", client.SubscriptionID), 538 "transformName": autorest.Encode("path", transformName), 539 } 540 541 const APIVersion = "2018-07-01" 542 queryParameters := map[string]interface{}{ 543 "api-version": APIVersion, 544 } 545 546 preparer := autorest.CreatePreparer( 547 autorest.AsContentType("application/json; charset=utf-8"), 548 autorest.AsPatch(), 549 autorest.WithBaseURL(client.BaseURI), 550 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}", pathParameters), 551 autorest.WithJSON(parameters), 552 autorest.WithQueryParameters(queryParameters)) 553 return preparer.Prepare((&http.Request{}).WithContext(ctx)) 554} 555 556// UpdateSender sends the Update request. The method will close the 557// http.Response Body if it receives an error. 558func (client JobsClient) UpdateSender(req *http.Request) (*http.Response, error) { 559 return client.Send(req, azure.DoRetryWithRegistration(client.Client)) 560} 561 562// UpdateResponder handles the response to the Update request. The method always 563// closes the http.Response Body. 564func (client JobsClient) UpdateResponder(resp *http.Response) (result Job, err error) { 565 err = autorest.Respond( 566 resp, 567 azure.WithErrorUnlessStatusCode(http.StatusOK), 568 autorest.ByUnmarshallingJSON(&result), 569 autorest.ByClosing()) 570 result.Response = autorest.Response{Response: resp} 571 return 572} 573