github.com/aavshr/aws-sdk-go@v1.41.3/service/elastictranscoder/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package elastictranscoder 4 5 import ( 6 "fmt" 7 8 "github.com/aavshr/aws-sdk-go/aws" 9 "github.com/aavshr/aws-sdk-go/aws/awsutil" 10 "github.com/aavshr/aws-sdk-go/aws/request" 11 "github.com/aavshr/aws-sdk-go/private/protocol" 12 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 13 ) 14 15 const opCancelJob = "CancelJob" 16 17 // CancelJobRequest generates a "aws/request.Request" representing the 18 // client's request for the CancelJob operation. The "output" return 19 // value will be populated with the request's response once the request completes 20 // successfully. 21 // 22 // Use "Send" method on the returned Request to send the API call to the service. 23 // the "output" return value is not valid until after Send returns without error. 24 // 25 // See CancelJob for more information on using the CancelJob 26 // API call, and error handling. 27 // 28 // This method is useful when you want to inject custom logic or configuration 29 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 30 // 31 // 32 // // Example sending a request using the CancelJobRequest method. 33 // req, resp := client.CancelJobRequest(params) 34 // 35 // err := req.Send() 36 // if err == nil { // resp is now filled 37 // fmt.Println(resp) 38 // } 39 func (c *ElasticTranscoder) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) { 40 op := &request.Operation{ 41 Name: opCancelJob, 42 HTTPMethod: "DELETE", 43 HTTPPath: "/2012-09-25/jobs/{Id}", 44 } 45 46 if input == nil { 47 input = &CancelJobInput{} 48 } 49 50 output = &CancelJobOutput{} 51 req = c.newRequest(op, input, output) 52 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 53 return 54 } 55 56 // CancelJob API operation for Amazon Elastic Transcoder. 57 // 58 // The CancelJob operation cancels an unfinished job. 59 // 60 // You can only cancel a job that has a status of Submitted. To prevent a pipeline 61 // from starting to process a job while you're getting the job identifier, use 62 // UpdatePipelineStatus to temporarily pause the pipeline. 63 // 64 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 65 // with awserr.Error's Code and Message methods to get detailed information about 66 // the error. 67 // 68 // See the AWS API reference guide for Amazon Elastic Transcoder's 69 // API operation CancelJob for usage and error information. 70 // 71 // Returned Error Types: 72 // * ValidationException 73 // One or more required parameter values were not provided in the request. 74 // 75 // * IncompatibleVersionException 76 // 77 // * ResourceNotFoundException 78 // The requested resource does not exist or is not available. For example, the 79 // pipeline to which you're trying to add a job doesn't exist or is still being 80 // created. 81 // 82 // * ResourceInUseException 83 // The resource you are attempting to change is in use. For example, you are 84 // attempting to delete a pipeline that is currently in use. 85 // 86 // * AccessDeniedException 87 // General authentication failure. The request was not signed correctly. 88 // 89 // * InternalServiceException 90 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 91 // the request. 92 // 93 func (c *ElasticTranscoder) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) { 94 req, out := c.CancelJobRequest(input) 95 return out, req.Send() 96 } 97 98 // CancelJobWithContext is the same as CancelJob with the addition of 99 // the ability to pass a context and additional request options. 100 // 101 // See CancelJob for details on how to use this API operation. 102 // 103 // The context must be non-nil and will be used for request cancellation. If 104 // the context is nil a panic will occur. In the future the SDK may create 105 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 106 // for more information on using Contexts. 107 func (c *ElasticTranscoder) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error) { 108 req, out := c.CancelJobRequest(input) 109 req.SetContext(ctx) 110 req.ApplyOptions(opts...) 111 return out, req.Send() 112 } 113 114 const opCreateJob = "CreateJob" 115 116 // CreateJobRequest generates a "aws/request.Request" representing the 117 // client's request for the CreateJob operation. The "output" return 118 // value will be populated with the request's response once the request completes 119 // successfully. 120 // 121 // Use "Send" method on the returned Request to send the API call to the service. 122 // the "output" return value is not valid until after Send returns without error. 123 // 124 // See CreateJob for more information on using the CreateJob 125 // API call, and error handling. 126 // 127 // This method is useful when you want to inject custom logic or configuration 128 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 129 // 130 // 131 // // Example sending a request using the CreateJobRequest method. 132 // req, resp := client.CreateJobRequest(params) 133 // 134 // err := req.Send() 135 // if err == nil { // resp is now filled 136 // fmt.Println(resp) 137 // } 138 func (c *ElasticTranscoder) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobResponse) { 139 op := &request.Operation{ 140 Name: opCreateJob, 141 HTTPMethod: "POST", 142 HTTPPath: "/2012-09-25/jobs", 143 } 144 145 if input == nil { 146 input = &CreateJobInput{} 147 } 148 149 output = &CreateJobResponse{} 150 req = c.newRequest(op, input, output) 151 return 152 } 153 154 // CreateJob API operation for Amazon Elastic Transcoder. 155 // 156 // When you create a job, Elastic Transcoder returns JSON data that includes 157 // the values that you specified plus information about the job that is created. 158 // 159 // If you have specified more than one output for your jobs (for example, one 160 // output for the Kindle Fire and another output for the Apple iPhone 4s), you 161 // currently must use the Elastic Transcoder API to list the jobs (as opposed 162 // to the AWS Console). 163 // 164 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 165 // with awserr.Error's Code and Message methods to get detailed information about 166 // the error. 167 // 168 // See the AWS API reference guide for Amazon Elastic Transcoder's 169 // API operation CreateJob for usage and error information. 170 // 171 // Returned Error Types: 172 // * ValidationException 173 // One or more required parameter values were not provided in the request. 174 // 175 // * IncompatibleVersionException 176 // 177 // * ResourceNotFoundException 178 // The requested resource does not exist or is not available. For example, the 179 // pipeline to which you're trying to add a job doesn't exist or is still being 180 // created. 181 // 182 // * AccessDeniedException 183 // General authentication failure. The request was not signed correctly. 184 // 185 // * LimitExceededException 186 // Too many operations for a given AWS account. For example, the number of pipelines 187 // exceeds the maximum allowed. 188 // 189 // * InternalServiceException 190 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 191 // the request. 192 // 193 func (c *ElasticTranscoder) CreateJob(input *CreateJobInput) (*CreateJobResponse, error) { 194 req, out := c.CreateJobRequest(input) 195 return out, req.Send() 196 } 197 198 // CreateJobWithContext is the same as CreateJob with the addition of 199 // the ability to pass a context and additional request options. 200 // 201 // See CreateJob for details on how to use this API operation. 202 // 203 // The context must be non-nil and will be used for request cancellation. If 204 // the context is nil a panic will occur. In the future the SDK may create 205 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 206 // for more information on using Contexts. 207 func (c *ElasticTranscoder) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobResponse, error) { 208 req, out := c.CreateJobRequest(input) 209 req.SetContext(ctx) 210 req.ApplyOptions(opts...) 211 return out, req.Send() 212 } 213 214 const opCreatePipeline = "CreatePipeline" 215 216 // CreatePipelineRequest generates a "aws/request.Request" representing the 217 // client's request for the CreatePipeline operation. The "output" return 218 // value will be populated with the request's response once the request completes 219 // successfully. 220 // 221 // Use "Send" method on the returned Request to send the API call to the service. 222 // the "output" return value is not valid until after Send returns without error. 223 // 224 // See CreatePipeline for more information on using the CreatePipeline 225 // API call, and error handling. 226 // 227 // This method is useful when you want to inject custom logic or configuration 228 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 229 // 230 // 231 // // Example sending a request using the CreatePipelineRequest method. 232 // req, resp := client.CreatePipelineRequest(params) 233 // 234 // err := req.Send() 235 // if err == nil { // resp is now filled 236 // fmt.Println(resp) 237 // } 238 func (c *ElasticTranscoder) CreatePipelineRequest(input *CreatePipelineInput) (req *request.Request, output *CreatePipelineOutput) { 239 op := &request.Operation{ 240 Name: opCreatePipeline, 241 HTTPMethod: "POST", 242 HTTPPath: "/2012-09-25/pipelines", 243 } 244 245 if input == nil { 246 input = &CreatePipelineInput{} 247 } 248 249 output = &CreatePipelineOutput{} 250 req = c.newRequest(op, input, output) 251 return 252 } 253 254 // CreatePipeline API operation for Amazon Elastic Transcoder. 255 // 256 // The CreatePipeline operation creates a pipeline with settings that you specify. 257 // 258 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 259 // with awserr.Error's Code and Message methods to get detailed information about 260 // the error. 261 // 262 // See the AWS API reference guide for Amazon Elastic Transcoder's 263 // API operation CreatePipeline for usage and error information. 264 // 265 // Returned Error Types: 266 // * ValidationException 267 // One or more required parameter values were not provided in the request. 268 // 269 // * IncompatibleVersionException 270 // 271 // * AccessDeniedException 272 // General authentication failure. The request was not signed correctly. 273 // 274 // * ResourceNotFoundException 275 // The requested resource does not exist or is not available. For example, the 276 // pipeline to which you're trying to add a job doesn't exist or is still being 277 // created. 278 // 279 // * LimitExceededException 280 // Too many operations for a given AWS account. For example, the number of pipelines 281 // exceeds the maximum allowed. 282 // 283 // * InternalServiceException 284 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 285 // the request. 286 // 287 func (c *ElasticTranscoder) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) { 288 req, out := c.CreatePipelineRequest(input) 289 return out, req.Send() 290 } 291 292 // CreatePipelineWithContext is the same as CreatePipeline with the addition of 293 // the ability to pass a context and additional request options. 294 // 295 // See CreatePipeline for details on how to use this API operation. 296 // 297 // The context must be non-nil and will be used for request cancellation. If 298 // the context is nil a panic will occur. In the future the SDK may create 299 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 300 // for more information on using Contexts. 301 func (c *ElasticTranscoder) CreatePipelineWithContext(ctx aws.Context, input *CreatePipelineInput, opts ...request.Option) (*CreatePipelineOutput, error) { 302 req, out := c.CreatePipelineRequest(input) 303 req.SetContext(ctx) 304 req.ApplyOptions(opts...) 305 return out, req.Send() 306 } 307 308 const opCreatePreset = "CreatePreset" 309 310 // CreatePresetRequest generates a "aws/request.Request" representing the 311 // client's request for the CreatePreset operation. The "output" return 312 // value will be populated with the request's response once the request completes 313 // successfully. 314 // 315 // Use "Send" method on the returned Request to send the API call to the service. 316 // the "output" return value is not valid until after Send returns without error. 317 // 318 // See CreatePreset for more information on using the CreatePreset 319 // API call, and error handling. 320 // 321 // This method is useful when you want to inject custom logic or configuration 322 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 323 // 324 // 325 // // Example sending a request using the CreatePresetRequest method. 326 // req, resp := client.CreatePresetRequest(params) 327 // 328 // err := req.Send() 329 // if err == nil { // resp is now filled 330 // fmt.Println(resp) 331 // } 332 func (c *ElasticTranscoder) CreatePresetRequest(input *CreatePresetInput) (req *request.Request, output *CreatePresetOutput) { 333 op := &request.Operation{ 334 Name: opCreatePreset, 335 HTTPMethod: "POST", 336 HTTPPath: "/2012-09-25/presets", 337 } 338 339 if input == nil { 340 input = &CreatePresetInput{} 341 } 342 343 output = &CreatePresetOutput{} 344 req = c.newRequest(op, input, output) 345 return 346 } 347 348 // CreatePreset API operation for Amazon Elastic Transcoder. 349 // 350 // The CreatePreset operation creates a preset with settings that you specify. 351 // 352 // Elastic Transcoder checks the CreatePreset settings to ensure that they meet 353 // Elastic Transcoder requirements and to determine whether they comply with 354 // H.264 standards. If your settings are not valid for Elastic Transcoder, Elastic 355 // Transcoder returns an HTTP 400 response (ValidationException) and does not 356 // create the preset. If the settings are valid for Elastic Transcoder but aren't 357 // strictly compliant with the H.264 standard, Elastic Transcoder creates the 358 // preset and returns a warning message in the response. This helps you determine 359 // whether your settings comply with the H.264 standard while giving you greater 360 // flexibility with respect to the video that Elastic Transcoder produces. 361 // 362 // Elastic Transcoder uses the H.264 video-compression format. For more information, 363 // see the International Telecommunication Union publication Recommendation 364 // ITU-T H.264: Advanced video coding for generic audiovisual services. 365 // 366 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 367 // with awserr.Error's Code and Message methods to get detailed information about 368 // the error. 369 // 370 // See the AWS API reference guide for Amazon Elastic Transcoder's 371 // API operation CreatePreset for usage and error information. 372 // 373 // Returned Error Types: 374 // * ValidationException 375 // One or more required parameter values were not provided in the request. 376 // 377 // * IncompatibleVersionException 378 // 379 // * AccessDeniedException 380 // General authentication failure. The request was not signed correctly. 381 // 382 // * LimitExceededException 383 // Too many operations for a given AWS account. For example, the number of pipelines 384 // exceeds the maximum allowed. 385 // 386 // * InternalServiceException 387 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 388 // the request. 389 // 390 func (c *ElasticTranscoder) CreatePreset(input *CreatePresetInput) (*CreatePresetOutput, error) { 391 req, out := c.CreatePresetRequest(input) 392 return out, req.Send() 393 } 394 395 // CreatePresetWithContext is the same as CreatePreset with the addition of 396 // the ability to pass a context and additional request options. 397 // 398 // See CreatePreset for details on how to use this API operation. 399 // 400 // The context must be non-nil and will be used for request cancellation. If 401 // the context is nil a panic will occur. In the future the SDK may create 402 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 403 // for more information on using Contexts. 404 func (c *ElasticTranscoder) CreatePresetWithContext(ctx aws.Context, input *CreatePresetInput, opts ...request.Option) (*CreatePresetOutput, error) { 405 req, out := c.CreatePresetRequest(input) 406 req.SetContext(ctx) 407 req.ApplyOptions(opts...) 408 return out, req.Send() 409 } 410 411 const opDeletePipeline = "DeletePipeline" 412 413 // DeletePipelineRequest generates a "aws/request.Request" representing the 414 // client's request for the DeletePipeline operation. The "output" return 415 // value will be populated with the request's response once the request completes 416 // successfully. 417 // 418 // Use "Send" method on the returned Request to send the API call to the service. 419 // the "output" return value is not valid until after Send returns without error. 420 // 421 // See DeletePipeline for more information on using the DeletePipeline 422 // API call, and error handling. 423 // 424 // This method is useful when you want to inject custom logic or configuration 425 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 426 // 427 // 428 // // Example sending a request using the DeletePipelineRequest method. 429 // req, resp := client.DeletePipelineRequest(params) 430 // 431 // err := req.Send() 432 // if err == nil { // resp is now filled 433 // fmt.Println(resp) 434 // } 435 func (c *ElasticTranscoder) DeletePipelineRequest(input *DeletePipelineInput) (req *request.Request, output *DeletePipelineOutput) { 436 op := &request.Operation{ 437 Name: opDeletePipeline, 438 HTTPMethod: "DELETE", 439 HTTPPath: "/2012-09-25/pipelines/{Id}", 440 } 441 442 if input == nil { 443 input = &DeletePipelineInput{} 444 } 445 446 output = &DeletePipelineOutput{} 447 req = c.newRequest(op, input, output) 448 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 449 return 450 } 451 452 // DeletePipeline API operation for Amazon Elastic Transcoder. 453 // 454 // The DeletePipeline operation removes a pipeline. 455 // 456 // You can only delete a pipeline that has never been used or that is not currently 457 // in use (doesn't contain any active jobs). If the pipeline is currently in 458 // use, DeletePipeline returns an error. 459 // 460 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 461 // with awserr.Error's Code and Message methods to get detailed information about 462 // the error. 463 // 464 // See the AWS API reference guide for Amazon Elastic Transcoder's 465 // API operation DeletePipeline for usage and error information. 466 // 467 // Returned Error Types: 468 // * ValidationException 469 // One or more required parameter values were not provided in the request. 470 // 471 // * IncompatibleVersionException 472 // 473 // * ResourceNotFoundException 474 // The requested resource does not exist or is not available. For example, the 475 // pipeline to which you're trying to add a job doesn't exist or is still being 476 // created. 477 // 478 // * ResourceInUseException 479 // The resource you are attempting to change is in use. For example, you are 480 // attempting to delete a pipeline that is currently in use. 481 // 482 // * AccessDeniedException 483 // General authentication failure. The request was not signed correctly. 484 // 485 // * InternalServiceException 486 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 487 // the request. 488 // 489 func (c *ElasticTranscoder) DeletePipeline(input *DeletePipelineInput) (*DeletePipelineOutput, error) { 490 req, out := c.DeletePipelineRequest(input) 491 return out, req.Send() 492 } 493 494 // DeletePipelineWithContext is the same as DeletePipeline with the addition of 495 // the ability to pass a context and additional request options. 496 // 497 // See DeletePipeline for details on how to use this API operation. 498 // 499 // The context must be non-nil and will be used for request cancellation. If 500 // the context is nil a panic will occur. In the future the SDK may create 501 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 502 // for more information on using Contexts. 503 func (c *ElasticTranscoder) DeletePipelineWithContext(ctx aws.Context, input *DeletePipelineInput, opts ...request.Option) (*DeletePipelineOutput, error) { 504 req, out := c.DeletePipelineRequest(input) 505 req.SetContext(ctx) 506 req.ApplyOptions(opts...) 507 return out, req.Send() 508 } 509 510 const opDeletePreset = "DeletePreset" 511 512 // DeletePresetRequest generates a "aws/request.Request" representing the 513 // client's request for the DeletePreset operation. The "output" return 514 // value will be populated with the request's response once the request completes 515 // successfully. 516 // 517 // Use "Send" method on the returned Request to send the API call to the service. 518 // the "output" return value is not valid until after Send returns without error. 519 // 520 // See DeletePreset for more information on using the DeletePreset 521 // API call, and error handling. 522 // 523 // This method is useful when you want to inject custom logic or configuration 524 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 525 // 526 // 527 // // Example sending a request using the DeletePresetRequest method. 528 // req, resp := client.DeletePresetRequest(params) 529 // 530 // err := req.Send() 531 // if err == nil { // resp is now filled 532 // fmt.Println(resp) 533 // } 534 func (c *ElasticTranscoder) DeletePresetRequest(input *DeletePresetInput) (req *request.Request, output *DeletePresetOutput) { 535 op := &request.Operation{ 536 Name: opDeletePreset, 537 HTTPMethod: "DELETE", 538 HTTPPath: "/2012-09-25/presets/{Id}", 539 } 540 541 if input == nil { 542 input = &DeletePresetInput{} 543 } 544 545 output = &DeletePresetOutput{} 546 req = c.newRequest(op, input, output) 547 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 548 return 549 } 550 551 // DeletePreset API operation for Amazon Elastic Transcoder. 552 // 553 // The DeletePreset operation removes a preset that you've added in an AWS region. 554 // 555 // You can't delete the default presets that are included with Elastic Transcoder. 556 // 557 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 558 // with awserr.Error's Code and Message methods to get detailed information about 559 // the error. 560 // 561 // See the AWS API reference guide for Amazon Elastic Transcoder's 562 // API operation DeletePreset for usage and error information. 563 // 564 // Returned Error Types: 565 // * ValidationException 566 // One or more required parameter values were not provided in the request. 567 // 568 // * IncompatibleVersionException 569 // 570 // * ResourceNotFoundException 571 // The requested resource does not exist or is not available. For example, the 572 // pipeline to which you're trying to add a job doesn't exist or is still being 573 // created. 574 // 575 // * AccessDeniedException 576 // General authentication failure. The request was not signed correctly. 577 // 578 // * InternalServiceException 579 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 580 // the request. 581 // 582 func (c *ElasticTranscoder) DeletePreset(input *DeletePresetInput) (*DeletePresetOutput, error) { 583 req, out := c.DeletePresetRequest(input) 584 return out, req.Send() 585 } 586 587 // DeletePresetWithContext is the same as DeletePreset with the addition of 588 // the ability to pass a context and additional request options. 589 // 590 // See DeletePreset for details on how to use this API operation. 591 // 592 // The context must be non-nil and will be used for request cancellation. If 593 // the context is nil a panic will occur. In the future the SDK may create 594 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 595 // for more information on using Contexts. 596 func (c *ElasticTranscoder) DeletePresetWithContext(ctx aws.Context, input *DeletePresetInput, opts ...request.Option) (*DeletePresetOutput, error) { 597 req, out := c.DeletePresetRequest(input) 598 req.SetContext(ctx) 599 req.ApplyOptions(opts...) 600 return out, req.Send() 601 } 602 603 const opListJobsByPipeline = "ListJobsByPipeline" 604 605 // ListJobsByPipelineRequest generates a "aws/request.Request" representing the 606 // client's request for the ListJobsByPipeline operation. The "output" return 607 // value will be populated with the request's response once the request completes 608 // successfully. 609 // 610 // Use "Send" method on the returned Request to send the API call to the service. 611 // the "output" return value is not valid until after Send returns without error. 612 // 613 // See ListJobsByPipeline for more information on using the ListJobsByPipeline 614 // API call, and error handling. 615 // 616 // This method is useful when you want to inject custom logic or configuration 617 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 618 // 619 // 620 // // Example sending a request using the ListJobsByPipelineRequest method. 621 // req, resp := client.ListJobsByPipelineRequest(params) 622 // 623 // err := req.Send() 624 // if err == nil { // resp is now filled 625 // fmt.Println(resp) 626 // } 627 func (c *ElasticTranscoder) ListJobsByPipelineRequest(input *ListJobsByPipelineInput) (req *request.Request, output *ListJobsByPipelineOutput) { 628 op := &request.Operation{ 629 Name: opListJobsByPipeline, 630 HTTPMethod: "GET", 631 HTTPPath: "/2012-09-25/jobsByPipeline/{PipelineId}", 632 Paginator: &request.Paginator{ 633 InputTokens: []string{"PageToken"}, 634 OutputTokens: []string{"NextPageToken"}, 635 LimitToken: "", 636 TruncationToken: "", 637 }, 638 } 639 640 if input == nil { 641 input = &ListJobsByPipelineInput{} 642 } 643 644 output = &ListJobsByPipelineOutput{} 645 req = c.newRequest(op, input, output) 646 return 647 } 648 649 // ListJobsByPipeline API operation for Amazon Elastic Transcoder. 650 // 651 // The ListJobsByPipeline operation gets a list of the jobs currently in a pipeline. 652 // 653 // Elastic Transcoder returns all of the jobs currently in the specified pipeline. 654 // The response body contains one element for each job that satisfies the search 655 // criteria. 656 // 657 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 658 // with awserr.Error's Code and Message methods to get detailed information about 659 // the error. 660 // 661 // See the AWS API reference guide for Amazon Elastic Transcoder's 662 // API operation ListJobsByPipeline for usage and error information. 663 // 664 // Returned Error Types: 665 // * ValidationException 666 // One or more required parameter values were not provided in the request. 667 // 668 // * IncompatibleVersionException 669 // 670 // * ResourceNotFoundException 671 // The requested resource does not exist or is not available. For example, the 672 // pipeline to which you're trying to add a job doesn't exist or is still being 673 // created. 674 // 675 // * AccessDeniedException 676 // General authentication failure. The request was not signed correctly. 677 // 678 // * InternalServiceException 679 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 680 // the request. 681 // 682 func (c *ElasticTranscoder) ListJobsByPipeline(input *ListJobsByPipelineInput) (*ListJobsByPipelineOutput, error) { 683 req, out := c.ListJobsByPipelineRequest(input) 684 return out, req.Send() 685 } 686 687 // ListJobsByPipelineWithContext is the same as ListJobsByPipeline with the addition of 688 // the ability to pass a context and additional request options. 689 // 690 // See ListJobsByPipeline for details on how to use this API operation. 691 // 692 // The context must be non-nil and will be used for request cancellation. If 693 // the context is nil a panic will occur. In the future the SDK may create 694 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 695 // for more information on using Contexts. 696 func (c *ElasticTranscoder) ListJobsByPipelineWithContext(ctx aws.Context, input *ListJobsByPipelineInput, opts ...request.Option) (*ListJobsByPipelineOutput, error) { 697 req, out := c.ListJobsByPipelineRequest(input) 698 req.SetContext(ctx) 699 req.ApplyOptions(opts...) 700 return out, req.Send() 701 } 702 703 // ListJobsByPipelinePages iterates over the pages of a ListJobsByPipeline operation, 704 // calling the "fn" function with the response data for each page. To stop 705 // iterating, return false from the fn function. 706 // 707 // See ListJobsByPipeline method for more information on how to use this operation. 708 // 709 // Note: This operation can generate multiple requests to a service. 710 // 711 // // Example iterating over at most 3 pages of a ListJobsByPipeline operation. 712 // pageNum := 0 713 // err := client.ListJobsByPipelinePages(params, 714 // func(page *elastictranscoder.ListJobsByPipelineOutput, lastPage bool) bool { 715 // pageNum++ 716 // fmt.Println(page) 717 // return pageNum <= 3 718 // }) 719 // 720 func (c *ElasticTranscoder) ListJobsByPipelinePages(input *ListJobsByPipelineInput, fn func(*ListJobsByPipelineOutput, bool) bool) error { 721 return c.ListJobsByPipelinePagesWithContext(aws.BackgroundContext(), input, fn) 722 } 723 724 // ListJobsByPipelinePagesWithContext same as ListJobsByPipelinePages except 725 // it takes a Context and allows setting request options on the pages. 726 // 727 // The context must be non-nil and will be used for request cancellation. If 728 // the context is nil a panic will occur. In the future the SDK may create 729 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 730 // for more information on using Contexts. 731 func (c *ElasticTranscoder) ListJobsByPipelinePagesWithContext(ctx aws.Context, input *ListJobsByPipelineInput, fn func(*ListJobsByPipelineOutput, bool) bool, opts ...request.Option) error { 732 p := request.Pagination{ 733 NewRequest: func() (*request.Request, error) { 734 var inCpy *ListJobsByPipelineInput 735 if input != nil { 736 tmp := *input 737 inCpy = &tmp 738 } 739 req, _ := c.ListJobsByPipelineRequest(inCpy) 740 req.SetContext(ctx) 741 req.ApplyOptions(opts...) 742 return req, nil 743 }, 744 } 745 746 for p.Next() { 747 if !fn(p.Page().(*ListJobsByPipelineOutput), !p.HasNextPage()) { 748 break 749 } 750 } 751 752 return p.Err() 753 } 754 755 const opListJobsByStatus = "ListJobsByStatus" 756 757 // ListJobsByStatusRequest generates a "aws/request.Request" representing the 758 // client's request for the ListJobsByStatus operation. The "output" return 759 // value will be populated with the request's response once the request completes 760 // successfully. 761 // 762 // Use "Send" method on the returned Request to send the API call to the service. 763 // the "output" return value is not valid until after Send returns without error. 764 // 765 // See ListJobsByStatus for more information on using the ListJobsByStatus 766 // API call, and error handling. 767 // 768 // This method is useful when you want to inject custom logic or configuration 769 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 770 // 771 // 772 // // Example sending a request using the ListJobsByStatusRequest method. 773 // req, resp := client.ListJobsByStatusRequest(params) 774 // 775 // err := req.Send() 776 // if err == nil { // resp is now filled 777 // fmt.Println(resp) 778 // } 779 func (c *ElasticTranscoder) ListJobsByStatusRequest(input *ListJobsByStatusInput) (req *request.Request, output *ListJobsByStatusOutput) { 780 op := &request.Operation{ 781 Name: opListJobsByStatus, 782 HTTPMethod: "GET", 783 HTTPPath: "/2012-09-25/jobsByStatus/{Status}", 784 Paginator: &request.Paginator{ 785 InputTokens: []string{"PageToken"}, 786 OutputTokens: []string{"NextPageToken"}, 787 LimitToken: "", 788 TruncationToken: "", 789 }, 790 } 791 792 if input == nil { 793 input = &ListJobsByStatusInput{} 794 } 795 796 output = &ListJobsByStatusOutput{} 797 req = c.newRequest(op, input, output) 798 return 799 } 800 801 // ListJobsByStatus API operation for Amazon Elastic Transcoder. 802 // 803 // The ListJobsByStatus operation gets a list of jobs that have a specified 804 // status. The response body contains one element for each job that satisfies 805 // the search criteria. 806 // 807 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 808 // with awserr.Error's Code and Message methods to get detailed information about 809 // the error. 810 // 811 // See the AWS API reference guide for Amazon Elastic Transcoder's 812 // API operation ListJobsByStatus for usage and error information. 813 // 814 // Returned Error Types: 815 // * ValidationException 816 // One or more required parameter values were not provided in the request. 817 // 818 // * IncompatibleVersionException 819 // 820 // * ResourceNotFoundException 821 // The requested resource does not exist or is not available. For example, the 822 // pipeline to which you're trying to add a job doesn't exist or is still being 823 // created. 824 // 825 // * AccessDeniedException 826 // General authentication failure. The request was not signed correctly. 827 // 828 // * InternalServiceException 829 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 830 // the request. 831 // 832 func (c *ElasticTranscoder) ListJobsByStatus(input *ListJobsByStatusInput) (*ListJobsByStatusOutput, error) { 833 req, out := c.ListJobsByStatusRequest(input) 834 return out, req.Send() 835 } 836 837 // ListJobsByStatusWithContext is the same as ListJobsByStatus with the addition of 838 // the ability to pass a context and additional request options. 839 // 840 // See ListJobsByStatus for details on how to use this API operation. 841 // 842 // The context must be non-nil and will be used for request cancellation. If 843 // the context is nil a panic will occur. In the future the SDK may create 844 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 845 // for more information on using Contexts. 846 func (c *ElasticTranscoder) ListJobsByStatusWithContext(ctx aws.Context, input *ListJobsByStatusInput, opts ...request.Option) (*ListJobsByStatusOutput, error) { 847 req, out := c.ListJobsByStatusRequest(input) 848 req.SetContext(ctx) 849 req.ApplyOptions(opts...) 850 return out, req.Send() 851 } 852 853 // ListJobsByStatusPages iterates over the pages of a ListJobsByStatus operation, 854 // calling the "fn" function with the response data for each page. To stop 855 // iterating, return false from the fn function. 856 // 857 // See ListJobsByStatus method for more information on how to use this operation. 858 // 859 // Note: This operation can generate multiple requests to a service. 860 // 861 // // Example iterating over at most 3 pages of a ListJobsByStatus operation. 862 // pageNum := 0 863 // err := client.ListJobsByStatusPages(params, 864 // func(page *elastictranscoder.ListJobsByStatusOutput, lastPage bool) bool { 865 // pageNum++ 866 // fmt.Println(page) 867 // return pageNum <= 3 868 // }) 869 // 870 func (c *ElasticTranscoder) ListJobsByStatusPages(input *ListJobsByStatusInput, fn func(*ListJobsByStatusOutput, bool) bool) error { 871 return c.ListJobsByStatusPagesWithContext(aws.BackgroundContext(), input, fn) 872 } 873 874 // ListJobsByStatusPagesWithContext same as ListJobsByStatusPages except 875 // it takes a Context and allows setting request options on the pages. 876 // 877 // The context must be non-nil and will be used for request cancellation. If 878 // the context is nil a panic will occur. In the future the SDK may create 879 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 880 // for more information on using Contexts. 881 func (c *ElasticTranscoder) ListJobsByStatusPagesWithContext(ctx aws.Context, input *ListJobsByStatusInput, fn func(*ListJobsByStatusOutput, bool) bool, opts ...request.Option) error { 882 p := request.Pagination{ 883 NewRequest: func() (*request.Request, error) { 884 var inCpy *ListJobsByStatusInput 885 if input != nil { 886 tmp := *input 887 inCpy = &tmp 888 } 889 req, _ := c.ListJobsByStatusRequest(inCpy) 890 req.SetContext(ctx) 891 req.ApplyOptions(opts...) 892 return req, nil 893 }, 894 } 895 896 for p.Next() { 897 if !fn(p.Page().(*ListJobsByStatusOutput), !p.HasNextPage()) { 898 break 899 } 900 } 901 902 return p.Err() 903 } 904 905 const opListPipelines = "ListPipelines" 906 907 // ListPipelinesRequest generates a "aws/request.Request" representing the 908 // client's request for the ListPipelines operation. The "output" return 909 // value will be populated with the request's response once the request completes 910 // successfully. 911 // 912 // Use "Send" method on the returned Request to send the API call to the service. 913 // the "output" return value is not valid until after Send returns without error. 914 // 915 // See ListPipelines for more information on using the ListPipelines 916 // API call, and error handling. 917 // 918 // This method is useful when you want to inject custom logic or configuration 919 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 920 // 921 // 922 // // Example sending a request using the ListPipelinesRequest method. 923 // req, resp := client.ListPipelinesRequest(params) 924 // 925 // err := req.Send() 926 // if err == nil { // resp is now filled 927 // fmt.Println(resp) 928 // } 929 func (c *ElasticTranscoder) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Request, output *ListPipelinesOutput) { 930 op := &request.Operation{ 931 Name: opListPipelines, 932 HTTPMethod: "GET", 933 HTTPPath: "/2012-09-25/pipelines", 934 Paginator: &request.Paginator{ 935 InputTokens: []string{"PageToken"}, 936 OutputTokens: []string{"NextPageToken"}, 937 LimitToken: "", 938 TruncationToken: "", 939 }, 940 } 941 942 if input == nil { 943 input = &ListPipelinesInput{} 944 } 945 946 output = &ListPipelinesOutput{} 947 req = c.newRequest(op, input, output) 948 return 949 } 950 951 // ListPipelines API operation for Amazon Elastic Transcoder. 952 // 953 // The ListPipelines operation gets a list of the pipelines associated with 954 // the current AWS account. 955 // 956 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 957 // with awserr.Error's Code and Message methods to get detailed information about 958 // the error. 959 // 960 // See the AWS API reference guide for Amazon Elastic Transcoder's 961 // API operation ListPipelines for usage and error information. 962 // 963 // Returned Error Types: 964 // * ValidationException 965 // One or more required parameter values were not provided in the request. 966 // 967 // * IncompatibleVersionException 968 // 969 // * AccessDeniedException 970 // General authentication failure. The request was not signed correctly. 971 // 972 // * InternalServiceException 973 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 974 // the request. 975 // 976 func (c *ElasticTranscoder) ListPipelines(input *ListPipelinesInput) (*ListPipelinesOutput, error) { 977 req, out := c.ListPipelinesRequest(input) 978 return out, req.Send() 979 } 980 981 // ListPipelinesWithContext is the same as ListPipelines with the addition of 982 // the ability to pass a context and additional request options. 983 // 984 // See ListPipelines for details on how to use this API operation. 985 // 986 // The context must be non-nil and will be used for request cancellation. If 987 // the context is nil a panic will occur. In the future the SDK may create 988 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 989 // for more information on using Contexts. 990 func (c *ElasticTranscoder) ListPipelinesWithContext(ctx aws.Context, input *ListPipelinesInput, opts ...request.Option) (*ListPipelinesOutput, error) { 991 req, out := c.ListPipelinesRequest(input) 992 req.SetContext(ctx) 993 req.ApplyOptions(opts...) 994 return out, req.Send() 995 } 996 997 // ListPipelinesPages iterates over the pages of a ListPipelines operation, 998 // calling the "fn" function with the response data for each page. To stop 999 // iterating, return false from the fn function. 1000 // 1001 // See ListPipelines method for more information on how to use this operation. 1002 // 1003 // Note: This operation can generate multiple requests to a service. 1004 // 1005 // // Example iterating over at most 3 pages of a ListPipelines operation. 1006 // pageNum := 0 1007 // err := client.ListPipelinesPages(params, 1008 // func(page *elastictranscoder.ListPipelinesOutput, lastPage bool) bool { 1009 // pageNum++ 1010 // fmt.Println(page) 1011 // return pageNum <= 3 1012 // }) 1013 // 1014 func (c *ElasticTranscoder) ListPipelinesPages(input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool) error { 1015 return c.ListPipelinesPagesWithContext(aws.BackgroundContext(), input, fn) 1016 } 1017 1018 // ListPipelinesPagesWithContext same as ListPipelinesPages except 1019 // it takes a Context and allows setting request options on the pages. 1020 // 1021 // The context must be non-nil and will be used for request cancellation. If 1022 // the context is nil a panic will occur. In the future the SDK may create 1023 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1024 // for more information on using Contexts. 1025 func (c *ElasticTranscoder) ListPipelinesPagesWithContext(ctx aws.Context, input *ListPipelinesInput, fn func(*ListPipelinesOutput, bool) bool, opts ...request.Option) error { 1026 p := request.Pagination{ 1027 NewRequest: func() (*request.Request, error) { 1028 var inCpy *ListPipelinesInput 1029 if input != nil { 1030 tmp := *input 1031 inCpy = &tmp 1032 } 1033 req, _ := c.ListPipelinesRequest(inCpy) 1034 req.SetContext(ctx) 1035 req.ApplyOptions(opts...) 1036 return req, nil 1037 }, 1038 } 1039 1040 for p.Next() { 1041 if !fn(p.Page().(*ListPipelinesOutput), !p.HasNextPage()) { 1042 break 1043 } 1044 } 1045 1046 return p.Err() 1047 } 1048 1049 const opListPresets = "ListPresets" 1050 1051 // ListPresetsRequest generates a "aws/request.Request" representing the 1052 // client's request for the ListPresets operation. The "output" return 1053 // value will be populated with the request's response once the request completes 1054 // successfully. 1055 // 1056 // Use "Send" method on the returned Request to send the API call to the service. 1057 // the "output" return value is not valid until after Send returns without error. 1058 // 1059 // See ListPresets for more information on using the ListPresets 1060 // API call, and error handling. 1061 // 1062 // This method is useful when you want to inject custom logic or configuration 1063 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1064 // 1065 // 1066 // // Example sending a request using the ListPresetsRequest method. 1067 // req, resp := client.ListPresetsRequest(params) 1068 // 1069 // err := req.Send() 1070 // if err == nil { // resp is now filled 1071 // fmt.Println(resp) 1072 // } 1073 func (c *ElasticTranscoder) ListPresetsRequest(input *ListPresetsInput) (req *request.Request, output *ListPresetsOutput) { 1074 op := &request.Operation{ 1075 Name: opListPresets, 1076 HTTPMethod: "GET", 1077 HTTPPath: "/2012-09-25/presets", 1078 Paginator: &request.Paginator{ 1079 InputTokens: []string{"PageToken"}, 1080 OutputTokens: []string{"NextPageToken"}, 1081 LimitToken: "", 1082 TruncationToken: "", 1083 }, 1084 } 1085 1086 if input == nil { 1087 input = &ListPresetsInput{} 1088 } 1089 1090 output = &ListPresetsOutput{} 1091 req = c.newRequest(op, input, output) 1092 return 1093 } 1094 1095 // ListPresets API operation for Amazon Elastic Transcoder. 1096 // 1097 // The ListPresets operation gets a list of the default presets included with 1098 // Elastic Transcoder and the presets that you've added in an AWS region. 1099 // 1100 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1101 // with awserr.Error's Code and Message methods to get detailed information about 1102 // the error. 1103 // 1104 // See the AWS API reference guide for Amazon Elastic Transcoder's 1105 // API operation ListPresets for usage and error information. 1106 // 1107 // Returned Error Types: 1108 // * ValidationException 1109 // One or more required parameter values were not provided in the request. 1110 // 1111 // * IncompatibleVersionException 1112 // 1113 // * AccessDeniedException 1114 // General authentication failure. The request was not signed correctly. 1115 // 1116 // * InternalServiceException 1117 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 1118 // the request. 1119 // 1120 func (c *ElasticTranscoder) ListPresets(input *ListPresetsInput) (*ListPresetsOutput, error) { 1121 req, out := c.ListPresetsRequest(input) 1122 return out, req.Send() 1123 } 1124 1125 // ListPresetsWithContext is the same as ListPresets with the addition of 1126 // the ability to pass a context and additional request options. 1127 // 1128 // See ListPresets for details on how to use this API operation. 1129 // 1130 // The context must be non-nil and will be used for request cancellation. If 1131 // the context is nil a panic will occur. In the future the SDK may create 1132 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1133 // for more information on using Contexts. 1134 func (c *ElasticTranscoder) ListPresetsWithContext(ctx aws.Context, input *ListPresetsInput, opts ...request.Option) (*ListPresetsOutput, error) { 1135 req, out := c.ListPresetsRequest(input) 1136 req.SetContext(ctx) 1137 req.ApplyOptions(opts...) 1138 return out, req.Send() 1139 } 1140 1141 // ListPresetsPages iterates over the pages of a ListPresets operation, 1142 // calling the "fn" function with the response data for each page. To stop 1143 // iterating, return false from the fn function. 1144 // 1145 // See ListPresets method for more information on how to use this operation. 1146 // 1147 // Note: This operation can generate multiple requests to a service. 1148 // 1149 // // Example iterating over at most 3 pages of a ListPresets operation. 1150 // pageNum := 0 1151 // err := client.ListPresetsPages(params, 1152 // func(page *elastictranscoder.ListPresetsOutput, lastPage bool) bool { 1153 // pageNum++ 1154 // fmt.Println(page) 1155 // return pageNum <= 3 1156 // }) 1157 // 1158 func (c *ElasticTranscoder) ListPresetsPages(input *ListPresetsInput, fn func(*ListPresetsOutput, bool) bool) error { 1159 return c.ListPresetsPagesWithContext(aws.BackgroundContext(), input, fn) 1160 } 1161 1162 // ListPresetsPagesWithContext same as ListPresetsPages except 1163 // it takes a Context and allows setting request options on the pages. 1164 // 1165 // The context must be non-nil and will be used for request cancellation. If 1166 // the context is nil a panic will occur. In the future the SDK may create 1167 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1168 // for more information on using Contexts. 1169 func (c *ElasticTranscoder) ListPresetsPagesWithContext(ctx aws.Context, input *ListPresetsInput, fn func(*ListPresetsOutput, bool) bool, opts ...request.Option) error { 1170 p := request.Pagination{ 1171 NewRequest: func() (*request.Request, error) { 1172 var inCpy *ListPresetsInput 1173 if input != nil { 1174 tmp := *input 1175 inCpy = &tmp 1176 } 1177 req, _ := c.ListPresetsRequest(inCpy) 1178 req.SetContext(ctx) 1179 req.ApplyOptions(opts...) 1180 return req, nil 1181 }, 1182 } 1183 1184 for p.Next() { 1185 if !fn(p.Page().(*ListPresetsOutput), !p.HasNextPage()) { 1186 break 1187 } 1188 } 1189 1190 return p.Err() 1191 } 1192 1193 const opReadJob = "ReadJob" 1194 1195 // ReadJobRequest generates a "aws/request.Request" representing the 1196 // client's request for the ReadJob operation. The "output" return 1197 // value will be populated with the request's response once the request completes 1198 // successfully. 1199 // 1200 // Use "Send" method on the returned Request to send the API call to the service. 1201 // the "output" return value is not valid until after Send returns without error. 1202 // 1203 // See ReadJob for more information on using the ReadJob 1204 // API call, and error handling. 1205 // 1206 // This method is useful when you want to inject custom logic or configuration 1207 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1208 // 1209 // 1210 // // Example sending a request using the ReadJobRequest method. 1211 // req, resp := client.ReadJobRequest(params) 1212 // 1213 // err := req.Send() 1214 // if err == nil { // resp is now filled 1215 // fmt.Println(resp) 1216 // } 1217 func (c *ElasticTranscoder) ReadJobRequest(input *ReadJobInput) (req *request.Request, output *ReadJobOutput) { 1218 op := &request.Operation{ 1219 Name: opReadJob, 1220 HTTPMethod: "GET", 1221 HTTPPath: "/2012-09-25/jobs/{Id}", 1222 } 1223 1224 if input == nil { 1225 input = &ReadJobInput{} 1226 } 1227 1228 output = &ReadJobOutput{} 1229 req = c.newRequest(op, input, output) 1230 return 1231 } 1232 1233 // ReadJob API operation for Amazon Elastic Transcoder. 1234 // 1235 // The ReadJob operation returns detailed information about a job. 1236 // 1237 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1238 // with awserr.Error's Code and Message methods to get detailed information about 1239 // the error. 1240 // 1241 // See the AWS API reference guide for Amazon Elastic Transcoder's 1242 // API operation ReadJob for usage and error information. 1243 // 1244 // Returned Error Types: 1245 // * ValidationException 1246 // One or more required parameter values were not provided in the request. 1247 // 1248 // * IncompatibleVersionException 1249 // 1250 // * ResourceNotFoundException 1251 // The requested resource does not exist or is not available. For example, the 1252 // pipeline to which you're trying to add a job doesn't exist or is still being 1253 // created. 1254 // 1255 // * AccessDeniedException 1256 // General authentication failure. The request was not signed correctly. 1257 // 1258 // * InternalServiceException 1259 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 1260 // the request. 1261 // 1262 func (c *ElasticTranscoder) ReadJob(input *ReadJobInput) (*ReadJobOutput, error) { 1263 req, out := c.ReadJobRequest(input) 1264 return out, req.Send() 1265 } 1266 1267 // ReadJobWithContext is the same as ReadJob with the addition of 1268 // the ability to pass a context and additional request options. 1269 // 1270 // See ReadJob for details on how to use this API operation. 1271 // 1272 // The context must be non-nil and will be used for request cancellation. If 1273 // the context is nil a panic will occur. In the future the SDK may create 1274 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1275 // for more information on using Contexts. 1276 func (c *ElasticTranscoder) ReadJobWithContext(ctx aws.Context, input *ReadJobInput, opts ...request.Option) (*ReadJobOutput, error) { 1277 req, out := c.ReadJobRequest(input) 1278 req.SetContext(ctx) 1279 req.ApplyOptions(opts...) 1280 return out, req.Send() 1281 } 1282 1283 const opReadPipeline = "ReadPipeline" 1284 1285 // ReadPipelineRequest generates a "aws/request.Request" representing the 1286 // client's request for the ReadPipeline operation. The "output" return 1287 // value will be populated with the request's response once the request completes 1288 // successfully. 1289 // 1290 // Use "Send" method on the returned Request to send the API call to the service. 1291 // the "output" return value is not valid until after Send returns without error. 1292 // 1293 // See ReadPipeline for more information on using the ReadPipeline 1294 // API call, and error handling. 1295 // 1296 // This method is useful when you want to inject custom logic or configuration 1297 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1298 // 1299 // 1300 // // Example sending a request using the ReadPipelineRequest method. 1301 // req, resp := client.ReadPipelineRequest(params) 1302 // 1303 // err := req.Send() 1304 // if err == nil { // resp is now filled 1305 // fmt.Println(resp) 1306 // } 1307 func (c *ElasticTranscoder) ReadPipelineRequest(input *ReadPipelineInput) (req *request.Request, output *ReadPipelineOutput) { 1308 op := &request.Operation{ 1309 Name: opReadPipeline, 1310 HTTPMethod: "GET", 1311 HTTPPath: "/2012-09-25/pipelines/{Id}", 1312 } 1313 1314 if input == nil { 1315 input = &ReadPipelineInput{} 1316 } 1317 1318 output = &ReadPipelineOutput{} 1319 req = c.newRequest(op, input, output) 1320 return 1321 } 1322 1323 // ReadPipeline API operation for Amazon Elastic Transcoder. 1324 // 1325 // The ReadPipeline operation gets detailed information about a pipeline. 1326 // 1327 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1328 // with awserr.Error's Code and Message methods to get detailed information about 1329 // the error. 1330 // 1331 // See the AWS API reference guide for Amazon Elastic Transcoder's 1332 // API operation ReadPipeline for usage and error information. 1333 // 1334 // Returned Error Types: 1335 // * ValidationException 1336 // One or more required parameter values were not provided in the request. 1337 // 1338 // * IncompatibleVersionException 1339 // 1340 // * ResourceNotFoundException 1341 // The requested resource does not exist or is not available. For example, the 1342 // pipeline to which you're trying to add a job doesn't exist or is still being 1343 // created. 1344 // 1345 // * AccessDeniedException 1346 // General authentication failure. The request was not signed correctly. 1347 // 1348 // * InternalServiceException 1349 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 1350 // the request. 1351 // 1352 func (c *ElasticTranscoder) ReadPipeline(input *ReadPipelineInput) (*ReadPipelineOutput, error) { 1353 req, out := c.ReadPipelineRequest(input) 1354 return out, req.Send() 1355 } 1356 1357 // ReadPipelineWithContext is the same as ReadPipeline with the addition of 1358 // the ability to pass a context and additional request options. 1359 // 1360 // See ReadPipeline for details on how to use this API operation. 1361 // 1362 // The context must be non-nil and will be used for request cancellation. If 1363 // the context is nil a panic will occur. In the future the SDK may create 1364 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1365 // for more information on using Contexts. 1366 func (c *ElasticTranscoder) ReadPipelineWithContext(ctx aws.Context, input *ReadPipelineInput, opts ...request.Option) (*ReadPipelineOutput, error) { 1367 req, out := c.ReadPipelineRequest(input) 1368 req.SetContext(ctx) 1369 req.ApplyOptions(opts...) 1370 return out, req.Send() 1371 } 1372 1373 const opReadPreset = "ReadPreset" 1374 1375 // ReadPresetRequest generates a "aws/request.Request" representing the 1376 // client's request for the ReadPreset operation. The "output" return 1377 // value will be populated with the request's response once the request completes 1378 // successfully. 1379 // 1380 // Use "Send" method on the returned Request to send the API call to the service. 1381 // the "output" return value is not valid until after Send returns without error. 1382 // 1383 // See ReadPreset for more information on using the ReadPreset 1384 // API call, and error handling. 1385 // 1386 // This method is useful when you want to inject custom logic or configuration 1387 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1388 // 1389 // 1390 // // Example sending a request using the ReadPresetRequest method. 1391 // req, resp := client.ReadPresetRequest(params) 1392 // 1393 // err := req.Send() 1394 // if err == nil { // resp is now filled 1395 // fmt.Println(resp) 1396 // } 1397 func (c *ElasticTranscoder) ReadPresetRequest(input *ReadPresetInput) (req *request.Request, output *ReadPresetOutput) { 1398 op := &request.Operation{ 1399 Name: opReadPreset, 1400 HTTPMethod: "GET", 1401 HTTPPath: "/2012-09-25/presets/{Id}", 1402 } 1403 1404 if input == nil { 1405 input = &ReadPresetInput{} 1406 } 1407 1408 output = &ReadPresetOutput{} 1409 req = c.newRequest(op, input, output) 1410 return 1411 } 1412 1413 // ReadPreset API operation for Amazon Elastic Transcoder. 1414 // 1415 // The ReadPreset operation gets detailed information about a preset. 1416 // 1417 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1418 // with awserr.Error's Code and Message methods to get detailed information about 1419 // the error. 1420 // 1421 // See the AWS API reference guide for Amazon Elastic Transcoder's 1422 // API operation ReadPreset for usage and error information. 1423 // 1424 // Returned Error Types: 1425 // * ValidationException 1426 // One or more required parameter values were not provided in the request. 1427 // 1428 // * IncompatibleVersionException 1429 // 1430 // * ResourceNotFoundException 1431 // The requested resource does not exist or is not available. For example, the 1432 // pipeline to which you're trying to add a job doesn't exist or is still being 1433 // created. 1434 // 1435 // * AccessDeniedException 1436 // General authentication failure. The request was not signed correctly. 1437 // 1438 // * InternalServiceException 1439 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 1440 // the request. 1441 // 1442 func (c *ElasticTranscoder) ReadPreset(input *ReadPresetInput) (*ReadPresetOutput, error) { 1443 req, out := c.ReadPresetRequest(input) 1444 return out, req.Send() 1445 } 1446 1447 // ReadPresetWithContext is the same as ReadPreset with the addition of 1448 // the ability to pass a context and additional request options. 1449 // 1450 // See ReadPreset for details on how to use this API operation. 1451 // 1452 // The context must be non-nil and will be used for request cancellation. If 1453 // the context is nil a panic will occur. In the future the SDK may create 1454 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1455 // for more information on using Contexts. 1456 func (c *ElasticTranscoder) ReadPresetWithContext(ctx aws.Context, input *ReadPresetInput, opts ...request.Option) (*ReadPresetOutput, error) { 1457 req, out := c.ReadPresetRequest(input) 1458 req.SetContext(ctx) 1459 req.ApplyOptions(opts...) 1460 return out, req.Send() 1461 } 1462 1463 const opTestRole = "TestRole" 1464 1465 // TestRoleRequest generates a "aws/request.Request" representing the 1466 // client's request for the TestRole operation. The "output" return 1467 // value will be populated with the request's response once the request completes 1468 // successfully. 1469 // 1470 // Use "Send" method on the returned Request to send the API call to the service. 1471 // the "output" return value is not valid until after Send returns without error. 1472 // 1473 // See TestRole for more information on using the TestRole 1474 // API call, and error handling. 1475 // 1476 // This method is useful when you want to inject custom logic or configuration 1477 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1478 // 1479 // 1480 // // Example sending a request using the TestRoleRequest method. 1481 // req, resp := client.TestRoleRequest(params) 1482 // 1483 // err := req.Send() 1484 // if err == nil { // resp is now filled 1485 // fmt.Println(resp) 1486 // } 1487 // 1488 // Deprecated: TestRole has been deprecated 1489 func (c *ElasticTranscoder) TestRoleRequest(input *TestRoleInput) (req *request.Request, output *TestRoleOutput) { 1490 if c.Client.Config.Logger != nil { 1491 c.Client.Config.Logger.Log("This operation, TestRole, has been deprecated") 1492 } 1493 op := &request.Operation{ 1494 Name: opTestRole, 1495 HTTPMethod: "POST", 1496 HTTPPath: "/2012-09-25/roleTests", 1497 } 1498 1499 if input == nil { 1500 input = &TestRoleInput{} 1501 } 1502 1503 output = &TestRoleOutput{} 1504 req = c.newRequest(op, input, output) 1505 return 1506 } 1507 1508 // TestRole API operation for Amazon Elastic Transcoder. 1509 // 1510 // The TestRole operation tests the IAM role used to create the pipeline. 1511 // 1512 // The TestRole action lets you determine whether the IAM role you are using 1513 // has sufficient permissions to let Elastic Transcoder perform tasks associated 1514 // with the transcoding process. The action attempts to assume the specified 1515 // IAM role, checks read access to the input and output buckets, and tries to 1516 // send a test notification to Amazon SNS topics that you specify. 1517 // 1518 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1519 // with awserr.Error's Code and Message methods to get detailed information about 1520 // the error. 1521 // 1522 // See the AWS API reference guide for Amazon Elastic Transcoder's 1523 // API operation TestRole for usage and error information. 1524 // 1525 // Returned Error Types: 1526 // * ValidationException 1527 // One or more required parameter values were not provided in the request. 1528 // 1529 // * IncompatibleVersionException 1530 // 1531 // * ResourceNotFoundException 1532 // The requested resource does not exist or is not available. For example, the 1533 // pipeline to which you're trying to add a job doesn't exist or is still being 1534 // created. 1535 // 1536 // * AccessDeniedException 1537 // General authentication failure. The request was not signed correctly. 1538 // 1539 // * InternalServiceException 1540 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 1541 // the request. 1542 // 1543 // 1544 // Deprecated: TestRole has been deprecated 1545 func (c *ElasticTranscoder) TestRole(input *TestRoleInput) (*TestRoleOutput, error) { 1546 req, out := c.TestRoleRequest(input) 1547 return out, req.Send() 1548 } 1549 1550 // TestRoleWithContext is the same as TestRole with the addition of 1551 // the ability to pass a context and additional request options. 1552 // 1553 // See TestRole for details on how to use this API operation. 1554 // 1555 // The context must be non-nil and will be used for request cancellation. If 1556 // the context is nil a panic will occur. In the future the SDK may create 1557 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1558 // for more information on using Contexts. 1559 // 1560 // Deprecated: TestRoleWithContext has been deprecated 1561 func (c *ElasticTranscoder) TestRoleWithContext(ctx aws.Context, input *TestRoleInput, opts ...request.Option) (*TestRoleOutput, error) { 1562 req, out := c.TestRoleRequest(input) 1563 req.SetContext(ctx) 1564 req.ApplyOptions(opts...) 1565 return out, req.Send() 1566 } 1567 1568 const opUpdatePipeline = "UpdatePipeline" 1569 1570 // UpdatePipelineRequest generates a "aws/request.Request" representing the 1571 // client's request for the UpdatePipeline operation. The "output" return 1572 // value will be populated with the request's response once the request completes 1573 // successfully. 1574 // 1575 // Use "Send" method on the returned Request to send the API call to the service. 1576 // the "output" return value is not valid until after Send returns without error. 1577 // 1578 // See UpdatePipeline for more information on using the UpdatePipeline 1579 // API call, and error handling. 1580 // 1581 // This method is useful when you want to inject custom logic or configuration 1582 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1583 // 1584 // 1585 // // Example sending a request using the UpdatePipelineRequest method. 1586 // req, resp := client.UpdatePipelineRequest(params) 1587 // 1588 // err := req.Send() 1589 // if err == nil { // resp is now filled 1590 // fmt.Println(resp) 1591 // } 1592 func (c *ElasticTranscoder) UpdatePipelineRequest(input *UpdatePipelineInput) (req *request.Request, output *UpdatePipelineOutput) { 1593 op := &request.Operation{ 1594 Name: opUpdatePipeline, 1595 HTTPMethod: "PUT", 1596 HTTPPath: "/2012-09-25/pipelines/{Id}", 1597 } 1598 1599 if input == nil { 1600 input = &UpdatePipelineInput{} 1601 } 1602 1603 output = &UpdatePipelineOutput{} 1604 req = c.newRequest(op, input, output) 1605 return 1606 } 1607 1608 // UpdatePipeline API operation for Amazon Elastic Transcoder. 1609 // 1610 // Use the UpdatePipeline operation to update settings for a pipeline. 1611 // 1612 // When you change pipeline settings, your changes take effect immediately. 1613 // Jobs that you have already submitted and that Elastic Transcoder has not 1614 // started to process are affected in addition to jobs that you submit after 1615 // you change settings. 1616 // 1617 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1618 // with awserr.Error's Code and Message methods to get detailed information about 1619 // the error. 1620 // 1621 // See the AWS API reference guide for Amazon Elastic Transcoder's 1622 // API operation UpdatePipeline for usage and error information. 1623 // 1624 // Returned Error Types: 1625 // * ValidationException 1626 // One or more required parameter values were not provided in the request. 1627 // 1628 // * IncompatibleVersionException 1629 // 1630 // * AccessDeniedException 1631 // General authentication failure. The request was not signed correctly. 1632 // 1633 // * ResourceInUseException 1634 // The resource you are attempting to change is in use. For example, you are 1635 // attempting to delete a pipeline that is currently in use. 1636 // 1637 // * ResourceNotFoundException 1638 // The requested resource does not exist or is not available. For example, the 1639 // pipeline to which you're trying to add a job doesn't exist or is still being 1640 // created. 1641 // 1642 // * InternalServiceException 1643 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 1644 // the request. 1645 // 1646 func (c *ElasticTranscoder) UpdatePipeline(input *UpdatePipelineInput) (*UpdatePipelineOutput, error) { 1647 req, out := c.UpdatePipelineRequest(input) 1648 return out, req.Send() 1649 } 1650 1651 // UpdatePipelineWithContext is the same as UpdatePipeline with the addition of 1652 // the ability to pass a context and additional request options. 1653 // 1654 // See UpdatePipeline for details on how to use this API operation. 1655 // 1656 // The context must be non-nil and will be used for request cancellation. If 1657 // the context is nil a panic will occur. In the future the SDK may create 1658 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1659 // for more information on using Contexts. 1660 func (c *ElasticTranscoder) UpdatePipelineWithContext(ctx aws.Context, input *UpdatePipelineInput, opts ...request.Option) (*UpdatePipelineOutput, error) { 1661 req, out := c.UpdatePipelineRequest(input) 1662 req.SetContext(ctx) 1663 req.ApplyOptions(opts...) 1664 return out, req.Send() 1665 } 1666 1667 const opUpdatePipelineNotifications = "UpdatePipelineNotifications" 1668 1669 // UpdatePipelineNotificationsRequest generates a "aws/request.Request" representing the 1670 // client's request for the UpdatePipelineNotifications operation. The "output" return 1671 // value will be populated with the request's response once the request completes 1672 // successfully. 1673 // 1674 // Use "Send" method on the returned Request to send the API call to the service. 1675 // the "output" return value is not valid until after Send returns without error. 1676 // 1677 // See UpdatePipelineNotifications for more information on using the UpdatePipelineNotifications 1678 // API call, and error handling. 1679 // 1680 // This method is useful when you want to inject custom logic or configuration 1681 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1682 // 1683 // 1684 // // Example sending a request using the UpdatePipelineNotificationsRequest method. 1685 // req, resp := client.UpdatePipelineNotificationsRequest(params) 1686 // 1687 // err := req.Send() 1688 // if err == nil { // resp is now filled 1689 // fmt.Println(resp) 1690 // } 1691 func (c *ElasticTranscoder) UpdatePipelineNotificationsRequest(input *UpdatePipelineNotificationsInput) (req *request.Request, output *UpdatePipelineNotificationsOutput) { 1692 op := &request.Operation{ 1693 Name: opUpdatePipelineNotifications, 1694 HTTPMethod: "POST", 1695 HTTPPath: "/2012-09-25/pipelines/{Id}/notifications", 1696 } 1697 1698 if input == nil { 1699 input = &UpdatePipelineNotificationsInput{} 1700 } 1701 1702 output = &UpdatePipelineNotificationsOutput{} 1703 req = c.newRequest(op, input, output) 1704 return 1705 } 1706 1707 // UpdatePipelineNotifications API operation for Amazon Elastic Transcoder. 1708 // 1709 // With the UpdatePipelineNotifications operation, you can update Amazon Simple 1710 // Notification Service (Amazon SNS) notifications for a pipeline. 1711 // 1712 // When you update notifications for a pipeline, Elastic Transcoder returns 1713 // the values that you specified in the request. 1714 // 1715 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1716 // with awserr.Error's Code and Message methods to get detailed information about 1717 // the error. 1718 // 1719 // See the AWS API reference guide for Amazon Elastic Transcoder's 1720 // API operation UpdatePipelineNotifications for usage and error information. 1721 // 1722 // Returned Error Types: 1723 // * ValidationException 1724 // One or more required parameter values were not provided in the request. 1725 // 1726 // * IncompatibleVersionException 1727 // 1728 // * ResourceNotFoundException 1729 // The requested resource does not exist or is not available. For example, the 1730 // pipeline to which you're trying to add a job doesn't exist or is still being 1731 // created. 1732 // 1733 // * ResourceInUseException 1734 // The resource you are attempting to change is in use. For example, you are 1735 // attempting to delete a pipeline that is currently in use. 1736 // 1737 // * AccessDeniedException 1738 // General authentication failure. The request was not signed correctly. 1739 // 1740 // * InternalServiceException 1741 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 1742 // the request. 1743 // 1744 func (c *ElasticTranscoder) UpdatePipelineNotifications(input *UpdatePipelineNotificationsInput) (*UpdatePipelineNotificationsOutput, error) { 1745 req, out := c.UpdatePipelineNotificationsRequest(input) 1746 return out, req.Send() 1747 } 1748 1749 // UpdatePipelineNotificationsWithContext is the same as UpdatePipelineNotifications with the addition of 1750 // the ability to pass a context and additional request options. 1751 // 1752 // See UpdatePipelineNotifications for details on how to use this API operation. 1753 // 1754 // The context must be non-nil and will be used for request cancellation. If 1755 // the context is nil a panic will occur. In the future the SDK may create 1756 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1757 // for more information on using Contexts. 1758 func (c *ElasticTranscoder) UpdatePipelineNotificationsWithContext(ctx aws.Context, input *UpdatePipelineNotificationsInput, opts ...request.Option) (*UpdatePipelineNotificationsOutput, error) { 1759 req, out := c.UpdatePipelineNotificationsRequest(input) 1760 req.SetContext(ctx) 1761 req.ApplyOptions(opts...) 1762 return out, req.Send() 1763 } 1764 1765 const opUpdatePipelineStatus = "UpdatePipelineStatus" 1766 1767 // UpdatePipelineStatusRequest generates a "aws/request.Request" representing the 1768 // client's request for the UpdatePipelineStatus operation. The "output" return 1769 // value will be populated with the request's response once the request completes 1770 // successfully. 1771 // 1772 // Use "Send" method on the returned Request to send the API call to the service. 1773 // the "output" return value is not valid until after Send returns without error. 1774 // 1775 // See UpdatePipelineStatus for more information on using the UpdatePipelineStatus 1776 // API call, and error handling. 1777 // 1778 // This method is useful when you want to inject custom logic or configuration 1779 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1780 // 1781 // 1782 // // Example sending a request using the UpdatePipelineStatusRequest method. 1783 // req, resp := client.UpdatePipelineStatusRequest(params) 1784 // 1785 // err := req.Send() 1786 // if err == nil { // resp is now filled 1787 // fmt.Println(resp) 1788 // } 1789 func (c *ElasticTranscoder) UpdatePipelineStatusRequest(input *UpdatePipelineStatusInput) (req *request.Request, output *UpdatePipelineStatusOutput) { 1790 op := &request.Operation{ 1791 Name: opUpdatePipelineStatus, 1792 HTTPMethod: "POST", 1793 HTTPPath: "/2012-09-25/pipelines/{Id}/status", 1794 } 1795 1796 if input == nil { 1797 input = &UpdatePipelineStatusInput{} 1798 } 1799 1800 output = &UpdatePipelineStatusOutput{} 1801 req = c.newRequest(op, input, output) 1802 return 1803 } 1804 1805 // UpdatePipelineStatus API operation for Amazon Elastic Transcoder. 1806 // 1807 // The UpdatePipelineStatus operation pauses or reactivates a pipeline, so that 1808 // the pipeline stops or restarts the processing of jobs. 1809 // 1810 // Changing the pipeline status is useful if you want to cancel one or more 1811 // jobs. You can't cancel jobs after Elastic Transcoder has started processing 1812 // them; if you pause the pipeline to which you submitted the jobs, you have 1813 // more time to get the job IDs for the jobs that you want to cancel, and to 1814 // send a CancelJob request. 1815 // 1816 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1817 // with awserr.Error's Code and Message methods to get detailed information about 1818 // the error. 1819 // 1820 // See the AWS API reference guide for Amazon Elastic Transcoder's 1821 // API operation UpdatePipelineStatus for usage and error information. 1822 // 1823 // Returned Error Types: 1824 // * ValidationException 1825 // One or more required parameter values were not provided in the request. 1826 // 1827 // * IncompatibleVersionException 1828 // 1829 // * ResourceNotFoundException 1830 // The requested resource does not exist or is not available. For example, the 1831 // pipeline to which you're trying to add a job doesn't exist or is still being 1832 // created. 1833 // 1834 // * ResourceInUseException 1835 // The resource you are attempting to change is in use. For example, you are 1836 // attempting to delete a pipeline that is currently in use. 1837 // 1838 // * AccessDeniedException 1839 // General authentication failure. The request was not signed correctly. 1840 // 1841 // * InternalServiceException 1842 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 1843 // the request. 1844 // 1845 func (c *ElasticTranscoder) UpdatePipelineStatus(input *UpdatePipelineStatusInput) (*UpdatePipelineStatusOutput, error) { 1846 req, out := c.UpdatePipelineStatusRequest(input) 1847 return out, req.Send() 1848 } 1849 1850 // UpdatePipelineStatusWithContext is the same as UpdatePipelineStatus with the addition of 1851 // the ability to pass a context and additional request options. 1852 // 1853 // See UpdatePipelineStatus for details on how to use this API operation. 1854 // 1855 // The context must be non-nil and will be used for request cancellation. If 1856 // the context is nil a panic will occur. In the future the SDK may create 1857 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1858 // for more information on using Contexts. 1859 func (c *ElasticTranscoder) UpdatePipelineStatusWithContext(ctx aws.Context, input *UpdatePipelineStatusInput, opts ...request.Option) (*UpdatePipelineStatusOutput, error) { 1860 req, out := c.UpdatePipelineStatusRequest(input) 1861 req.SetContext(ctx) 1862 req.ApplyOptions(opts...) 1863 return out, req.Send() 1864 } 1865 1866 // General authentication failure. The request was not signed correctly. 1867 type AccessDeniedException struct { 1868 _ struct{} `type:"structure"` 1869 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1870 1871 Message_ *string `locationName:"message" type:"string"` 1872 } 1873 1874 // String returns the string representation. 1875 // 1876 // API parameter values that are decorated as "sensitive" in the API will not 1877 // be included in the string output. The member name will be present, but the 1878 // value will be replaced with "sensitive". 1879 func (s AccessDeniedException) String() string { 1880 return awsutil.Prettify(s) 1881 } 1882 1883 // GoString returns the string representation. 1884 // 1885 // API parameter values that are decorated as "sensitive" in the API will not 1886 // be included in the string output. The member name will be present, but the 1887 // value will be replaced with "sensitive". 1888 func (s AccessDeniedException) GoString() string { 1889 return s.String() 1890 } 1891 1892 func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 1893 return &AccessDeniedException{ 1894 RespMetadata: v, 1895 } 1896 } 1897 1898 // Code returns the exception type name. 1899 func (s *AccessDeniedException) Code() string { 1900 return "AccessDeniedException" 1901 } 1902 1903 // Message returns the exception's message. 1904 func (s *AccessDeniedException) Message() string { 1905 if s.Message_ != nil { 1906 return *s.Message_ 1907 } 1908 return "" 1909 } 1910 1911 // OrigErr always returns nil, satisfies awserr.Error interface. 1912 func (s *AccessDeniedException) OrigErr() error { 1913 return nil 1914 } 1915 1916 func (s *AccessDeniedException) Error() string { 1917 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1918 } 1919 1920 // Status code returns the HTTP status code for the request's response error. 1921 func (s *AccessDeniedException) StatusCode() int { 1922 return s.RespMetadata.StatusCode 1923 } 1924 1925 // RequestID returns the service's response RequestID for request. 1926 func (s *AccessDeniedException) RequestID() string { 1927 return s.RespMetadata.RequestID 1928 } 1929 1930 // The file to be used as album art. There can be multiple artworks associated 1931 // with an audio file, to a maximum of 20. 1932 // 1933 // To remove artwork or leave the artwork empty, you can either set Artwork 1934 // to null, or set the Merge Policy to "Replace" and use an empty Artwork array. 1935 // 1936 // To pass through existing artwork unchanged, set the Merge Policy to "Prepend", 1937 // "Append", or "Fallback", and use an empty Artwork array. 1938 type Artwork struct { 1939 _ struct{} `type:"structure"` 1940 1941 // The format of album art, if any. Valid formats are .jpg and .png. 1942 AlbumArtFormat *string `type:"string"` 1943 1944 // The encryption settings, if any, that you want Elastic Transcoder to apply 1945 // to your artwork. 1946 Encryption *Encryption `type:"structure"` 1947 1948 // The name of the file to be used as album art. To determine which Amazon S3 1949 // bucket contains the specified file, Elastic Transcoder checks the pipeline 1950 // specified by PipelineId; the InputBucket object in that pipeline identifies 1951 // the bucket. 1952 // 1953 // If the file name includes a prefix, for example, cooking/pie.jpg, include 1954 // the prefix in the key. If the file isn't in the specified bucket, Elastic 1955 // Transcoder returns an error. 1956 InputKey *string `min:"1" type:"string"` 1957 1958 // The maximum height of the output album art in pixels. If you specify auto, 1959 // Elastic Transcoder uses 600 as the default value. If you specify a numeric 1960 // value, enter an even integer between 32 and 3072, inclusive. 1961 MaxHeight *string `type:"string"` 1962 1963 // The maximum width of the output album art in pixels. If you specify auto, 1964 // Elastic Transcoder uses 600 as the default value. If you specify a numeric 1965 // value, enter an even integer between 32 and 4096, inclusive. 1966 MaxWidth *string `type:"string"` 1967 1968 // When you set PaddingPolicy to Pad, Elastic Transcoder may add white bars 1969 // to the top and bottom and/or left and right sides of the output album art 1970 // to make the total size of the output art match the values that you specified 1971 // for MaxWidth and MaxHeight. 1972 PaddingPolicy *string `type:"string"` 1973 1974 // Specify one of the following values to control scaling of the output album 1975 // art: 1976 // 1977 // * Fit: Elastic Transcoder scales the output art so it matches the value 1978 // that you specified in either MaxWidth or MaxHeight without exceeding the 1979 // other value. 1980 // 1981 // * Fill: Elastic Transcoder scales the output art so it matches the value 1982 // that you specified in either MaxWidth or MaxHeight and matches or exceeds 1983 // the other value. Elastic Transcoder centers the output art and then crops 1984 // it in the dimension (if any) that exceeds the maximum value. 1985 // 1986 // * Stretch: Elastic Transcoder stretches the output art to match the values 1987 // that you specified for MaxWidth and MaxHeight. If the relative proportions 1988 // of the input art and the output art are different, the output art will 1989 // be distorted. 1990 // 1991 // * Keep: Elastic Transcoder does not scale the output art. If either dimension 1992 // of the input art exceeds the values that you specified for MaxWidth and 1993 // MaxHeight, Elastic Transcoder crops the output art. 1994 // 1995 // * ShrinkToFit: Elastic Transcoder scales the output art down so that its 1996 // dimensions match the values that you specified for at least one of MaxWidth 1997 // and MaxHeight without exceeding either value. If you specify this option, 1998 // Elastic Transcoder does not scale the art up. 1999 // 2000 // * ShrinkToFill Elastic Transcoder scales the output art down so that its 2001 // dimensions match the values that you specified for at least one of MaxWidth 2002 // and MaxHeight without dropping below either value. If you specify this 2003 // option, Elastic Transcoder does not scale the art up. 2004 SizingPolicy *string `type:"string"` 2005 } 2006 2007 // String returns the string representation. 2008 // 2009 // API parameter values that are decorated as "sensitive" in the API will not 2010 // be included in the string output. The member name will be present, but the 2011 // value will be replaced with "sensitive". 2012 func (s Artwork) String() string { 2013 return awsutil.Prettify(s) 2014 } 2015 2016 // GoString returns the string representation. 2017 // 2018 // API parameter values that are decorated as "sensitive" in the API will not 2019 // be included in the string output. The member name will be present, but the 2020 // value will be replaced with "sensitive". 2021 func (s Artwork) GoString() string { 2022 return s.String() 2023 } 2024 2025 // Validate inspects the fields of the type to determine if they are valid. 2026 func (s *Artwork) Validate() error { 2027 invalidParams := request.ErrInvalidParams{Context: "Artwork"} 2028 if s.InputKey != nil && len(*s.InputKey) < 1 { 2029 invalidParams.Add(request.NewErrParamMinLen("InputKey", 1)) 2030 } 2031 2032 if invalidParams.Len() > 0 { 2033 return invalidParams 2034 } 2035 return nil 2036 } 2037 2038 // SetAlbumArtFormat sets the AlbumArtFormat field's value. 2039 func (s *Artwork) SetAlbumArtFormat(v string) *Artwork { 2040 s.AlbumArtFormat = &v 2041 return s 2042 } 2043 2044 // SetEncryption sets the Encryption field's value. 2045 func (s *Artwork) SetEncryption(v *Encryption) *Artwork { 2046 s.Encryption = v 2047 return s 2048 } 2049 2050 // SetInputKey sets the InputKey field's value. 2051 func (s *Artwork) SetInputKey(v string) *Artwork { 2052 s.InputKey = &v 2053 return s 2054 } 2055 2056 // SetMaxHeight sets the MaxHeight field's value. 2057 func (s *Artwork) SetMaxHeight(v string) *Artwork { 2058 s.MaxHeight = &v 2059 return s 2060 } 2061 2062 // SetMaxWidth sets the MaxWidth field's value. 2063 func (s *Artwork) SetMaxWidth(v string) *Artwork { 2064 s.MaxWidth = &v 2065 return s 2066 } 2067 2068 // SetPaddingPolicy sets the PaddingPolicy field's value. 2069 func (s *Artwork) SetPaddingPolicy(v string) *Artwork { 2070 s.PaddingPolicy = &v 2071 return s 2072 } 2073 2074 // SetSizingPolicy sets the SizingPolicy field's value. 2075 func (s *Artwork) SetSizingPolicy(v string) *Artwork { 2076 s.SizingPolicy = &v 2077 return s 2078 } 2079 2080 // Options associated with your audio codec. 2081 type AudioCodecOptions struct { 2082 _ struct{} `type:"structure"` 2083 2084 // You can only choose an audio bit depth when you specify flac or pcm for the 2085 // value of Audio:Codec. 2086 // 2087 // The bit depth of a sample is how many bits of information are included in 2088 // the audio samples. The higher the bit depth, the better the audio, but the 2089 // larger the file. 2090 // 2091 // Valid values are 16 and 24. 2092 // 2093 // The most common bit depth is 24. 2094 BitDepth *string `type:"string"` 2095 2096 // You can only choose an audio bit order when you specify pcm for the value 2097 // of Audio:Codec. 2098 // 2099 // The order the bits of a PCM sample are stored in. 2100 // 2101 // The supported value is LittleEndian. 2102 BitOrder *string `type:"string"` 2103 2104 // You can only choose an audio profile when you specify AAC for the value of 2105 // Audio:Codec. 2106 // 2107 // Specify the AAC profile for the output file. Elastic Transcoder supports 2108 // the following profiles: 2109 // 2110 // * auto: If you specify auto, Elastic Transcoder selects the profile based 2111 // on the bit rate selected for the output file. 2112 // 2113 // * AAC-LC: The most common AAC profile. Use for bit rates larger than 64 2114 // kbps. 2115 // 2116 // * HE-AAC: Not supported on some older players and devices. Use for bit 2117 // rates between 40 and 80 kbps. 2118 // 2119 // * HE-AACv2: Not supported on some players and devices. Use for bit rates 2120 // less than 48 kbps. 2121 // 2122 // All outputs in a Smooth playlist must have the same value for Profile. 2123 // 2124 // If you created any presets before AAC profiles were added, Elastic Transcoder 2125 // automatically updated your presets to use AAC-LC. You can change the value 2126 // as required. 2127 Profile *string `type:"string"` 2128 2129 // You can only choose whether an audio sample is signed when you specify pcm 2130 // for the value of Audio:Codec. 2131 // 2132 // Whether audio samples are represented with negative and positive numbers 2133 // (signed) or only positive numbers (unsigned). 2134 // 2135 // The supported value is Signed. 2136 Signed *string `type:"string"` 2137 } 2138 2139 // String returns the string representation. 2140 // 2141 // API parameter values that are decorated as "sensitive" in the API will not 2142 // be included in the string output. The member name will be present, but the 2143 // value will be replaced with "sensitive". 2144 func (s AudioCodecOptions) String() string { 2145 return awsutil.Prettify(s) 2146 } 2147 2148 // GoString returns the string representation. 2149 // 2150 // API parameter values that are decorated as "sensitive" in the API will not 2151 // be included in the string output. The member name will be present, but the 2152 // value will be replaced with "sensitive". 2153 func (s AudioCodecOptions) GoString() string { 2154 return s.String() 2155 } 2156 2157 // SetBitDepth sets the BitDepth field's value. 2158 func (s *AudioCodecOptions) SetBitDepth(v string) *AudioCodecOptions { 2159 s.BitDepth = &v 2160 return s 2161 } 2162 2163 // SetBitOrder sets the BitOrder field's value. 2164 func (s *AudioCodecOptions) SetBitOrder(v string) *AudioCodecOptions { 2165 s.BitOrder = &v 2166 return s 2167 } 2168 2169 // SetProfile sets the Profile field's value. 2170 func (s *AudioCodecOptions) SetProfile(v string) *AudioCodecOptions { 2171 s.Profile = &v 2172 return s 2173 } 2174 2175 // SetSigned sets the Signed field's value. 2176 func (s *AudioCodecOptions) SetSigned(v string) *AudioCodecOptions { 2177 s.Signed = &v 2178 return s 2179 } 2180 2181 // Parameters required for transcoding audio. 2182 type AudioParameters struct { 2183 _ struct{} `type:"structure"` 2184 2185 // The method of organizing audio channels and tracks. Use Audio:Channels to 2186 // specify the number of channels in your output, and Audio:AudioPackingMode 2187 // to specify the number of tracks and their relation to the channels. If you 2188 // do not specify an Audio:AudioPackingMode, Elastic Transcoder uses SingleTrack. 2189 // 2190 // The following values are valid: 2191 // 2192 // SingleTrack, OneChannelPerTrack, and OneChannelPerTrackWithMosTo8Tracks 2193 // 2194 // When you specify SingleTrack, Elastic Transcoder creates a single track for 2195 // your output. The track can have up to eight channels. Use SingleTrack for 2196 // all non-mxf containers. 2197 // 2198 // The outputs of SingleTrack for a specific channel value and inputs are as 2199 // follows: 2200 // 2201 // * 0 channels with any input: Audio omitted from the output 2202 // 2203 // * 1, 2, or auto channels with no audio input: Audio omitted from the output 2204 // 2205 // * 1 channel with any input with audio: One track with one channel, downmixed 2206 // if necessary 2207 // 2208 // * 2 channels with one track with one channel: One track with two identical 2209 // channels 2210 // 2211 // * 2 or auto channels with two tracks with one channel each: One track 2212 // with two channels 2213 // 2214 // * 2 or auto channels with one track with two channels: One track with 2215 // two channels 2216 // 2217 // * 2 channels with one track with multiple channels: One track with two 2218 // channels 2219 // 2220 // * auto channels with one track with one channel: One track with one channel 2221 // 2222 // * auto channels with one track with multiple channels: One track with 2223 // multiple channels 2224 // 2225 // When you specify OneChannelPerTrack, Elastic Transcoder creates a new track 2226 // for every channel in your output. Your output can have up to eight single-channel 2227 // tracks. 2228 // 2229 // The outputs of OneChannelPerTrack for a specific channel value and inputs 2230 // are as follows: 2231 // 2232 // * 0 channels with any input: Audio omitted from the output 2233 // 2234 // * 1, 2, or auto channels with no audio input: Audio omitted from the output 2235 // 2236 // * 1 channel with any input with audio: One track with one channel, downmixed 2237 // if necessary 2238 // 2239 // * 2 channels with one track with one channel: Two tracks with one identical 2240 // channel each 2241 // 2242 // * 2 or auto channels with two tracks with one channel each: Two tracks 2243 // with one channel each 2244 // 2245 // * 2 or auto channels with one track with two channels: Two tracks with 2246 // one channel each 2247 // 2248 // * 2 channels with one track with multiple channels: Two tracks with one 2249 // channel each 2250 // 2251 // * auto channels with one track with one channel: One track with one channel 2252 // 2253 // * auto channels with one track with multiple channels: Up to eight tracks 2254 // with one channel each 2255 // 2256 // When you specify OneChannelPerTrackWithMosTo8Tracks, Elastic Transcoder creates 2257 // eight single-channel tracks for your output. All tracks that do not contain 2258 // audio data from an input channel are MOS, or Mit Out Sound, tracks. 2259 // 2260 // The outputs of OneChannelPerTrackWithMosTo8Tracks for a specific channel 2261 // value and inputs are as follows: 2262 // 2263 // * 0 channels with any input: Audio omitted from the output 2264 // 2265 // * 1, 2, or auto channels with no audio input: Audio omitted from the output 2266 // 2267 // * 1 channel with any input with audio: One track with one channel, downmixed 2268 // if necessary, plus six MOS tracks 2269 // 2270 // * 2 channels with one track with one channel: Two tracks with one identical 2271 // channel each, plus six MOS tracks 2272 // 2273 // * 2 or auto channels with two tracks with one channel each: Two tracks 2274 // with one channel each, plus six MOS tracks 2275 // 2276 // * 2 or auto channels with one track with two channels: Two tracks with 2277 // one channel each, plus six MOS tracks 2278 // 2279 // * 2 channels with one track with multiple channels: Two tracks with one 2280 // channel each, plus six MOS tracks 2281 // 2282 // * auto channels with one track with one channel: One track with one channel, 2283 // plus seven MOS tracks 2284 // 2285 // * auto channels with one track with multiple channels: Up to eight tracks 2286 // with one channel each, plus MOS tracks until there are eight tracks in 2287 // all 2288 AudioPackingMode *string `type:"string"` 2289 2290 // The bit rate of the audio stream in the output file, in kilobits/second. 2291 // Enter an integer between 64 and 320, inclusive. 2292 BitRate *string `type:"string"` 2293 2294 // The number of audio channels in the output file. The following values are 2295 // valid: 2296 // 2297 // auto, 0, 1, 2 2298 // 2299 // One channel carries the information played by a single speaker. For example, 2300 // a stereo track with two channels sends one channel to the left speaker, and 2301 // the other channel to the right speaker. The output channels are organized 2302 // into tracks. If you want Elastic Transcoder to automatically detect the number 2303 // of audio channels in the input file and use that value for the output file, 2304 // select auto. 2305 // 2306 // The output of a specific channel value and inputs are as follows: 2307 // 2308 // * auto channel specified, with any input: Pass through up to eight input 2309 // channels. 2310 // 2311 // * 0 channels specified, with any input: Audio omitted from the output. 2312 // 2313 // * 1 channel specified, with at least one input channel: Mono sound. 2314 // 2315 // * 2 channels specified, with any input: Two identical mono channels or 2316 // stereo. For more information about tracks, see Audio:AudioPackingMode. 2317 // 2318 // For more information about how Elastic Transcoder organizes channels and 2319 // tracks, see Audio:AudioPackingMode. 2320 Channels *string `type:"string"` 2321 2322 // The audio codec for the output file. Valid values include aac, flac, mp2, 2323 // mp3, pcm, and vorbis. 2324 Codec *string `type:"string"` 2325 2326 // If you specified AAC for Audio:Codec, this is the AAC compression profile 2327 // to use. Valid values include: 2328 // 2329 // auto, AAC-LC, HE-AAC, HE-AACv2 2330 // 2331 // If you specify auto, Elastic Transcoder chooses a profile based on the bit 2332 // rate of the output file. 2333 CodecOptions *AudioCodecOptions `type:"structure"` 2334 2335 // The sample rate of the audio stream in the output file, in Hertz. Valid values 2336 // include: 2337 // 2338 // auto, 22050, 32000, 44100, 48000, 96000 2339 // 2340 // If you specify auto, Elastic Transcoder automatically detects the sample 2341 // rate. 2342 SampleRate *string `type:"string"` 2343 } 2344 2345 // String returns the string representation. 2346 // 2347 // API parameter values that are decorated as "sensitive" in the API will not 2348 // be included in the string output. The member name will be present, but the 2349 // value will be replaced with "sensitive". 2350 func (s AudioParameters) String() string { 2351 return awsutil.Prettify(s) 2352 } 2353 2354 // GoString returns the string representation. 2355 // 2356 // API parameter values that are decorated as "sensitive" in the API will not 2357 // be included in the string output. The member name will be present, but the 2358 // value will be replaced with "sensitive". 2359 func (s AudioParameters) GoString() string { 2360 return s.String() 2361 } 2362 2363 // SetAudioPackingMode sets the AudioPackingMode field's value. 2364 func (s *AudioParameters) SetAudioPackingMode(v string) *AudioParameters { 2365 s.AudioPackingMode = &v 2366 return s 2367 } 2368 2369 // SetBitRate sets the BitRate field's value. 2370 func (s *AudioParameters) SetBitRate(v string) *AudioParameters { 2371 s.BitRate = &v 2372 return s 2373 } 2374 2375 // SetChannels sets the Channels field's value. 2376 func (s *AudioParameters) SetChannels(v string) *AudioParameters { 2377 s.Channels = &v 2378 return s 2379 } 2380 2381 // SetCodec sets the Codec field's value. 2382 func (s *AudioParameters) SetCodec(v string) *AudioParameters { 2383 s.Codec = &v 2384 return s 2385 } 2386 2387 // SetCodecOptions sets the CodecOptions field's value. 2388 func (s *AudioParameters) SetCodecOptions(v *AudioCodecOptions) *AudioParameters { 2389 s.CodecOptions = v 2390 return s 2391 } 2392 2393 // SetSampleRate sets the SampleRate field's value. 2394 func (s *AudioParameters) SetSampleRate(v string) *AudioParameters { 2395 s.SampleRate = &v 2396 return s 2397 } 2398 2399 // The CancelJobRequest structure. 2400 type CancelJobInput struct { 2401 _ struct{} `type:"structure" nopayload:"true"` 2402 2403 // The identifier of the job that you want to cancel. 2404 // 2405 // To get a list of the jobs (including their jobId) that have a status of Submitted, 2406 // use the ListJobsByStatus API action. 2407 // 2408 // Id is a required field 2409 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 2410 } 2411 2412 // String returns the string representation. 2413 // 2414 // API parameter values that are decorated as "sensitive" in the API will not 2415 // be included in the string output. The member name will be present, but the 2416 // value will be replaced with "sensitive". 2417 func (s CancelJobInput) String() string { 2418 return awsutil.Prettify(s) 2419 } 2420 2421 // GoString returns the string representation. 2422 // 2423 // API parameter values that are decorated as "sensitive" in the API will not 2424 // be included in the string output. The member name will be present, but the 2425 // value will be replaced with "sensitive". 2426 func (s CancelJobInput) GoString() string { 2427 return s.String() 2428 } 2429 2430 // Validate inspects the fields of the type to determine if they are valid. 2431 func (s *CancelJobInput) Validate() error { 2432 invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"} 2433 if s.Id == nil { 2434 invalidParams.Add(request.NewErrParamRequired("Id")) 2435 } 2436 if s.Id != nil && len(*s.Id) < 1 { 2437 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 2438 } 2439 2440 if invalidParams.Len() > 0 { 2441 return invalidParams 2442 } 2443 return nil 2444 } 2445 2446 // SetId sets the Id field's value. 2447 func (s *CancelJobInput) SetId(v string) *CancelJobInput { 2448 s.Id = &v 2449 return s 2450 } 2451 2452 // The response body contains a JSON object. If the job is successfully canceled, 2453 // the value of Success is true. 2454 type CancelJobOutput struct { 2455 _ struct{} `type:"structure" nopayload:"true"` 2456 } 2457 2458 // String returns the string representation. 2459 // 2460 // API parameter values that are decorated as "sensitive" in the API will not 2461 // be included in the string output. The member name will be present, but the 2462 // value will be replaced with "sensitive". 2463 func (s CancelJobOutput) String() string { 2464 return awsutil.Prettify(s) 2465 } 2466 2467 // GoString returns the string representation. 2468 // 2469 // API parameter values that are decorated as "sensitive" in the API will not 2470 // be included in the string output. The member name will be present, but the 2471 // value will be replaced with "sensitive". 2472 func (s CancelJobOutput) GoString() string { 2473 return s.String() 2474 } 2475 2476 // The file format of the output captions. If you leave this value blank, Elastic 2477 // Transcoder returns an error. 2478 type CaptionFormat struct { 2479 _ struct{} `type:"structure"` 2480 2481 // The encryption settings, if any, that you want Elastic Transcoder to apply 2482 // to your caption formats. 2483 Encryption *Encryption `type:"structure"` 2484 2485 // The format you specify determines whether Elastic Transcoder generates an 2486 // embedded or sidecar caption for this output. 2487 // 2488 // * Valid Embedded Caption Formats: for FLAC: None For MP3: None For MP4: 2489 // mov-text For MPEG-TS: None For ogg: None For webm: None 2490 // 2491 // * Valid Sidecar Caption Formats: Elastic Transcoder supports dfxp (first 2492 // div element only), scc, srt, and webvtt. If you want ttml or smpte-tt 2493 // compatible captions, specify dfxp as your output format. For FMP4: dfxp 2494 // Non-FMP4 outputs: All sidecar types fmp4 captions have an extension of 2495 // .ismt 2496 Format *string `type:"string"` 2497 2498 // The prefix for caption filenames, in the form description-{language}, where: 2499 // 2500 // * description is a description of the video. 2501 // 2502 // * {language} is a literal value that Elastic Transcoder replaces with 2503 // the two- or three-letter code for the language of the caption in the output 2504 // file names. 2505 // 2506 // If you don't include {language} in the file name pattern, Elastic Transcoder 2507 // automatically appends "{language}" to the value that you specify for the 2508 // description. In addition, Elastic Transcoder automatically appends the count 2509 // to the end of the segment files. 2510 // 2511 // For example, suppose you're transcoding into srt format. When you enter "Sydney-{language}-sunrise", 2512 // and the language of the captions is English (en), the name of the first caption 2513 // file is be Sydney-en-sunrise00000.srt. 2514 Pattern *string `type:"string"` 2515 } 2516 2517 // String returns the string representation. 2518 // 2519 // API parameter values that are decorated as "sensitive" in the API will not 2520 // be included in the string output. The member name will be present, but the 2521 // value will be replaced with "sensitive". 2522 func (s CaptionFormat) String() string { 2523 return awsutil.Prettify(s) 2524 } 2525 2526 // GoString returns the string representation. 2527 // 2528 // API parameter values that are decorated as "sensitive" in the API will not 2529 // be included in the string output. The member name will be present, but the 2530 // value will be replaced with "sensitive". 2531 func (s CaptionFormat) GoString() string { 2532 return s.String() 2533 } 2534 2535 // SetEncryption sets the Encryption field's value. 2536 func (s *CaptionFormat) SetEncryption(v *Encryption) *CaptionFormat { 2537 s.Encryption = v 2538 return s 2539 } 2540 2541 // SetFormat sets the Format field's value. 2542 func (s *CaptionFormat) SetFormat(v string) *CaptionFormat { 2543 s.Format = &v 2544 return s 2545 } 2546 2547 // SetPattern sets the Pattern field's value. 2548 func (s *CaptionFormat) SetPattern(v string) *CaptionFormat { 2549 s.Pattern = &v 2550 return s 2551 } 2552 2553 // A source file for the input sidecar captions used during the transcoding 2554 // process. 2555 type CaptionSource struct { 2556 _ struct{} `type:"structure"` 2557 2558 // The encryption settings, if any, that Elastic Transcoder needs to decyrpt 2559 // your caption sources, or that you want Elastic Transcoder to apply to your 2560 // caption sources. 2561 Encryption *Encryption `type:"structure"` 2562 2563 // The name of the sidecar caption file that you want Elastic Transcoder to 2564 // include in the output file. 2565 Key *string `min:"1" type:"string"` 2566 2567 // The label of the caption shown in the player when choosing a language. We 2568 // recommend that you put the caption language name here, in the language of 2569 // the captions. 2570 Label *string `min:"1" type:"string"` 2571 2572 // A string that specifies the language of the caption. If you specified multiple 2573 // inputs with captions, the caption language must match in order to be included 2574 // in the output. Specify this as one of: 2575 // 2576 // * 2-character ISO 639-1 code 2577 // 2578 // * 3-character ISO 639-2 code 2579 // 2580 // For more information on ISO language codes and language names, see the List 2581 // of ISO 639-1 codes. 2582 Language *string `min:"1" type:"string"` 2583 2584 // For clip generation or captions that do not start at the same time as the 2585 // associated video file, the TimeOffset tells Elastic Transcoder how much of 2586 // the video to encode before including captions. 2587 // 2588 // Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss. 2589 TimeOffset *string `type:"string"` 2590 } 2591 2592 // String returns the string representation. 2593 // 2594 // API parameter values that are decorated as "sensitive" in the API will not 2595 // be included in the string output. The member name will be present, but the 2596 // value will be replaced with "sensitive". 2597 func (s CaptionSource) String() string { 2598 return awsutil.Prettify(s) 2599 } 2600 2601 // GoString returns the string representation. 2602 // 2603 // API parameter values that are decorated as "sensitive" in the API will not 2604 // be included in the string output. The member name will be present, but the 2605 // value will be replaced with "sensitive". 2606 func (s CaptionSource) GoString() string { 2607 return s.String() 2608 } 2609 2610 // Validate inspects the fields of the type to determine if they are valid. 2611 func (s *CaptionSource) Validate() error { 2612 invalidParams := request.ErrInvalidParams{Context: "CaptionSource"} 2613 if s.Key != nil && len(*s.Key) < 1 { 2614 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 2615 } 2616 if s.Label != nil && len(*s.Label) < 1 { 2617 invalidParams.Add(request.NewErrParamMinLen("Label", 1)) 2618 } 2619 if s.Language != nil && len(*s.Language) < 1 { 2620 invalidParams.Add(request.NewErrParamMinLen("Language", 1)) 2621 } 2622 2623 if invalidParams.Len() > 0 { 2624 return invalidParams 2625 } 2626 return nil 2627 } 2628 2629 // SetEncryption sets the Encryption field's value. 2630 func (s *CaptionSource) SetEncryption(v *Encryption) *CaptionSource { 2631 s.Encryption = v 2632 return s 2633 } 2634 2635 // SetKey sets the Key field's value. 2636 func (s *CaptionSource) SetKey(v string) *CaptionSource { 2637 s.Key = &v 2638 return s 2639 } 2640 2641 // SetLabel sets the Label field's value. 2642 func (s *CaptionSource) SetLabel(v string) *CaptionSource { 2643 s.Label = &v 2644 return s 2645 } 2646 2647 // SetLanguage sets the Language field's value. 2648 func (s *CaptionSource) SetLanguage(v string) *CaptionSource { 2649 s.Language = &v 2650 return s 2651 } 2652 2653 // SetTimeOffset sets the TimeOffset field's value. 2654 func (s *CaptionSource) SetTimeOffset(v string) *CaptionSource { 2655 s.TimeOffset = &v 2656 return s 2657 } 2658 2659 // The captions to be created, if any. 2660 type Captions struct { 2661 _ struct{} `type:"structure"` 2662 2663 // The array of file formats for the output captions. If you leave this value 2664 // blank, Elastic Transcoder returns an error. 2665 CaptionFormats []*CaptionFormat `type:"list"` 2666 2667 // Source files for the input sidecar captions used during the transcoding process. 2668 // To omit all sidecar captions, leave CaptionSources blank. 2669 // 2670 // Deprecated: CaptionSources has been deprecated 2671 CaptionSources []*CaptionSource `deprecated:"true" type:"list"` 2672 2673 // A policy that determines how Elastic Transcoder handles the existence of 2674 // multiple captions. 2675 // 2676 // * MergeOverride: Elastic Transcoder transcodes both embedded and sidecar 2677 // captions into outputs. If captions for a language are embedded in the 2678 // input file and also appear in a sidecar file, Elastic Transcoder uses 2679 // the sidecar captions and ignores the embedded captions for that language. 2680 // 2681 // * MergeRetain: Elastic Transcoder transcodes both embedded and sidecar 2682 // captions into outputs. If captions for a language are embedded in the 2683 // input file and also appear in a sidecar file, Elastic Transcoder uses 2684 // the embedded captions and ignores the sidecar captions for that language. 2685 // If CaptionSources is empty, Elastic Transcoder omits all sidecar captions 2686 // from the output files. 2687 // 2688 // * Override: Elastic Transcoder transcodes only the sidecar captions that 2689 // you specify in CaptionSources. 2690 // 2691 // MergePolicy cannot be null. 2692 // 2693 // Deprecated: MergePolicy has been deprecated 2694 MergePolicy *string `deprecated:"true" type:"string"` 2695 } 2696 2697 // String returns the string representation. 2698 // 2699 // API parameter values that are decorated as "sensitive" in the API will not 2700 // be included in the string output. The member name will be present, but the 2701 // value will be replaced with "sensitive". 2702 func (s Captions) String() string { 2703 return awsutil.Prettify(s) 2704 } 2705 2706 // GoString returns the string representation. 2707 // 2708 // API parameter values that are decorated as "sensitive" in the API will not 2709 // be included in the string output. The member name will be present, but the 2710 // value will be replaced with "sensitive". 2711 func (s Captions) GoString() string { 2712 return s.String() 2713 } 2714 2715 // Validate inspects the fields of the type to determine if they are valid. 2716 func (s *Captions) Validate() error { 2717 invalidParams := request.ErrInvalidParams{Context: "Captions"} 2718 if s.CaptionSources != nil { 2719 for i, v := range s.CaptionSources { 2720 if v == nil { 2721 continue 2722 } 2723 if err := v.Validate(); err != nil { 2724 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSources", i), err.(request.ErrInvalidParams)) 2725 } 2726 } 2727 } 2728 2729 if invalidParams.Len() > 0 { 2730 return invalidParams 2731 } 2732 return nil 2733 } 2734 2735 // SetCaptionFormats sets the CaptionFormats field's value. 2736 func (s *Captions) SetCaptionFormats(v []*CaptionFormat) *Captions { 2737 s.CaptionFormats = v 2738 return s 2739 } 2740 2741 // SetCaptionSources sets the CaptionSources field's value. 2742 func (s *Captions) SetCaptionSources(v []*CaptionSource) *Captions { 2743 s.CaptionSources = v 2744 return s 2745 } 2746 2747 // SetMergePolicy sets the MergePolicy field's value. 2748 func (s *Captions) SetMergePolicy(v string) *Captions { 2749 s.MergePolicy = &v 2750 return s 2751 } 2752 2753 // Settings for one clip in a composition. All jobs in a playlist must have 2754 // the same clip settings. 2755 // 2756 // Deprecated: Clip has been deprecated 2757 type Clip struct { 2758 _ struct{} `deprecated:"true" type:"structure"` 2759 2760 // Settings that determine when a clip begins and how long it lasts. 2761 TimeSpan *TimeSpan `type:"structure"` 2762 } 2763 2764 // String returns the string representation. 2765 // 2766 // API parameter values that are decorated as "sensitive" in the API will not 2767 // be included in the string output. The member name will be present, but the 2768 // value will be replaced with "sensitive". 2769 func (s Clip) String() string { 2770 return awsutil.Prettify(s) 2771 } 2772 2773 // GoString returns the string representation. 2774 // 2775 // API parameter values that are decorated as "sensitive" in the API will not 2776 // be included in the string output. The member name will be present, but the 2777 // value will be replaced with "sensitive". 2778 func (s Clip) GoString() string { 2779 return s.String() 2780 } 2781 2782 // SetTimeSpan sets the TimeSpan field's value. 2783 func (s *Clip) SetTimeSpan(v *TimeSpan) *Clip { 2784 s.TimeSpan = v 2785 return s 2786 } 2787 2788 // The CreateJobRequest structure. 2789 type CreateJobInput struct { 2790 _ struct{} `type:"structure"` 2791 2792 // A section of the request body that provides information about the file that 2793 // is being transcoded. 2794 Input *JobInput `type:"structure"` 2795 2796 // A section of the request body that provides information about the files that 2797 // are being transcoded. 2798 Inputs []*JobInput `type:"list"` 2799 2800 // A section of the request body that provides information about the transcoded 2801 // (target) file. We strongly recommend that you use the Outputs syntax instead 2802 // of the Output syntax. 2803 Output *CreateJobOutput `type:"structure"` 2804 2805 // The value, if any, that you want Elastic Transcoder to prepend to the names 2806 // of all files that this job creates, including output files, thumbnails, and 2807 // playlists. 2808 OutputKeyPrefix *string `min:"1" type:"string"` 2809 2810 // A section of the request body that provides information about the transcoded 2811 // (target) files. We recommend that you use the Outputs syntax instead of the 2812 // Output syntax. 2813 Outputs []*CreateJobOutput `type:"list"` 2814 2815 // The Id of the pipeline that you want Elastic Transcoder to use for transcoding. 2816 // The pipeline determines several settings, including the Amazon S3 bucket 2817 // from which Elastic Transcoder gets the files to transcode and the bucket 2818 // into which Elastic Transcoder puts the transcoded files. 2819 // 2820 // PipelineId is a required field 2821 PipelineId *string `type:"string" required:"true"` 2822 2823 // If you specify a preset in PresetId for which the value of Container is fmp4 2824 // (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the 2825 // master playlists that you want Elastic Transcoder to create. 2826 // 2827 // The maximum number of master playlists in a job is 30. 2828 Playlists []*CreateJobPlaylist `type:"list"` 2829 2830 // User-defined metadata that you want to associate with an Elastic Transcoder 2831 // job. You specify metadata in key/value pairs, and you can add up to 10 key/value 2832 // pairs per job. Elastic Transcoder does not guarantee that key/value pairs 2833 // are returned in the same order in which you specify them. 2834 UserMetadata map[string]*string `type:"map"` 2835 } 2836 2837 // String returns the string representation. 2838 // 2839 // API parameter values that are decorated as "sensitive" in the API will not 2840 // be included in the string output. The member name will be present, but the 2841 // value will be replaced with "sensitive". 2842 func (s CreateJobInput) String() string { 2843 return awsutil.Prettify(s) 2844 } 2845 2846 // GoString returns the string representation. 2847 // 2848 // API parameter values that are decorated as "sensitive" in the API will not 2849 // be included in the string output. The member name will be present, but the 2850 // value will be replaced with "sensitive". 2851 func (s CreateJobInput) GoString() string { 2852 return s.String() 2853 } 2854 2855 // Validate inspects the fields of the type to determine if they are valid. 2856 func (s *CreateJobInput) Validate() error { 2857 invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} 2858 if s.OutputKeyPrefix != nil && len(*s.OutputKeyPrefix) < 1 { 2859 invalidParams.Add(request.NewErrParamMinLen("OutputKeyPrefix", 1)) 2860 } 2861 if s.PipelineId == nil { 2862 invalidParams.Add(request.NewErrParamRequired("PipelineId")) 2863 } 2864 if s.Input != nil { 2865 if err := s.Input.Validate(); err != nil { 2866 invalidParams.AddNested("Input", err.(request.ErrInvalidParams)) 2867 } 2868 } 2869 if s.Inputs != nil { 2870 for i, v := range s.Inputs { 2871 if v == nil { 2872 continue 2873 } 2874 if err := v.Validate(); err != nil { 2875 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Inputs", i), err.(request.ErrInvalidParams)) 2876 } 2877 } 2878 } 2879 if s.Output != nil { 2880 if err := s.Output.Validate(); err != nil { 2881 invalidParams.AddNested("Output", err.(request.ErrInvalidParams)) 2882 } 2883 } 2884 if s.Outputs != nil { 2885 for i, v := range s.Outputs { 2886 if v == nil { 2887 continue 2888 } 2889 if err := v.Validate(); err != nil { 2890 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) 2891 } 2892 } 2893 } 2894 if s.Playlists != nil { 2895 for i, v := range s.Playlists { 2896 if v == nil { 2897 continue 2898 } 2899 if err := v.Validate(); err != nil { 2900 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Playlists", i), err.(request.ErrInvalidParams)) 2901 } 2902 } 2903 } 2904 2905 if invalidParams.Len() > 0 { 2906 return invalidParams 2907 } 2908 return nil 2909 } 2910 2911 // SetInput sets the Input field's value. 2912 func (s *CreateJobInput) SetInput(v *JobInput) *CreateJobInput { 2913 s.Input = v 2914 return s 2915 } 2916 2917 // SetInputs sets the Inputs field's value. 2918 func (s *CreateJobInput) SetInputs(v []*JobInput) *CreateJobInput { 2919 s.Inputs = v 2920 return s 2921 } 2922 2923 // SetOutput sets the Output field's value. 2924 func (s *CreateJobInput) SetOutput(v *CreateJobOutput) *CreateJobInput { 2925 s.Output = v 2926 return s 2927 } 2928 2929 // SetOutputKeyPrefix sets the OutputKeyPrefix field's value. 2930 func (s *CreateJobInput) SetOutputKeyPrefix(v string) *CreateJobInput { 2931 s.OutputKeyPrefix = &v 2932 return s 2933 } 2934 2935 // SetOutputs sets the Outputs field's value. 2936 func (s *CreateJobInput) SetOutputs(v []*CreateJobOutput) *CreateJobInput { 2937 s.Outputs = v 2938 return s 2939 } 2940 2941 // SetPipelineId sets the PipelineId field's value. 2942 func (s *CreateJobInput) SetPipelineId(v string) *CreateJobInput { 2943 s.PipelineId = &v 2944 return s 2945 } 2946 2947 // SetPlaylists sets the Playlists field's value. 2948 func (s *CreateJobInput) SetPlaylists(v []*CreateJobPlaylist) *CreateJobInput { 2949 s.Playlists = v 2950 return s 2951 } 2952 2953 // SetUserMetadata sets the UserMetadata field's value. 2954 func (s *CreateJobInput) SetUserMetadata(v map[string]*string) *CreateJobInput { 2955 s.UserMetadata = v 2956 return s 2957 } 2958 2959 // The CreateJobOutput structure. 2960 type CreateJobOutput struct { 2961 _ struct{} `type:"structure"` 2962 2963 // Information about the album art that you want Elastic Transcoder to add to 2964 // the file during transcoding. You can specify up to twenty album artworks 2965 // for each output. Settings for each artwork must be defined in the job for 2966 // the current output. 2967 AlbumArt *JobAlbumArt `type:"structure"` 2968 2969 // You can configure Elastic Transcoder to transcode captions, or subtitles, 2970 // from one format to another. All captions must be in UTF-8. Elastic Transcoder 2971 // supports two types of captions: 2972 // 2973 // * Embedded: Embedded captions are included in the same file as the audio 2974 // and video. Elastic Transcoder supports only one embedded caption per language, 2975 // to a maximum of 300 embedded captions per file. Valid input values include: 2976 // CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first 2977 // non-empty channel only), and mov-text Valid outputs include: mov-text 2978 // Elastic Transcoder supports a maximum of one embedded format per output. 2979 // 2980 // * Sidecar: Sidecar captions are kept in a separate metadata file from 2981 // the audio and video data. Sidecar captions require a player that is capable 2982 // of understanding the relationship between the video file and the sidecar 2983 // file. Elastic Transcoder supports only one sidecar caption per language, 2984 // to a maximum of 20 sidecar captions per file. Valid input values include: 2985 // dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div 2986 // element only), and webvtt Valid outputs include: dfxp (first div element 2987 // only), scc, srt, and webvtt. 2988 // 2989 // If you want ttml or smpte-tt compatible captions, specify dfxp as your output 2990 // format. 2991 // 2992 // Elastic Transcoder does not support OCR (Optical Character Recognition), 2993 // does not accept pictures as a valid input for captions, and is not available 2994 // for audio-only transcoding. Elastic Transcoder does not preserve text formatting 2995 // (for example, italics) during the transcoding process. 2996 // 2997 // To remove captions or leave the captions empty, set Captions to null. To 2998 // pass through existing captions unchanged, set the MergePolicy to MergeRetain, 2999 // and pass in a null CaptionSources array. 3000 // 3001 // For more information on embedded files, see the Subtitles Wikipedia page. 3002 // 3003 // For more information on sidecar files, see the Extensible Metadata Platform 3004 // and Sidecar file Wikipedia pages. 3005 Captions *Captions `type:"structure"` 3006 3007 // You can create an output file that contains an excerpt from the input file. 3008 // This excerpt, called a clip, can come from the beginning, middle, or end 3009 // of the file. The Composition object contains settings for the clips that 3010 // make up an output file. For the current release, you can only specify settings 3011 // for a single clip per output file. The Composition object cannot be null. 3012 // 3013 // Deprecated: Composition has been deprecated 3014 Composition []*Clip `deprecated:"true" type:"list"` 3015 3016 // You can specify encryption settings for any output files that you want to 3017 // use for a transcoding job. This includes the output file and any watermarks, 3018 // thumbnails, album art, or captions that you want to use. You must specify 3019 // encryption settings for each file individually. 3020 Encryption *Encryption `type:"structure"` 3021 3022 // The name to assign to the transcoded file. Elastic Transcoder saves the file 3023 // in the Amazon S3 bucket specified by the OutputBucket object in the pipeline 3024 // that is specified by the pipeline ID. If a file with the specified name already 3025 // exists in the output bucket, the job fails. 3026 Key *string `min:"1" type:"string"` 3027 3028 // The Id of the preset to use for this job. The preset determines the audio, 3029 // video, and thumbnail settings that Elastic Transcoder uses for transcoding. 3030 PresetId *string `type:"string"` 3031 3032 // The number of degrees clockwise by which you want Elastic Transcoder to rotate 3033 // the output relative to the input. Enter one of the following values: auto, 3034 // 0, 90, 180, 270. The value auto generally works only if the file that you're 3035 // transcoding contains rotation metadata. 3036 Rotate *string `type:"string"` 3037 3038 // 3039 // (Outputs in Fragmented MP4 or MPEG-TS format only. 3040 // 3041 // If you specify a preset in PresetId for which the value of Container is fmp4 3042 // (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration 3043 // of each segment in seconds. For HLSv3 format playlists, each media segment 3044 // is stored in a separate .ts file. For HLSv4 and Smooth playlists, all media 3045 // segments for an output are stored in a single file. Each segment is approximately 3046 // the length of the SegmentDuration, though individual segments might be shorter 3047 // or longer. 3048 // 3049 // The range of valid values is 1 to 60 seconds. If the duration of the video 3050 // is not evenly divisible by SegmentDuration, the duration of the last segment 3051 // is the remainder of total length/SegmentDuration. 3052 // 3053 // Elastic Transcoder creates an output-specific playlist for each output HLS 3054 // output that you specify in OutputKeys. To add an output to the master playlist 3055 // for this job, include it in the OutputKeys of the associated playlist. 3056 SegmentDuration *string `type:"string"` 3057 3058 // The encryption settings, if any, that you want Elastic Transcoder to apply 3059 // to your thumbnail. 3060 ThumbnailEncryption *Encryption `type:"structure"` 3061 3062 // Whether you want Elastic Transcoder to create thumbnails for your videos 3063 // and, if so, how you want Elastic Transcoder to name the files. 3064 // 3065 // If you don't want Elastic Transcoder to create thumbnails, specify "". 3066 // 3067 // If you do want Elastic Transcoder to create thumbnails, specify the information 3068 // that you want to include in the file name for each thumbnail. You can specify 3069 // the following values in any sequence: 3070 // 3071 // * {count} (Required): If you want to create thumbnails, you must include 3072 // {count} in the ThumbnailPattern object. Wherever you specify {count}, 3073 // Elastic Transcoder adds a five-digit sequence number (beginning with 00001) 3074 // to thumbnail file names. The number indicates where a given thumbnail 3075 // appears in the sequence of thumbnails for a transcoded file. If you specify 3076 // a literal value and/or {resolution} but you omit {count}, Elastic Transcoder 3077 // returns a validation error and does not create the job. 3078 // 3079 // * Literal values (Optional): You can specify literal values anywhere in 3080 // the ThumbnailPattern object. For example, you can include them as a file 3081 // name prefix or as a delimiter between {resolution} and {count}. 3082 // 3083 // * {resolution} (Optional): If you want Elastic Transcoder to include the 3084 // resolution in the file name, include {resolution} in the ThumbnailPattern 3085 // object. 3086 // 3087 // When creating thumbnails, Elastic Transcoder automatically saves the files 3088 // in the format (.jpg or .png) that appears in the preset that you specified 3089 // in the PresetID value of CreateJobOutput. Elastic Transcoder also appends 3090 // the applicable file name extension. 3091 ThumbnailPattern *string `type:"string"` 3092 3093 // Information about the watermarks that you want Elastic Transcoder to add 3094 // to the video during transcoding. You can specify up to four watermarks for 3095 // each output. Settings for each watermark must be defined in the preset for 3096 // the current output. 3097 Watermarks []*JobWatermark `type:"list"` 3098 } 3099 3100 // String returns the string representation. 3101 // 3102 // API parameter values that are decorated as "sensitive" in the API will not 3103 // be included in the string output. The member name will be present, but the 3104 // value will be replaced with "sensitive". 3105 func (s CreateJobOutput) String() string { 3106 return awsutil.Prettify(s) 3107 } 3108 3109 // GoString returns the string representation. 3110 // 3111 // API parameter values that are decorated as "sensitive" in the API will not 3112 // be included in the string output. The member name will be present, but the 3113 // value will be replaced with "sensitive". 3114 func (s CreateJobOutput) GoString() string { 3115 return s.String() 3116 } 3117 3118 // Validate inspects the fields of the type to determine if they are valid. 3119 func (s *CreateJobOutput) Validate() error { 3120 invalidParams := request.ErrInvalidParams{Context: "CreateJobOutput"} 3121 if s.Key != nil && len(*s.Key) < 1 { 3122 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 3123 } 3124 if s.AlbumArt != nil { 3125 if err := s.AlbumArt.Validate(); err != nil { 3126 invalidParams.AddNested("AlbumArt", err.(request.ErrInvalidParams)) 3127 } 3128 } 3129 if s.Captions != nil { 3130 if err := s.Captions.Validate(); err != nil { 3131 invalidParams.AddNested("Captions", err.(request.ErrInvalidParams)) 3132 } 3133 } 3134 if s.Watermarks != nil { 3135 for i, v := range s.Watermarks { 3136 if v == nil { 3137 continue 3138 } 3139 if err := v.Validate(); err != nil { 3140 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Watermarks", i), err.(request.ErrInvalidParams)) 3141 } 3142 } 3143 } 3144 3145 if invalidParams.Len() > 0 { 3146 return invalidParams 3147 } 3148 return nil 3149 } 3150 3151 // SetAlbumArt sets the AlbumArt field's value. 3152 func (s *CreateJobOutput) SetAlbumArt(v *JobAlbumArt) *CreateJobOutput { 3153 s.AlbumArt = v 3154 return s 3155 } 3156 3157 // SetCaptions sets the Captions field's value. 3158 func (s *CreateJobOutput) SetCaptions(v *Captions) *CreateJobOutput { 3159 s.Captions = v 3160 return s 3161 } 3162 3163 // SetComposition sets the Composition field's value. 3164 func (s *CreateJobOutput) SetComposition(v []*Clip) *CreateJobOutput { 3165 s.Composition = v 3166 return s 3167 } 3168 3169 // SetEncryption sets the Encryption field's value. 3170 func (s *CreateJobOutput) SetEncryption(v *Encryption) *CreateJobOutput { 3171 s.Encryption = v 3172 return s 3173 } 3174 3175 // SetKey sets the Key field's value. 3176 func (s *CreateJobOutput) SetKey(v string) *CreateJobOutput { 3177 s.Key = &v 3178 return s 3179 } 3180 3181 // SetPresetId sets the PresetId field's value. 3182 func (s *CreateJobOutput) SetPresetId(v string) *CreateJobOutput { 3183 s.PresetId = &v 3184 return s 3185 } 3186 3187 // SetRotate sets the Rotate field's value. 3188 func (s *CreateJobOutput) SetRotate(v string) *CreateJobOutput { 3189 s.Rotate = &v 3190 return s 3191 } 3192 3193 // SetSegmentDuration sets the SegmentDuration field's value. 3194 func (s *CreateJobOutput) SetSegmentDuration(v string) *CreateJobOutput { 3195 s.SegmentDuration = &v 3196 return s 3197 } 3198 3199 // SetThumbnailEncryption sets the ThumbnailEncryption field's value. 3200 func (s *CreateJobOutput) SetThumbnailEncryption(v *Encryption) *CreateJobOutput { 3201 s.ThumbnailEncryption = v 3202 return s 3203 } 3204 3205 // SetThumbnailPattern sets the ThumbnailPattern field's value. 3206 func (s *CreateJobOutput) SetThumbnailPattern(v string) *CreateJobOutput { 3207 s.ThumbnailPattern = &v 3208 return s 3209 } 3210 3211 // SetWatermarks sets the Watermarks field's value. 3212 func (s *CreateJobOutput) SetWatermarks(v []*JobWatermark) *CreateJobOutput { 3213 s.Watermarks = v 3214 return s 3215 } 3216 3217 // Information about the master playlist. 3218 type CreateJobPlaylist struct { 3219 _ struct{} `type:"structure"` 3220 3221 // The format of the output playlist. Valid formats include HLSv3, HLSv4, and 3222 // Smooth. 3223 Format *string `type:"string"` 3224 3225 // The HLS content protection settings, if any, that you want Elastic Transcoder 3226 // to apply to the output files associated with this playlist. 3227 HlsContentProtection *HlsContentProtection `type:"structure"` 3228 3229 // The name that you want Elastic Transcoder to assign to the master playlist, 3230 // for example, nyc-vacation.m3u8. If the name includes a / character, the section 3231 // of the name before the last / must be identical for all Name objects. If 3232 // you create more than one master playlist, the values of all Name objects 3233 // must be unique. 3234 // 3235 // Elastic Transcoder automatically appends the relevant file extension to the 3236 // file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth 3237 // playlists). If you include a file extension in Name, the file name will have 3238 // two extensions. 3239 Name *string `min:"1" type:"string"` 3240 3241 // For each output in this job that you want to include in a master playlist, 3242 // the value of the Outputs:Key object. 3243 // 3244 // * If your output is not HLS or does not have a segment duration set, the 3245 // name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key: 3246 // OutputKeyPrefixOutputs:Key 3247 // 3248 // * If your output is HLSv3 and has a segment duration set, or is not included 3249 // in a playlist, Elastic Transcoder creates an output playlist file with 3250 // a file extension of .m3u8, and a series of .ts files that include a five-digit 3251 // sequential counter beginning with 00000: OutputKeyPrefixOutputs:Key.m3u8 3252 // OutputKeyPrefixOutputs:Key00000.ts 3253 // 3254 // * If your output is HLSv4, has a segment duration set, and is included 3255 // in an HLSv4 playlist, Elastic Transcoder creates an output playlist file 3256 // with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder 3257 // also creates an output file with an extension of _iframe.m3u8: OutputKeyPrefixOutputs:Key_v4.m3u8 3258 // OutputKeyPrefixOutputs:Key_iframe.m3u8 OutputKeyPrefixOutputs:Key.ts 3259 // 3260 // Elastic Transcoder automatically appends the relevant file extension to the 3261 // file name. If you include a file extension in Output Key, the file name will 3262 // have two extensions. 3263 // 3264 // If you include more than one output in a playlist, any segment duration settings, 3265 // clip settings, or caption settings must be the same for all outputs in the 3266 // playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate 3267 // to Video:KeyframesMaxDist ratio must be the same for all outputs. 3268 OutputKeys []*string `type:"list"` 3269 3270 // The DRM settings, if any, that you want Elastic Transcoder to apply to the 3271 // output files associated with this playlist. 3272 PlayReadyDrm *PlayReadyDrm `type:"structure"` 3273 } 3274 3275 // String returns the string representation. 3276 // 3277 // API parameter values that are decorated as "sensitive" in the API will not 3278 // be included in the string output. The member name will be present, but the 3279 // value will be replaced with "sensitive". 3280 func (s CreateJobPlaylist) String() string { 3281 return awsutil.Prettify(s) 3282 } 3283 3284 // GoString returns the string representation. 3285 // 3286 // API parameter values that are decorated as "sensitive" in the API will not 3287 // be included in the string output. The member name will be present, but the 3288 // value will be replaced with "sensitive". 3289 func (s CreateJobPlaylist) GoString() string { 3290 return s.String() 3291 } 3292 3293 // Validate inspects the fields of the type to determine if they are valid. 3294 func (s *CreateJobPlaylist) Validate() error { 3295 invalidParams := request.ErrInvalidParams{Context: "CreateJobPlaylist"} 3296 if s.Name != nil && len(*s.Name) < 1 { 3297 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3298 } 3299 if s.PlayReadyDrm != nil { 3300 if err := s.PlayReadyDrm.Validate(); err != nil { 3301 invalidParams.AddNested("PlayReadyDrm", err.(request.ErrInvalidParams)) 3302 } 3303 } 3304 3305 if invalidParams.Len() > 0 { 3306 return invalidParams 3307 } 3308 return nil 3309 } 3310 3311 // SetFormat sets the Format field's value. 3312 func (s *CreateJobPlaylist) SetFormat(v string) *CreateJobPlaylist { 3313 s.Format = &v 3314 return s 3315 } 3316 3317 // SetHlsContentProtection sets the HlsContentProtection field's value. 3318 func (s *CreateJobPlaylist) SetHlsContentProtection(v *HlsContentProtection) *CreateJobPlaylist { 3319 s.HlsContentProtection = v 3320 return s 3321 } 3322 3323 // SetName sets the Name field's value. 3324 func (s *CreateJobPlaylist) SetName(v string) *CreateJobPlaylist { 3325 s.Name = &v 3326 return s 3327 } 3328 3329 // SetOutputKeys sets the OutputKeys field's value. 3330 func (s *CreateJobPlaylist) SetOutputKeys(v []*string) *CreateJobPlaylist { 3331 s.OutputKeys = v 3332 return s 3333 } 3334 3335 // SetPlayReadyDrm sets the PlayReadyDrm field's value. 3336 func (s *CreateJobPlaylist) SetPlayReadyDrm(v *PlayReadyDrm) *CreateJobPlaylist { 3337 s.PlayReadyDrm = v 3338 return s 3339 } 3340 3341 // The CreateJobResponse structure. 3342 type CreateJobResponse struct { 3343 _ struct{} `type:"structure"` 3344 3345 // A section of the response body that provides information about the job that 3346 // is created. 3347 Job *Job `type:"structure"` 3348 } 3349 3350 // String returns the string representation. 3351 // 3352 // API parameter values that are decorated as "sensitive" in the API will not 3353 // be included in the string output. The member name will be present, but the 3354 // value will be replaced with "sensitive". 3355 func (s CreateJobResponse) String() string { 3356 return awsutil.Prettify(s) 3357 } 3358 3359 // GoString returns the string representation. 3360 // 3361 // API parameter values that are decorated as "sensitive" in the API will not 3362 // be included in the string output. The member name will be present, but the 3363 // value will be replaced with "sensitive". 3364 func (s CreateJobResponse) GoString() string { 3365 return s.String() 3366 } 3367 3368 // SetJob sets the Job field's value. 3369 func (s *CreateJobResponse) SetJob(v *Job) *CreateJobResponse { 3370 s.Job = v 3371 return s 3372 } 3373 3374 // The CreatePipelineRequest structure. 3375 type CreatePipelineInput struct { 3376 _ struct{} `type:"structure"` 3377 3378 // The AWS Key Management Service (AWS KMS) key that you want to use with this 3379 // pipeline. 3380 // 3381 // If you use either s3 or s3-aws-kms as your Encryption:Mode, you don't need 3382 // to provide a key with your job because a default key, known as an AWS-KMS 3383 // key, is created for you automatically. You need to provide an AWS-KMS key 3384 // only if you want to use a non-default AWS-KMS key, or if you are using an 3385 // Encryption:Mode of aes-cbc-pkcs7, aes-ctr, or aes-gcm. 3386 AwsKmsKeyArn *string `type:"string"` 3387 3388 // The optional ContentConfig object specifies information about the Amazon 3389 // S3 bucket in which you want Elastic Transcoder to save transcoded files and 3390 // playlists: which bucket to use, which users you want to have access to the 3391 // files, the type of access you want users to have, and the storage class that 3392 // you want to assign to the files. 3393 // 3394 // If you specify values for ContentConfig, you must also specify values for 3395 // ThumbnailConfig. 3396 // 3397 // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket 3398 // object. 3399 // 3400 // * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to 3401 // save transcoded files and playlists. 3402 // 3403 // * Permissions (Optional): The Permissions object specifies which users 3404 // you want to have access to transcoded files and the type of access you 3405 // want them to have. You can grant permissions to a maximum of 30 users 3406 // and/or predefined Amazon S3 groups. 3407 // 3408 // * Grantee Type: Specify the type of value that appears in the Grantee 3409 // object: Canonical: The value in the Grantee object is either the canonical 3410 // user ID for an AWS account or an origin access identity for an Amazon 3411 // CloudFront distribution. For more information about canonical user IDs, 3412 // see Access Control List (ACL) Overview in the Amazon Simple Storage Service 3413 // Developer Guide. For more information about using CloudFront origin access 3414 // identities to require that users use CloudFront URLs instead of Amazon 3415 // S3 URLs, see Using an Origin Access Identity to Restrict Access to Your 3416 // Amazon S3 Content. A canonical user ID is not the same as an AWS account 3417 // number. Email: The value in the Grantee object is the registered email 3418 // address of an AWS account. Group: The value in the Grantee object is one 3419 // of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, 3420 // or LogDelivery. 3421 // 3422 // * Grantee: The AWS user or group that you want to have access to transcoded 3423 // files and playlists. To identify the user or group, you can specify the 3424 // canonical user ID for an AWS account, an origin access identity for a 3425 // CloudFront distribution, the registered email address of an AWS account, 3426 // or a predefined Amazon S3 group 3427 // 3428 // * Access: The permission that you want to give to the AWS user that you 3429 // specified in Grantee. Permissions are granted on the files that Elastic 3430 // Transcoder adds to the bucket, including playlists and video files. Valid 3431 // values include: READ: The grantee can read the objects and metadata for 3432 // objects that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP: 3433 // The grantee can read the object ACL for objects that Elastic Transcoder 3434 // adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL 3435 // for the objects that Elastic Transcoder adds to the Amazon S3 bucket. 3436 // FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions 3437 // for the objects that Elastic Transcoder adds to the Amazon S3 bucket. 3438 // 3439 // * StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, 3440 // that you want Elastic Transcoder to assign to the video files and playlists 3441 // that it stores in your Amazon S3 bucket. 3442 ContentConfig *PipelineOutputConfig `type:"structure"` 3443 3444 // The Amazon S3 bucket in which you saved the media files that you want to 3445 // transcode. 3446 // 3447 // InputBucket is a required field 3448 InputBucket *string `type:"string" required:"true"` 3449 3450 // The name of the pipeline. We recommend that the name be unique within the 3451 // AWS account, but uniqueness is not enforced. 3452 // 3453 // Constraints: Maximum 40 characters. 3454 // 3455 // Name is a required field 3456 Name *string `min:"1" type:"string" required:"true"` 3457 3458 // The Amazon Simple Notification Service (Amazon SNS) topic that you want to 3459 // notify to report job status. 3460 // 3461 // To receive notifications, you must also subscribe to the new topic in the 3462 // Amazon SNS console. 3463 // 3464 // * Progressing: The topic ARN for the Amazon Simple Notification Service 3465 // (Amazon SNS) topic that you want to notify when Elastic Transcoder has 3466 // started to process a job in this pipeline. This is the ARN that Amazon 3467 // SNS returned when you created the topic. For more information, see Create 3468 // a Topic in the Amazon Simple Notification Service Developer Guide. 3469 // 3470 // * Complete: The topic ARN for the Amazon SNS topic that you want to notify 3471 // when Elastic Transcoder has finished processing a job in this pipeline. 3472 // This is the ARN that Amazon SNS returned when you created the topic. 3473 // 3474 // * Warning: The topic ARN for the Amazon SNS topic that you want to notify 3475 // when Elastic Transcoder encounters a warning condition while processing 3476 // a job in this pipeline. This is the ARN that Amazon SNS returned when 3477 // you created the topic. 3478 // 3479 // * Error: The topic ARN for the Amazon SNS topic that you want to notify 3480 // when Elastic Transcoder encounters an error condition while processing 3481 // a job in this pipeline. This is the ARN that Amazon SNS returned when 3482 // you created the topic. 3483 Notifications *Notifications `type:"structure"` 3484 3485 // The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded 3486 // files. (Use this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.) 3487 // 3488 // Specify this value when all of the following are true: 3489 // 3490 // * You want to save transcoded files, thumbnails (if any), and playlists 3491 // (if any) together in one bucket. 3492 // 3493 // * You do not want to specify the users or groups who have access to the 3494 // transcoded files, thumbnails, and playlists. 3495 // 3496 // * You do not want to specify the permissions that Elastic Transcoder grants 3497 // to the files. When Elastic Transcoder saves files in OutputBucket, it 3498 // grants full control over the files only to the AWS account that owns the 3499 // role that is specified by Role. 3500 // 3501 // * You want to associate the transcoded files and thumbnails with the Amazon 3502 // S3 Standard storage class. 3503 // 3504 // If you want to save transcoded files and playlists in one bucket and thumbnails 3505 // in another bucket, specify which users can access the transcoded files or 3506 // the permissions the users have, or change the Amazon S3 storage class, omit 3507 // OutputBucket and specify values for ContentConfig and ThumbnailConfig instead. 3508 OutputBucket *string `type:"string"` 3509 3510 // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder 3511 // to use to create the pipeline. 3512 // 3513 // Role is a required field 3514 Role *string `type:"string" required:"true"` 3515 3516 // The ThumbnailConfig object specifies several values, including the Amazon 3517 // S3 bucket in which you want Elastic Transcoder to save thumbnail files, which 3518 // users you want to have access to the files, the type of access you want users 3519 // to have, and the storage class that you want to assign to the files. 3520 // 3521 // If you specify values for ContentConfig, you must also specify values for 3522 // ThumbnailConfig even if you don't want to create thumbnails. 3523 // 3524 // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket 3525 // object. 3526 // 3527 // * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to 3528 // save thumbnail files. 3529 // 3530 // * Permissions (Optional): The Permissions object specifies which users 3531 // and/or predefined Amazon S3 groups you want to have access to thumbnail 3532 // files, and the type of access you want them to have. You can grant permissions 3533 // to a maximum of 30 users and/or predefined Amazon S3 groups. 3534 // 3535 // * GranteeType: Specify the type of value that appears in the Grantee object: 3536 // Canonical: The value in the Grantee object is either the canonical user 3537 // ID for an AWS account or an origin access identity for an Amazon CloudFront 3538 // distribution. A canonical user ID is not the same as an AWS account number. 3539 // Email: The value in the Grantee object is the registered email address 3540 // of an AWS account. Group: The value in the Grantee object is one of the 3541 // following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or 3542 // LogDelivery. 3543 // 3544 // * Grantee: The AWS user or group that you want to have access to thumbnail 3545 // files. To identify the user or group, you can specify the canonical user 3546 // ID for an AWS account, an origin access identity for a CloudFront distribution, 3547 // the registered email address of an AWS account, or a predefined Amazon 3548 // S3 group. 3549 // 3550 // * Access: The permission that you want to give to the AWS user that you 3551 // specified in Grantee. Permissions are granted on the thumbnail files that 3552 // Elastic Transcoder adds to the bucket. Valid values include: READ: The 3553 // grantee can read the thumbnails and metadata for objects that Elastic 3554 // Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read 3555 // the object ACL for thumbnails that Elastic Transcoder adds to the Amazon 3556 // S3 bucket. WRITE_ACP: The grantee can write the ACL for the thumbnails 3557 // that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The 3558 // grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails 3559 // that Elastic Transcoder adds to the Amazon S3 bucket. 3560 // 3561 // * StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, 3562 // that you want Elastic Transcoder to assign to the thumbnails that it stores 3563 // in your Amazon S3 bucket. 3564 ThumbnailConfig *PipelineOutputConfig `type:"structure"` 3565 } 3566 3567 // String returns the string representation. 3568 // 3569 // API parameter values that are decorated as "sensitive" in the API will not 3570 // be included in the string output. The member name will be present, but the 3571 // value will be replaced with "sensitive". 3572 func (s CreatePipelineInput) String() string { 3573 return awsutil.Prettify(s) 3574 } 3575 3576 // GoString returns the string representation. 3577 // 3578 // API parameter values that are decorated as "sensitive" in the API will not 3579 // be included in the string output. The member name will be present, but the 3580 // value will be replaced with "sensitive". 3581 func (s CreatePipelineInput) GoString() string { 3582 return s.String() 3583 } 3584 3585 // Validate inspects the fields of the type to determine if they are valid. 3586 func (s *CreatePipelineInput) Validate() error { 3587 invalidParams := request.ErrInvalidParams{Context: "CreatePipelineInput"} 3588 if s.InputBucket == nil { 3589 invalidParams.Add(request.NewErrParamRequired("InputBucket")) 3590 } 3591 if s.Name == nil { 3592 invalidParams.Add(request.NewErrParamRequired("Name")) 3593 } 3594 if s.Name != nil && len(*s.Name) < 1 { 3595 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3596 } 3597 if s.Role == nil { 3598 invalidParams.Add(request.NewErrParamRequired("Role")) 3599 } 3600 if s.ContentConfig != nil { 3601 if err := s.ContentConfig.Validate(); err != nil { 3602 invalidParams.AddNested("ContentConfig", err.(request.ErrInvalidParams)) 3603 } 3604 } 3605 if s.ThumbnailConfig != nil { 3606 if err := s.ThumbnailConfig.Validate(); err != nil { 3607 invalidParams.AddNested("ThumbnailConfig", err.(request.ErrInvalidParams)) 3608 } 3609 } 3610 3611 if invalidParams.Len() > 0 { 3612 return invalidParams 3613 } 3614 return nil 3615 } 3616 3617 // SetAwsKmsKeyArn sets the AwsKmsKeyArn field's value. 3618 func (s *CreatePipelineInput) SetAwsKmsKeyArn(v string) *CreatePipelineInput { 3619 s.AwsKmsKeyArn = &v 3620 return s 3621 } 3622 3623 // SetContentConfig sets the ContentConfig field's value. 3624 func (s *CreatePipelineInput) SetContentConfig(v *PipelineOutputConfig) *CreatePipelineInput { 3625 s.ContentConfig = v 3626 return s 3627 } 3628 3629 // SetInputBucket sets the InputBucket field's value. 3630 func (s *CreatePipelineInput) SetInputBucket(v string) *CreatePipelineInput { 3631 s.InputBucket = &v 3632 return s 3633 } 3634 3635 // SetName sets the Name field's value. 3636 func (s *CreatePipelineInput) SetName(v string) *CreatePipelineInput { 3637 s.Name = &v 3638 return s 3639 } 3640 3641 // SetNotifications sets the Notifications field's value. 3642 func (s *CreatePipelineInput) SetNotifications(v *Notifications) *CreatePipelineInput { 3643 s.Notifications = v 3644 return s 3645 } 3646 3647 // SetOutputBucket sets the OutputBucket field's value. 3648 func (s *CreatePipelineInput) SetOutputBucket(v string) *CreatePipelineInput { 3649 s.OutputBucket = &v 3650 return s 3651 } 3652 3653 // SetRole sets the Role field's value. 3654 func (s *CreatePipelineInput) SetRole(v string) *CreatePipelineInput { 3655 s.Role = &v 3656 return s 3657 } 3658 3659 // SetThumbnailConfig sets the ThumbnailConfig field's value. 3660 func (s *CreatePipelineInput) SetThumbnailConfig(v *PipelineOutputConfig) *CreatePipelineInput { 3661 s.ThumbnailConfig = v 3662 return s 3663 } 3664 3665 // When you create a pipeline, Elastic Transcoder returns the values that you 3666 // specified in the request. 3667 type CreatePipelineOutput struct { 3668 _ struct{} `type:"structure"` 3669 3670 // A section of the response body that provides information about the pipeline 3671 // that is created. 3672 Pipeline *Pipeline `type:"structure"` 3673 3674 // Elastic Transcoder returns a warning if the resources used by your pipeline 3675 // are not in the same region as the pipeline. 3676 // 3677 // Using resources in the same region, such as your Amazon S3 buckets, Amazon 3678 // SNS notification topics, and AWS KMS key, reduces processing time and prevents 3679 // cross-regional charges. 3680 Warnings []*Warning `type:"list"` 3681 } 3682 3683 // String returns the string representation. 3684 // 3685 // API parameter values that are decorated as "sensitive" in the API will not 3686 // be included in the string output. The member name will be present, but the 3687 // value will be replaced with "sensitive". 3688 func (s CreatePipelineOutput) String() string { 3689 return awsutil.Prettify(s) 3690 } 3691 3692 // GoString returns the string representation. 3693 // 3694 // API parameter values that are decorated as "sensitive" in the API will not 3695 // be included in the string output. The member name will be present, but the 3696 // value will be replaced with "sensitive". 3697 func (s CreatePipelineOutput) GoString() string { 3698 return s.String() 3699 } 3700 3701 // SetPipeline sets the Pipeline field's value. 3702 func (s *CreatePipelineOutput) SetPipeline(v *Pipeline) *CreatePipelineOutput { 3703 s.Pipeline = v 3704 return s 3705 } 3706 3707 // SetWarnings sets the Warnings field's value. 3708 func (s *CreatePipelineOutput) SetWarnings(v []*Warning) *CreatePipelineOutput { 3709 s.Warnings = v 3710 return s 3711 } 3712 3713 // The CreatePresetRequest structure. 3714 type CreatePresetInput struct { 3715 _ struct{} `type:"structure"` 3716 3717 // A section of the request body that specifies the audio parameters. 3718 Audio *AudioParameters `type:"structure"` 3719 3720 // The container type for the output file. Valid values include flac, flv, fmp4, 3721 // gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm. 3722 // 3723 // Container is a required field 3724 Container *string `type:"string" required:"true"` 3725 3726 // A description of the preset. 3727 Description *string `type:"string"` 3728 3729 // The name of the preset. We recommend that the name be unique within the AWS 3730 // account, but uniqueness is not enforced. 3731 // 3732 // Name is a required field 3733 Name *string `min:"1" type:"string" required:"true"` 3734 3735 // A section of the request body that specifies the thumbnail parameters, if 3736 // any. 3737 Thumbnails *Thumbnails `type:"structure"` 3738 3739 // A section of the request body that specifies the video parameters. 3740 Video *VideoParameters `type:"structure"` 3741 } 3742 3743 // String returns the string representation. 3744 // 3745 // API parameter values that are decorated as "sensitive" in the API will not 3746 // be included in the string output. The member name will be present, but the 3747 // value will be replaced with "sensitive". 3748 func (s CreatePresetInput) String() string { 3749 return awsutil.Prettify(s) 3750 } 3751 3752 // GoString returns the string representation. 3753 // 3754 // API parameter values that are decorated as "sensitive" in the API will not 3755 // be included in the string output. The member name will be present, but the 3756 // value will be replaced with "sensitive". 3757 func (s CreatePresetInput) GoString() string { 3758 return s.String() 3759 } 3760 3761 // Validate inspects the fields of the type to determine if they are valid. 3762 func (s *CreatePresetInput) Validate() error { 3763 invalidParams := request.ErrInvalidParams{Context: "CreatePresetInput"} 3764 if s.Container == nil { 3765 invalidParams.Add(request.NewErrParamRequired("Container")) 3766 } 3767 if s.Name == nil { 3768 invalidParams.Add(request.NewErrParamRequired("Name")) 3769 } 3770 if s.Name != nil && len(*s.Name) < 1 { 3771 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3772 } 3773 if s.Video != nil { 3774 if err := s.Video.Validate(); err != nil { 3775 invalidParams.AddNested("Video", err.(request.ErrInvalidParams)) 3776 } 3777 } 3778 3779 if invalidParams.Len() > 0 { 3780 return invalidParams 3781 } 3782 return nil 3783 } 3784 3785 // SetAudio sets the Audio field's value. 3786 func (s *CreatePresetInput) SetAudio(v *AudioParameters) *CreatePresetInput { 3787 s.Audio = v 3788 return s 3789 } 3790 3791 // SetContainer sets the Container field's value. 3792 func (s *CreatePresetInput) SetContainer(v string) *CreatePresetInput { 3793 s.Container = &v 3794 return s 3795 } 3796 3797 // SetDescription sets the Description field's value. 3798 func (s *CreatePresetInput) SetDescription(v string) *CreatePresetInput { 3799 s.Description = &v 3800 return s 3801 } 3802 3803 // SetName sets the Name field's value. 3804 func (s *CreatePresetInput) SetName(v string) *CreatePresetInput { 3805 s.Name = &v 3806 return s 3807 } 3808 3809 // SetThumbnails sets the Thumbnails field's value. 3810 func (s *CreatePresetInput) SetThumbnails(v *Thumbnails) *CreatePresetInput { 3811 s.Thumbnails = v 3812 return s 3813 } 3814 3815 // SetVideo sets the Video field's value. 3816 func (s *CreatePresetInput) SetVideo(v *VideoParameters) *CreatePresetInput { 3817 s.Video = v 3818 return s 3819 } 3820 3821 // The CreatePresetResponse structure. 3822 type CreatePresetOutput struct { 3823 _ struct{} `type:"structure"` 3824 3825 // A section of the response body that provides information about the preset 3826 // that is created. 3827 Preset *Preset `type:"structure"` 3828 3829 // If the preset settings don't comply with the standards for the video codec 3830 // but Elastic Transcoder created the preset, this message explains the reason 3831 // the preset settings don't meet the standard. Elastic Transcoder created the 3832 // preset because the settings might produce acceptable output. 3833 Warning *string `type:"string"` 3834 } 3835 3836 // String returns the string representation. 3837 // 3838 // API parameter values that are decorated as "sensitive" in the API will not 3839 // be included in the string output. The member name will be present, but the 3840 // value will be replaced with "sensitive". 3841 func (s CreatePresetOutput) String() string { 3842 return awsutil.Prettify(s) 3843 } 3844 3845 // GoString returns the string representation. 3846 // 3847 // API parameter values that are decorated as "sensitive" in the API will not 3848 // be included in the string output. The member name will be present, but the 3849 // value will be replaced with "sensitive". 3850 func (s CreatePresetOutput) GoString() string { 3851 return s.String() 3852 } 3853 3854 // SetPreset sets the Preset field's value. 3855 func (s *CreatePresetOutput) SetPreset(v *Preset) *CreatePresetOutput { 3856 s.Preset = v 3857 return s 3858 } 3859 3860 // SetWarning sets the Warning field's value. 3861 func (s *CreatePresetOutput) SetWarning(v string) *CreatePresetOutput { 3862 s.Warning = &v 3863 return s 3864 } 3865 3866 // The DeletePipelineRequest structure. 3867 type DeletePipelineInput struct { 3868 _ struct{} `type:"structure" nopayload:"true"` 3869 3870 // The identifier of the pipeline that you want to delete. 3871 // 3872 // Id is a required field 3873 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 3874 } 3875 3876 // String returns the string representation. 3877 // 3878 // API parameter values that are decorated as "sensitive" in the API will not 3879 // be included in the string output. The member name will be present, but the 3880 // value will be replaced with "sensitive". 3881 func (s DeletePipelineInput) String() string { 3882 return awsutil.Prettify(s) 3883 } 3884 3885 // GoString returns the string representation. 3886 // 3887 // API parameter values that are decorated as "sensitive" in the API will not 3888 // be included in the string output. The member name will be present, but the 3889 // value will be replaced with "sensitive". 3890 func (s DeletePipelineInput) GoString() string { 3891 return s.String() 3892 } 3893 3894 // Validate inspects the fields of the type to determine if they are valid. 3895 func (s *DeletePipelineInput) Validate() error { 3896 invalidParams := request.ErrInvalidParams{Context: "DeletePipelineInput"} 3897 if s.Id == nil { 3898 invalidParams.Add(request.NewErrParamRequired("Id")) 3899 } 3900 if s.Id != nil && len(*s.Id) < 1 { 3901 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3902 } 3903 3904 if invalidParams.Len() > 0 { 3905 return invalidParams 3906 } 3907 return nil 3908 } 3909 3910 // SetId sets the Id field's value. 3911 func (s *DeletePipelineInput) SetId(v string) *DeletePipelineInput { 3912 s.Id = &v 3913 return s 3914 } 3915 3916 // The DeletePipelineResponse structure. 3917 type DeletePipelineOutput struct { 3918 _ struct{} `type:"structure" nopayload:"true"` 3919 } 3920 3921 // String returns the string representation. 3922 // 3923 // API parameter values that are decorated as "sensitive" in the API will not 3924 // be included in the string output. The member name will be present, but the 3925 // value will be replaced with "sensitive". 3926 func (s DeletePipelineOutput) String() string { 3927 return awsutil.Prettify(s) 3928 } 3929 3930 // GoString returns the string representation. 3931 // 3932 // API parameter values that are decorated as "sensitive" in the API will not 3933 // be included in the string output. The member name will be present, but the 3934 // value will be replaced with "sensitive". 3935 func (s DeletePipelineOutput) GoString() string { 3936 return s.String() 3937 } 3938 3939 // The DeletePresetRequest structure. 3940 type DeletePresetInput struct { 3941 _ struct{} `type:"structure" nopayload:"true"` 3942 3943 // The identifier of the preset for which you want to get detailed information. 3944 // 3945 // Id is a required field 3946 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 3947 } 3948 3949 // String returns the string representation. 3950 // 3951 // API parameter values that are decorated as "sensitive" in the API will not 3952 // be included in the string output. The member name will be present, but the 3953 // value will be replaced with "sensitive". 3954 func (s DeletePresetInput) String() string { 3955 return awsutil.Prettify(s) 3956 } 3957 3958 // GoString returns the string representation. 3959 // 3960 // API parameter values that are decorated as "sensitive" in the API will not 3961 // be included in the string output. The member name will be present, but the 3962 // value will be replaced with "sensitive". 3963 func (s DeletePresetInput) GoString() string { 3964 return s.String() 3965 } 3966 3967 // Validate inspects the fields of the type to determine if they are valid. 3968 func (s *DeletePresetInput) Validate() error { 3969 invalidParams := request.ErrInvalidParams{Context: "DeletePresetInput"} 3970 if s.Id == nil { 3971 invalidParams.Add(request.NewErrParamRequired("Id")) 3972 } 3973 if s.Id != nil && len(*s.Id) < 1 { 3974 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3975 } 3976 3977 if invalidParams.Len() > 0 { 3978 return invalidParams 3979 } 3980 return nil 3981 } 3982 3983 // SetId sets the Id field's value. 3984 func (s *DeletePresetInput) SetId(v string) *DeletePresetInput { 3985 s.Id = &v 3986 return s 3987 } 3988 3989 // The DeletePresetResponse structure. 3990 type DeletePresetOutput struct { 3991 _ struct{} `type:"structure" nopayload:"true"` 3992 } 3993 3994 // String returns the string representation. 3995 // 3996 // API parameter values that are decorated as "sensitive" in the API will not 3997 // be included in the string output. The member name will be present, but the 3998 // value will be replaced with "sensitive". 3999 func (s DeletePresetOutput) String() string { 4000 return awsutil.Prettify(s) 4001 } 4002 4003 // GoString returns the string representation. 4004 // 4005 // API parameter values that are decorated as "sensitive" in the API will not 4006 // be included in the string output. The member name will be present, but the 4007 // value will be replaced with "sensitive". 4008 func (s DeletePresetOutput) GoString() string { 4009 return s.String() 4010 } 4011 4012 // The detected properties of the input file. Elastic Transcoder identifies 4013 // these values from the input file. 4014 type DetectedProperties struct { 4015 _ struct{} `type:"structure"` 4016 4017 // The detected duration of the input file, in milliseconds. 4018 DurationMillis *int64 `type:"long"` 4019 4020 // The detected file size of the input file, in bytes. 4021 FileSize *int64 `type:"long"` 4022 4023 // The detected frame rate of the input file, in frames per second. 4024 FrameRate *string `type:"string"` 4025 4026 // The detected height of the input file, in pixels. 4027 Height *int64 `type:"integer"` 4028 4029 // The detected width of the input file, in pixels. 4030 Width *int64 `type:"integer"` 4031 } 4032 4033 // String returns the string representation. 4034 // 4035 // API parameter values that are decorated as "sensitive" in the API will not 4036 // be included in the string output. The member name will be present, but the 4037 // value will be replaced with "sensitive". 4038 func (s DetectedProperties) String() string { 4039 return awsutil.Prettify(s) 4040 } 4041 4042 // GoString returns the string representation. 4043 // 4044 // API parameter values that are decorated as "sensitive" in the API will not 4045 // be included in the string output. The member name will be present, but the 4046 // value will be replaced with "sensitive". 4047 func (s DetectedProperties) GoString() string { 4048 return s.String() 4049 } 4050 4051 // SetDurationMillis sets the DurationMillis field's value. 4052 func (s *DetectedProperties) SetDurationMillis(v int64) *DetectedProperties { 4053 s.DurationMillis = &v 4054 return s 4055 } 4056 4057 // SetFileSize sets the FileSize field's value. 4058 func (s *DetectedProperties) SetFileSize(v int64) *DetectedProperties { 4059 s.FileSize = &v 4060 return s 4061 } 4062 4063 // SetFrameRate sets the FrameRate field's value. 4064 func (s *DetectedProperties) SetFrameRate(v string) *DetectedProperties { 4065 s.FrameRate = &v 4066 return s 4067 } 4068 4069 // SetHeight sets the Height field's value. 4070 func (s *DetectedProperties) SetHeight(v int64) *DetectedProperties { 4071 s.Height = &v 4072 return s 4073 } 4074 4075 // SetWidth sets the Width field's value. 4076 func (s *DetectedProperties) SetWidth(v int64) *DetectedProperties { 4077 s.Width = &v 4078 return s 4079 } 4080 4081 // The encryption settings, if any, that are used for decrypting your input 4082 // files or encrypting your output files. If your input file is encrypted, you 4083 // must specify the mode that Elastic Transcoder uses to decrypt your file, 4084 // otherwise you must specify the mode you want Elastic Transcoder to use to 4085 // encrypt your output files. 4086 type Encryption struct { 4087 _ struct{} `type:"structure"` 4088 4089 // The series of random bits created by a random bit generator, unique for every 4090 // encryption operation, that you used to encrypt your input files or that you 4091 // want Elastic Transcoder to use to encrypt your output files. The initialization 4092 // vector must be base64-encoded, and it must be exactly 16 bytes long before 4093 // being base64-encoded. 4094 InitializationVector *string `type:"string"` 4095 4096 // The data encryption key that you want Elastic Transcoder to use to encrypt 4097 // your output file, or that was used to encrypt your input file. The key must 4098 // be base64-encoded and it must be one of the following bit lengths before 4099 // being base64-encoded: 4100 // 4101 // 128, 192, or 256. 4102 // 4103 // The key must also be encrypted by using the Amazon Key Management Service. 4104 Key *string `type:"string"` 4105 4106 // The MD5 digest of the key that you used to encrypt your input file, or that 4107 // you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder 4108 // uses the key digest as a checksum to make sure your key was not corrupted 4109 // in transit. The key MD5 must be base64-encoded, and it must be exactly 16 4110 // bytes long before being base64-encoded. 4111 KeyMd5 *string `type:"string"` 4112 4113 // The specific server-side encryption mode that you want Elastic Transcoder 4114 // to use when decrypting your input files or encrypting your output files. 4115 // Elastic Transcoder supports the following options: 4116 // 4117 // * s3: Amazon S3 creates and manages the keys used for encrypting your 4118 // files. 4119 // 4120 // * s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which 4121 // creates and manages the keys that are used for encrypting your files. 4122 // If you specify s3-aws-kms and you don't want to use the default key, you 4123 // must add the AWS-KMS key that you want to use to your pipeline. 4124 // 4125 // * aes-cbc-pkcs7: A padded cipher-block mode of operation originally used 4126 // for HLS files. 4127 // 4128 // * aes-ctr: AES Counter Mode. 4129 // 4130 // * aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated 4131 // encryption format, meaning that a file, key, or initialization vector 4132 // that has been tampered with fails the decryption process. 4133 // 4134 // For all three AES options, you must provide the following settings, which 4135 // must be base64-encoded: 4136 // 4137 // * Key 4138 // 4139 // * Key MD5 4140 // 4141 // * Initialization Vector 4142 // 4143 // For the AES modes, your private encryption keys and your unencrypted data 4144 // are never stored by AWS; therefore, it is important that you safely manage 4145 // your encryption keys. If you lose them, you won't be able to unencrypt your 4146 // data. 4147 Mode *string `type:"string"` 4148 } 4149 4150 // String returns the string representation. 4151 // 4152 // API parameter values that are decorated as "sensitive" in the API will not 4153 // be included in the string output. The member name will be present, but the 4154 // value will be replaced with "sensitive". 4155 func (s Encryption) String() string { 4156 return awsutil.Prettify(s) 4157 } 4158 4159 // GoString returns the string representation. 4160 // 4161 // API parameter values that are decorated as "sensitive" in the API will not 4162 // be included in the string output. The member name will be present, but the 4163 // value will be replaced with "sensitive". 4164 func (s Encryption) GoString() string { 4165 return s.String() 4166 } 4167 4168 // SetInitializationVector sets the InitializationVector field's value. 4169 func (s *Encryption) SetInitializationVector(v string) *Encryption { 4170 s.InitializationVector = &v 4171 return s 4172 } 4173 4174 // SetKey sets the Key field's value. 4175 func (s *Encryption) SetKey(v string) *Encryption { 4176 s.Key = &v 4177 return s 4178 } 4179 4180 // SetKeyMd5 sets the KeyMd5 field's value. 4181 func (s *Encryption) SetKeyMd5(v string) *Encryption { 4182 s.KeyMd5 = &v 4183 return s 4184 } 4185 4186 // SetMode sets the Mode field's value. 4187 func (s *Encryption) SetMode(v string) *Encryption { 4188 s.Mode = &v 4189 return s 4190 } 4191 4192 // The HLS content protection settings, if any, that you want Elastic Transcoder 4193 // to apply to your output files. 4194 type HlsContentProtection struct { 4195 _ struct{} `type:"structure"` 4196 4197 // If Elastic Transcoder is generating your key for you, you must leave this 4198 // field blank. 4199 // 4200 // The series of random bits created by a random bit generator, unique for every 4201 // encryption operation, that you want Elastic Transcoder to use to encrypt 4202 // your output files. The initialization vector must be base64-encoded, and 4203 // it must be exactly 16 bytes before being base64-encoded. 4204 InitializationVector *string `type:"string"` 4205 4206 // If you want Elastic Transcoder to generate a key for you, leave this field 4207 // blank. 4208 // 4209 // If you choose to supply your own key, you must encrypt the key by using AWS 4210 // KMS. The key must be base64-encoded, and it must be one of the following 4211 // bit lengths before being base64-encoded: 4212 // 4213 // 128, 192, or 256. 4214 Key *string `type:"string"` 4215 4216 // If Elastic Transcoder is generating your key for you, you must leave this 4217 // field blank. 4218 // 4219 // The MD5 digest of the key that you want Elastic Transcoder to use to encrypt 4220 // your output file, and that you want Elastic Transcoder to use as a checksum 4221 // to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, 4222 // and it must be exactly 16 bytes before being base64- encoded. 4223 KeyMd5 *string `type:"string"` 4224 4225 // Specify whether you want Elastic Transcoder to write your HLS license key 4226 // to an Amazon S3 bucket. If you choose WithVariantPlaylists, LicenseAcquisitionUrl 4227 // must be left blank and Elastic Transcoder writes your data key into the same 4228 // bucket as the associated playlist. 4229 KeyStoragePolicy *string `type:"string"` 4230 4231 // The location of the license key required to decrypt your HLS playlist. The 4232 // URL must be an absolute path, and is referenced in the URI attribute of the 4233 // EXT-X-KEY metadata tag in the playlist file. 4234 LicenseAcquisitionUrl *string `type:"string"` 4235 4236 // The content protection method for your output. The only valid value is: aes-128. 4237 // 4238 // This value is written into the method attribute of the EXT-X-KEY metadata 4239 // tag in the output playlist. 4240 Method *string `type:"string"` 4241 } 4242 4243 // String returns the string representation. 4244 // 4245 // API parameter values that are decorated as "sensitive" in the API will not 4246 // be included in the string output. The member name will be present, but the 4247 // value will be replaced with "sensitive". 4248 func (s HlsContentProtection) String() string { 4249 return awsutil.Prettify(s) 4250 } 4251 4252 // GoString returns the string representation. 4253 // 4254 // API parameter values that are decorated as "sensitive" in the API will not 4255 // be included in the string output. The member name will be present, but the 4256 // value will be replaced with "sensitive". 4257 func (s HlsContentProtection) GoString() string { 4258 return s.String() 4259 } 4260 4261 // SetInitializationVector sets the InitializationVector field's value. 4262 func (s *HlsContentProtection) SetInitializationVector(v string) *HlsContentProtection { 4263 s.InitializationVector = &v 4264 return s 4265 } 4266 4267 // SetKey sets the Key field's value. 4268 func (s *HlsContentProtection) SetKey(v string) *HlsContentProtection { 4269 s.Key = &v 4270 return s 4271 } 4272 4273 // SetKeyMd5 sets the KeyMd5 field's value. 4274 func (s *HlsContentProtection) SetKeyMd5(v string) *HlsContentProtection { 4275 s.KeyMd5 = &v 4276 return s 4277 } 4278 4279 // SetKeyStoragePolicy sets the KeyStoragePolicy field's value. 4280 func (s *HlsContentProtection) SetKeyStoragePolicy(v string) *HlsContentProtection { 4281 s.KeyStoragePolicy = &v 4282 return s 4283 } 4284 4285 // SetLicenseAcquisitionUrl sets the LicenseAcquisitionUrl field's value. 4286 func (s *HlsContentProtection) SetLicenseAcquisitionUrl(v string) *HlsContentProtection { 4287 s.LicenseAcquisitionUrl = &v 4288 return s 4289 } 4290 4291 // SetMethod sets the Method field's value. 4292 func (s *HlsContentProtection) SetMethod(v string) *HlsContentProtection { 4293 s.Method = &v 4294 return s 4295 } 4296 4297 type IncompatibleVersionException struct { 4298 _ struct{} `type:"structure"` 4299 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4300 4301 Message_ *string `locationName:"message" type:"string"` 4302 } 4303 4304 // String returns the string representation. 4305 // 4306 // API parameter values that are decorated as "sensitive" in the API will not 4307 // be included in the string output. The member name will be present, but the 4308 // value will be replaced with "sensitive". 4309 func (s IncompatibleVersionException) String() string { 4310 return awsutil.Prettify(s) 4311 } 4312 4313 // GoString returns the string representation. 4314 // 4315 // API parameter values that are decorated as "sensitive" in the API will not 4316 // be included in the string output. The member name will be present, but the 4317 // value will be replaced with "sensitive". 4318 func (s IncompatibleVersionException) GoString() string { 4319 return s.String() 4320 } 4321 4322 func newErrorIncompatibleVersionException(v protocol.ResponseMetadata) error { 4323 return &IncompatibleVersionException{ 4324 RespMetadata: v, 4325 } 4326 } 4327 4328 // Code returns the exception type name. 4329 func (s *IncompatibleVersionException) Code() string { 4330 return "IncompatibleVersionException" 4331 } 4332 4333 // Message returns the exception's message. 4334 func (s *IncompatibleVersionException) Message() string { 4335 if s.Message_ != nil { 4336 return *s.Message_ 4337 } 4338 return "" 4339 } 4340 4341 // OrigErr always returns nil, satisfies awserr.Error interface. 4342 func (s *IncompatibleVersionException) OrigErr() error { 4343 return nil 4344 } 4345 4346 func (s *IncompatibleVersionException) Error() string { 4347 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4348 } 4349 4350 // Status code returns the HTTP status code for the request's response error. 4351 func (s *IncompatibleVersionException) StatusCode() int { 4352 return s.RespMetadata.StatusCode 4353 } 4354 4355 // RequestID returns the service's response RequestID for request. 4356 func (s *IncompatibleVersionException) RequestID() string { 4357 return s.RespMetadata.RequestID 4358 } 4359 4360 // The captions to be created, if any. 4361 type InputCaptions struct { 4362 _ struct{} `type:"structure"` 4363 4364 // Source files for the input sidecar captions used during the transcoding process. 4365 // To omit all sidecar captions, leave CaptionSources blank. 4366 CaptionSources []*CaptionSource `type:"list"` 4367 4368 // A policy that determines how Elastic Transcoder handles the existence of 4369 // multiple captions. 4370 // 4371 // * MergeOverride: Elastic Transcoder transcodes both embedded and sidecar 4372 // captions into outputs. If captions for a language are embedded in the 4373 // input file and also appear in a sidecar file, Elastic Transcoder uses 4374 // the sidecar captions and ignores the embedded captions for that language. 4375 // 4376 // * MergeRetain: Elastic Transcoder transcodes both embedded and sidecar 4377 // captions into outputs. If captions for a language are embedded in the 4378 // input file and also appear in a sidecar file, Elastic Transcoder uses 4379 // the embedded captions and ignores the sidecar captions for that language. 4380 // If CaptionSources is empty, Elastic Transcoder omits all sidecar captions 4381 // from the output files. 4382 // 4383 // * Override: Elastic Transcoder transcodes only the sidecar captions that 4384 // you specify in CaptionSources. 4385 // 4386 // MergePolicy cannot be null. 4387 MergePolicy *string `type:"string"` 4388 } 4389 4390 // String returns the string representation. 4391 // 4392 // API parameter values that are decorated as "sensitive" in the API will not 4393 // be included in the string output. The member name will be present, but the 4394 // value will be replaced with "sensitive". 4395 func (s InputCaptions) String() string { 4396 return awsutil.Prettify(s) 4397 } 4398 4399 // GoString returns the string representation. 4400 // 4401 // API parameter values that are decorated as "sensitive" in the API will not 4402 // be included in the string output. The member name will be present, but the 4403 // value will be replaced with "sensitive". 4404 func (s InputCaptions) GoString() string { 4405 return s.String() 4406 } 4407 4408 // Validate inspects the fields of the type to determine if they are valid. 4409 func (s *InputCaptions) Validate() error { 4410 invalidParams := request.ErrInvalidParams{Context: "InputCaptions"} 4411 if s.CaptionSources != nil { 4412 for i, v := range s.CaptionSources { 4413 if v == nil { 4414 continue 4415 } 4416 if err := v.Validate(); err != nil { 4417 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSources", i), err.(request.ErrInvalidParams)) 4418 } 4419 } 4420 } 4421 4422 if invalidParams.Len() > 0 { 4423 return invalidParams 4424 } 4425 return nil 4426 } 4427 4428 // SetCaptionSources sets the CaptionSources field's value. 4429 func (s *InputCaptions) SetCaptionSources(v []*CaptionSource) *InputCaptions { 4430 s.CaptionSources = v 4431 return s 4432 } 4433 4434 // SetMergePolicy sets the MergePolicy field's value. 4435 func (s *InputCaptions) SetMergePolicy(v string) *InputCaptions { 4436 s.MergePolicy = &v 4437 return s 4438 } 4439 4440 // Elastic Transcoder encountered an unexpected exception while trying to fulfill 4441 // the request. 4442 type InternalServiceException struct { 4443 _ struct{} `type:"structure"` 4444 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4445 4446 Message_ *string `locationName:"message" type:"string"` 4447 } 4448 4449 // String returns the string representation. 4450 // 4451 // API parameter values that are decorated as "sensitive" in the API will not 4452 // be included in the string output. The member name will be present, but the 4453 // value will be replaced with "sensitive". 4454 func (s InternalServiceException) String() string { 4455 return awsutil.Prettify(s) 4456 } 4457 4458 // GoString returns the string representation. 4459 // 4460 // API parameter values that are decorated as "sensitive" in the API will not 4461 // be included in the string output. The member name will be present, but the 4462 // value will be replaced with "sensitive". 4463 func (s InternalServiceException) GoString() string { 4464 return s.String() 4465 } 4466 4467 func newErrorInternalServiceException(v protocol.ResponseMetadata) error { 4468 return &InternalServiceException{ 4469 RespMetadata: v, 4470 } 4471 } 4472 4473 // Code returns the exception type name. 4474 func (s *InternalServiceException) Code() string { 4475 return "InternalServiceException" 4476 } 4477 4478 // Message returns the exception's message. 4479 func (s *InternalServiceException) Message() string { 4480 if s.Message_ != nil { 4481 return *s.Message_ 4482 } 4483 return "" 4484 } 4485 4486 // OrigErr always returns nil, satisfies awserr.Error interface. 4487 func (s *InternalServiceException) OrigErr() error { 4488 return nil 4489 } 4490 4491 func (s *InternalServiceException) Error() string { 4492 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4493 } 4494 4495 // Status code returns the HTTP status code for the request's response error. 4496 func (s *InternalServiceException) StatusCode() int { 4497 return s.RespMetadata.StatusCode 4498 } 4499 4500 // RequestID returns the service's response RequestID for request. 4501 func (s *InternalServiceException) RequestID() string { 4502 return s.RespMetadata.RequestID 4503 } 4504 4505 // A section of the response body that provides information about the job that 4506 // is created. 4507 type Job struct { 4508 _ struct{} `type:"structure"` 4509 4510 // The Amazon Resource Name (ARN) for the job. 4511 Arn *string `type:"string"` 4512 4513 // The identifier that Elastic Transcoder assigned to the job. You use this 4514 // value to get settings for the job or to delete the job. 4515 Id *string `type:"string"` 4516 4517 // A section of the request or response body that provides information about 4518 // the file that is being transcoded. 4519 Input *JobInput `type:"structure"` 4520 4521 // Information about the files that you're transcoding. If you specified multiple 4522 // files for this job, Elastic Transcoder stitches the files together to make 4523 // one output. 4524 Inputs []*JobInput `type:"list"` 4525 4526 // If you specified one output for a job, information about that output. If 4527 // you specified multiple outputs for a job, the Output object lists information 4528 // about the first output. This duplicates the information that is listed for 4529 // the first output in the Outputs object. 4530 // 4531 // Outputs recommended instead. 4532 // 4533 // A section of the request or response body that provides information about 4534 // the transcoded (target) file. 4535 Output *JobOutput `type:"structure"` 4536 4537 // The value, if any, that you want Elastic Transcoder to prepend to the names 4538 // of all files that this job creates, including output files, thumbnails, and 4539 // playlists. We recommend that you add a / or some other delimiter to the end 4540 // of the OutputKeyPrefix. 4541 OutputKeyPrefix *string `min:"1" type:"string"` 4542 4543 // Information about the output files. We recommend that you use the Outputs 4544 // syntax for all jobs, even when you want Elastic Transcoder to transcode a 4545 // file into only one format. Do not use both the Outputs and Output syntaxes 4546 // in the same request. You can create a maximum of 30 outputs per job. 4547 // 4548 // If you specify more than one output for a job, Elastic Transcoder creates 4549 // the files for each output in the order in which you specify them in the job. 4550 Outputs []*JobOutput `type:"list"` 4551 4552 // The Id of the pipeline that you want Elastic Transcoder to use for transcoding. 4553 // The pipeline determines several settings, including the Amazon S3 bucket 4554 // from which Elastic Transcoder gets the files to transcode and the bucket 4555 // into which Elastic Transcoder puts the transcoded files. 4556 PipelineId *string `type:"string"` 4557 4558 // 4559 // Outputs in Fragmented MP4 or MPEG-TS format only. 4560 // 4561 // If you specify a preset in PresetId for which the value of Container is fmp4 4562 // (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the 4563 // master playlists that you want Elastic Transcoder to create. 4564 // 4565 // The maximum number of master playlists in a job is 30. 4566 Playlists []*Playlist `type:"list"` 4567 4568 // The status of the job: Submitted, Progressing, Complete, Canceled, or Error. 4569 Status *string `type:"string"` 4570 4571 // Details about the timing of a job. 4572 Timing *Timing `type:"structure"` 4573 4574 // User-defined metadata that you want to associate with an Elastic Transcoder 4575 // job. You specify metadata in key/value pairs, and you can add up to 10 key/value 4576 // pairs per job. Elastic Transcoder does not guarantee that key/value pairs 4577 // are returned in the same order in which you specify them. 4578 // 4579 // Metadata keys and values must use characters from the following list: 4580 // 4581 // * 0-9 4582 // 4583 // * A-Z and a-z 4584 // 4585 // * Space 4586 // 4587 // * The following symbols: _.:/=+-%@ 4588 UserMetadata map[string]*string `type:"map"` 4589 } 4590 4591 // String returns the string representation. 4592 // 4593 // API parameter values that are decorated as "sensitive" in the API will not 4594 // be included in the string output. The member name will be present, but the 4595 // value will be replaced with "sensitive". 4596 func (s Job) String() string { 4597 return awsutil.Prettify(s) 4598 } 4599 4600 // GoString returns the string representation. 4601 // 4602 // API parameter values that are decorated as "sensitive" in the API will not 4603 // be included in the string output. The member name will be present, but the 4604 // value will be replaced with "sensitive". 4605 func (s Job) GoString() string { 4606 return s.String() 4607 } 4608 4609 // SetArn sets the Arn field's value. 4610 func (s *Job) SetArn(v string) *Job { 4611 s.Arn = &v 4612 return s 4613 } 4614 4615 // SetId sets the Id field's value. 4616 func (s *Job) SetId(v string) *Job { 4617 s.Id = &v 4618 return s 4619 } 4620 4621 // SetInput sets the Input field's value. 4622 func (s *Job) SetInput(v *JobInput) *Job { 4623 s.Input = v 4624 return s 4625 } 4626 4627 // SetInputs sets the Inputs field's value. 4628 func (s *Job) SetInputs(v []*JobInput) *Job { 4629 s.Inputs = v 4630 return s 4631 } 4632 4633 // SetOutput sets the Output field's value. 4634 func (s *Job) SetOutput(v *JobOutput) *Job { 4635 s.Output = v 4636 return s 4637 } 4638 4639 // SetOutputKeyPrefix sets the OutputKeyPrefix field's value. 4640 func (s *Job) SetOutputKeyPrefix(v string) *Job { 4641 s.OutputKeyPrefix = &v 4642 return s 4643 } 4644 4645 // SetOutputs sets the Outputs field's value. 4646 func (s *Job) SetOutputs(v []*JobOutput) *Job { 4647 s.Outputs = v 4648 return s 4649 } 4650 4651 // SetPipelineId sets the PipelineId field's value. 4652 func (s *Job) SetPipelineId(v string) *Job { 4653 s.PipelineId = &v 4654 return s 4655 } 4656 4657 // SetPlaylists sets the Playlists field's value. 4658 func (s *Job) SetPlaylists(v []*Playlist) *Job { 4659 s.Playlists = v 4660 return s 4661 } 4662 4663 // SetStatus sets the Status field's value. 4664 func (s *Job) SetStatus(v string) *Job { 4665 s.Status = &v 4666 return s 4667 } 4668 4669 // SetTiming sets the Timing field's value. 4670 func (s *Job) SetTiming(v *Timing) *Job { 4671 s.Timing = v 4672 return s 4673 } 4674 4675 // SetUserMetadata sets the UserMetadata field's value. 4676 func (s *Job) SetUserMetadata(v map[string]*string) *Job { 4677 s.UserMetadata = v 4678 return s 4679 } 4680 4681 // The .jpg or .png file associated with an audio file. 4682 type JobAlbumArt struct { 4683 _ struct{} `type:"structure"` 4684 4685 // The file to be used as album art. There can be multiple artworks associated 4686 // with an audio file, to a maximum of 20. Valid formats are .jpg and .png 4687 Artwork []*Artwork `type:"list"` 4688 4689 // A policy that determines how Elastic Transcoder handles the existence of 4690 // multiple album artwork files. 4691 // 4692 // * Replace: The specified album art replaces any existing album art. 4693 // 4694 // * Prepend: The specified album art is placed in front of any existing 4695 // album art. 4696 // 4697 // * Append: The specified album art is placed after any existing album art. 4698 // 4699 // * Fallback: If the original input file contains artwork, Elastic Transcoder 4700 // uses that artwork for the output. If the original input does not contain 4701 // artwork, Elastic Transcoder uses the specified album art file. 4702 MergePolicy *string `type:"string"` 4703 } 4704 4705 // String returns the string representation. 4706 // 4707 // API parameter values that are decorated as "sensitive" in the API will not 4708 // be included in the string output. The member name will be present, but the 4709 // value will be replaced with "sensitive". 4710 func (s JobAlbumArt) String() string { 4711 return awsutil.Prettify(s) 4712 } 4713 4714 // GoString returns the string representation. 4715 // 4716 // API parameter values that are decorated as "sensitive" in the API will not 4717 // be included in the string output. The member name will be present, but the 4718 // value will be replaced with "sensitive". 4719 func (s JobAlbumArt) GoString() string { 4720 return s.String() 4721 } 4722 4723 // Validate inspects the fields of the type to determine if they are valid. 4724 func (s *JobAlbumArt) Validate() error { 4725 invalidParams := request.ErrInvalidParams{Context: "JobAlbumArt"} 4726 if s.Artwork != nil { 4727 for i, v := range s.Artwork { 4728 if v == nil { 4729 continue 4730 } 4731 if err := v.Validate(); err != nil { 4732 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Artwork", i), err.(request.ErrInvalidParams)) 4733 } 4734 } 4735 } 4736 4737 if invalidParams.Len() > 0 { 4738 return invalidParams 4739 } 4740 return nil 4741 } 4742 4743 // SetArtwork sets the Artwork field's value. 4744 func (s *JobAlbumArt) SetArtwork(v []*Artwork) *JobAlbumArt { 4745 s.Artwork = v 4746 return s 4747 } 4748 4749 // SetMergePolicy sets the MergePolicy field's value. 4750 func (s *JobAlbumArt) SetMergePolicy(v string) *JobAlbumArt { 4751 s.MergePolicy = &v 4752 return s 4753 } 4754 4755 // Information about the file that you're transcoding. 4756 type JobInput struct { 4757 _ struct{} `type:"structure"` 4758 4759 // The aspect ratio of the input file. If you want Elastic Transcoder to automatically 4760 // detect the aspect ratio of the input file, specify auto. If you want to specify 4761 // the aspect ratio for the output file, enter one of the following values: 4762 // 4763 // 1:1, 4:3, 3:2, 16:9 4764 // 4765 // If you specify a value other than auto, Elastic Transcoder disables automatic 4766 // detection of the aspect ratio. 4767 AspectRatio *string `type:"string"` 4768 4769 // The container type for the input file. If you want Elastic Transcoder to 4770 // automatically detect the container type of the input file, specify auto. 4771 // If you want to specify the container type for the input file, enter one of 4772 // the following values: 4773 // 4774 // 3gp, aac, asf, avi, divx, flv, m4a, mkv, mov, mp3, mp4, mpeg, mpeg-ps, mpeg-ts, 4775 // mxf, ogg, vob, wav, webm 4776 Container *string `type:"string"` 4777 4778 // The detected properties of the input file. 4779 DetectedProperties *DetectedProperties `type:"structure"` 4780 4781 // The encryption settings, if any, that are used for decrypting your input 4782 // files. If your input file is encrypted, you must specify the mode that Elastic 4783 // Transcoder uses to decrypt your file. 4784 Encryption *Encryption `type:"structure"` 4785 4786 // The frame rate of the input file. If you want Elastic Transcoder to automatically 4787 // detect the frame rate of the input file, specify auto. If you want to specify 4788 // the frame rate for the input file, enter one of the following values: 4789 // 4790 // 10, 15, 23.97, 24, 25, 29.97, 30, 60 4791 // 4792 // If you specify a value other than auto, Elastic Transcoder disables automatic 4793 // detection of the frame rate. 4794 FrameRate *string `type:"string"` 4795 4796 // You can configure Elastic Transcoder to transcode captions, or subtitles, 4797 // from one format to another. All captions must be in UTF-8. Elastic Transcoder 4798 // supports two types of captions: 4799 // 4800 // * Embedded: Embedded captions are included in the same file as the audio 4801 // and video. Elastic Transcoder supports only one embedded caption per language, 4802 // to a maximum of 300 embedded captions per file. Valid input values include: 4803 // CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first 4804 // non-empty channel only), and mov-text Valid outputs include: mov-text 4805 // Elastic Transcoder supports a maximum of one embedded format per output. 4806 // 4807 // * Sidecar: Sidecar captions are kept in a separate metadata file from 4808 // the audio and video data. Sidecar captions require a player that is capable 4809 // of understanding the relationship between the video file and the sidecar 4810 // file. Elastic Transcoder supports only one sidecar caption per language, 4811 // to a maximum of 20 sidecar captions per file. Valid input values include: 4812 // dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div 4813 // element only), and webvtt Valid outputs include: dfxp (first div element 4814 // only), scc, srt, and webvtt. 4815 // 4816 // If you want ttml or smpte-tt compatible captions, specify dfxp as your output 4817 // format. 4818 // 4819 // Elastic Transcoder does not support OCR (Optical Character Recognition), 4820 // does not accept pictures as a valid input for captions, and is not available 4821 // for audio-only transcoding. Elastic Transcoder does not preserve text formatting 4822 // (for example, italics) during the transcoding process. 4823 // 4824 // To remove captions or leave the captions empty, set Captions to null. To 4825 // pass through existing captions unchanged, set the MergePolicy to MergeRetain, 4826 // and pass in a null CaptionSources array. 4827 // 4828 // For more information on embedded files, see the Subtitles Wikipedia page. 4829 // 4830 // For more information on sidecar files, see the Extensible Metadata Platform 4831 // and Sidecar file Wikipedia pages. 4832 InputCaptions *InputCaptions `type:"structure"` 4833 4834 // Whether the input file is interlaced. If you want Elastic Transcoder to automatically 4835 // detect whether the input file is interlaced, specify auto. If you want to 4836 // specify whether the input file is interlaced, enter one of the following 4837 // values: 4838 // 4839 // true, false 4840 // 4841 // If you specify a value other than auto, Elastic Transcoder disables automatic 4842 // detection of interlacing. 4843 Interlaced *string `type:"string"` 4844 4845 // The name of the file to transcode. Elsewhere in the body of the JSON block 4846 // is the the ID of the pipeline to use for processing the job. The InputBucket 4847 // object in that pipeline tells Elastic Transcoder which Amazon S3 bucket to 4848 // get the file from. 4849 // 4850 // If the file name includes a prefix, such as cooking/lasagna.mpg, include 4851 // the prefix in the key. If the file isn't in the specified bucket, Elastic 4852 // Transcoder returns an error. 4853 Key *string `min:"1" type:"string"` 4854 4855 // This value must be auto, which causes Elastic Transcoder to automatically 4856 // detect the resolution of the input file. 4857 Resolution *string `type:"string"` 4858 4859 // Settings for clipping an input. Each input can have different clip settings. 4860 TimeSpan *TimeSpan `type:"structure"` 4861 } 4862 4863 // String returns the string representation. 4864 // 4865 // API parameter values that are decorated as "sensitive" in the API will not 4866 // be included in the string output. The member name will be present, but the 4867 // value will be replaced with "sensitive". 4868 func (s JobInput) String() string { 4869 return awsutil.Prettify(s) 4870 } 4871 4872 // GoString returns the string representation. 4873 // 4874 // API parameter values that are decorated as "sensitive" in the API will not 4875 // be included in the string output. The member name will be present, but the 4876 // value will be replaced with "sensitive". 4877 func (s JobInput) GoString() string { 4878 return s.String() 4879 } 4880 4881 // Validate inspects the fields of the type to determine if they are valid. 4882 func (s *JobInput) Validate() error { 4883 invalidParams := request.ErrInvalidParams{Context: "JobInput"} 4884 if s.Key != nil && len(*s.Key) < 1 { 4885 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 4886 } 4887 if s.InputCaptions != nil { 4888 if err := s.InputCaptions.Validate(); err != nil { 4889 invalidParams.AddNested("InputCaptions", err.(request.ErrInvalidParams)) 4890 } 4891 } 4892 4893 if invalidParams.Len() > 0 { 4894 return invalidParams 4895 } 4896 return nil 4897 } 4898 4899 // SetAspectRatio sets the AspectRatio field's value. 4900 func (s *JobInput) SetAspectRatio(v string) *JobInput { 4901 s.AspectRatio = &v 4902 return s 4903 } 4904 4905 // SetContainer sets the Container field's value. 4906 func (s *JobInput) SetContainer(v string) *JobInput { 4907 s.Container = &v 4908 return s 4909 } 4910 4911 // SetDetectedProperties sets the DetectedProperties field's value. 4912 func (s *JobInput) SetDetectedProperties(v *DetectedProperties) *JobInput { 4913 s.DetectedProperties = v 4914 return s 4915 } 4916 4917 // SetEncryption sets the Encryption field's value. 4918 func (s *JobInput) SetEncryption(v *Encryption) *JobInput { 4919 s.Encryption = v 4920 return s 4921 } 4922 4923 // SetFrameRate sets the FrameRate field's value. 4924 func (s *JobInput) SetFrameRate(v string) *JobInput { 4925 s.FrameRate = &v 4926 return s 4927 } 4928 4929 // SetInputCaptions sets the InputCaptions field's value. 4930 func (s *JobInput) SetInputCaptions(v *InputCaptions) *JobInput { 4931 s.InputCaptions = v 4932 return s 4933 } 4934 4935 // SetInterlaced sets the Interlaced field's value. 4936 func (s *JobInput) SetInterlaced(v string) *JobInput { 4937 s.Interlaced = &v 4938 return s 4939 } 4940 4941 // SetKey sets the Key field's value. 4942 func (s *JobInput) SetKey(v string) *JobInput { 4943 s.Key = &v 4944 return s 4945 } 4946 4947 // SetResolution sets the Resolution field's value. 4948 func (s *JobInput) SetResolution(v string) *JobInput { 4949 s.Resolution = &v 4950 return s 4951 } 4952 4953 // SetTimeSpan sets the TimeSpan field's value. 4954 func (s *JobInput) SetTimeSpan(v *TimeSpan) *JobInput { 4955 s.TimeSpan = v 4956 return s 4957 } 4958 4959 // 4960 // Outputs recommended instead. 4961 // 4962 // If you specified one output for a job, information about that output. If 4963 // you specified multiple outputs for a job, the Output object lists information 4964 // about the first output. This duplicates the information that is listed for 4965 // the first output in the Outputs object. 4966 type JobOutput struct { 4967 _ struct{} `type:"structure"` 4968 4969 // The album art to be associated with the output file, if any. 4970 AlbumArt *JobAlbumArt `type:"structure"` 4971 4972 // If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode 4973 // the output file, the AppliedColorSpaceConversion parameter shows the conversion 4974 // used. If no ColorSpaceConversionMode was defined in the preset, this parameter 4975 // is not be included in the job response. 4976 AppliedColorSpaceConversion *string `type:"string"` 4977 4978 // You can configure Elastic Transcoder to transcode captions, or subtitles, 4979 // from one format to another. All captions must be in UTF-8. Elastic Transcoder 4980 // supports two types of captions: 4981 // 4982 // * Embedded: Embedded captions are included in the same file as the audio 4983 // and video. Elastic Transcoder supports only one embedded caption per language, 4984 // to a maximum of 300 embedded captions per file. Valid input values include: 4985 // CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first 4986 // non-empty channel only), and mov-text Valid outputs include: mov-text 4987 // Elastic Transcoder supports a maximum of one embedded format per output. 4988 // 4989 // * Sidecar: Sidecar captions are kept in a separate metadata file from 4990 // the audio and video data. Sidecar captions require a player that is capable 4991 // of understanding the relationship between the video file and the sidecar 4992 // file. Elastic Transcoder supports only one sidecar caption per language, 4993 // to a maximum of 20 sidecar captions per file. Valid input values include: 4994 // dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div 4995 // element only), and webvtt Valid outputs include: dfxp (first div element 4996 // only), scc, srt, and webvtt. 4997 // 4998 // If you want ttml or smpte-tt compatible captions, specify dfxp as your output 4999 // format. 5000 // 5001 // Elastic Transcoder does not support OCR (Optical Character Recognition), 5002 // does not accept pictures as a valid input for captions, and is not available 5003 // for audio-only transcoding. Elastic Transcoder does not preserve text formatting 5004 // (for example, italics) during the transcoding process. 5005 // 5006 // To remove captions or leave the captions empty, set Captions to null. To 5007 // pass through existing captions unchanged, set the MergePolicy to MergeRetain, 5008 // and pass in a null CaptionSources array. 5009 // 5010 // For more information on embedded files, see the Subtitles Wikipedia page. 5011 // 5012 // For more information on sidecar files, see the Extensible Metadata Platform 5013 // and Sidecar file Wikipedia pages. 5014 Captions *Captions `type:"structure"` 5015 5016 // You can create an output file that contains an excerpt from the input file. 5017 // This excerpt, called a clip, can come from the beginning, middle, or end 5018 // of the file. The Composition object contains settings for the clips that 5019 // make up an output file. For the current release, you can only specify settings 5020 // for a single clip per output file. The Composition object cannot be null. 5021 // 5022 // Deprecated: Composition has been deprecated 5023 Composition []*Clip `deprecated:"true" type:"list"` 5024 5025 // Duration of the output file, in seconds. 5026 Duration *int64 `type:"long"` 5027 5028 // Duration of the output file, in milliseconds. 5029 DurationMillis *int64 `type:"long"` 5030 5031 // The encryption settings, if any, that you want Elastic Transcoder to apply 5032 // to your output files. If you choose to use encryption, you must specify a 5033 // mode to use. If you choose not to use encryption, Elastic Transcoder writes 5034 // an unencrypted file to your Amazon S3 bucket. 5035 Encryption *Encryption `type:"structure"` 5036 5037 // File size of the output file, in bytes. 5038 FileSize *int64 `type:"long"` 5039 5040 // Frame rate of the output file, in frames per second. 5041 FrameRate *string `type:"string"` 5042 5043 // Height of the output file, in pixels. 5044 Height *int64 `type:"integer"` 5045 5046 // A sequential counter, starting with 1, that identifies an output among the 5047 // outputs from the current job. In the Output syntax, this value is always 5048 // 1. 5049 Id *string `type:"string"` 5050 5051 // The name to assign to the transcoded file. Elastic Transcoder saves the file 5052 // in the Amazon S3 bucket specified by the OutputBucket object in the pipeline 5053 // that is specified by the pipeline ID. 5054 Key *string `min:"1" type:"string"` 5055 5056 // The value of the Id object for the preset that you want to use for this job. 5057 // The preset determines the audio, video, and thumbnail settings that Elastic 5058 // Transcoder uses for transcoding. To use a preset that you created, specify 5059 // the preset ID that Elastic Transcoder returned in the response when you created 5060 // the preset. You can also use the Elastic Transcoder system presets, which 5061 // you can get with ListPresets. 5062 PresetId *string `type:"string"` 5063 5064 // The number of degrees clockwise by which you want Elastic Transcoder to rotate 5065 // the output relative to the input. Enter one of the following values: 5066 // 5067 // auto, 0, 90, 180, 270 5068 // 5069 // The value auto generally works only if the file that you're transcoding contains 5070 // rotation metadata. 5071 Rotate *string `type:"string"` 5072 5073 // 5074 // (Outputs in Fragmented MP4 or MPEG-TS format only. 5075 // 5076 // If you specify a preset in PresetId for which the value of Container is fmp4 5077 // (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration 5078 // of each segment in seconds. For HLSv3 format playlists, each media segment 5079 // is stored in a separate .ts file. For HLSv4, MPEG-DASH, and Smooth playlists, 5080 // all media segments for an output are stored in a single file. Each segment 5081 // is approximately the length of the SegmentDuration, though individual segments 5082 // might be shorter or longer. 5083 // 5084 // The range of valid values is 1 to 60 seconds. If the duration of the video 5085 // is not evenly divisible by SegmentDuration, the duration of the last segment 5086 // is the remainder of total length/SegmentDuration. 5087 // 5088 // Elastic Transcoder creates an output-specific playlist for each output HLS 5089 // output that you specify in OutputKeys. To add an output to the master playlist 5090 // for this job, include it in the OutputKeys of the associated playlist. 5091 SegmentDuration *string `type:"string"` 5092 5093 // The status of one output in a job. If you specified only one output for the 5094 // job, Outputs:Status is always the same as Job:Status. If you specified more 5095 // than one output: 5096 // 5097 // * Job:Status and Outputs:Status for all of the outputs is Submitted until 5098 // Elastic Transcoder starts to process the first output. 5099 // 5100 // * When Elastic Transcoder starts to process the first output, Outputs:Status 5101 // for that output and Job:Status both change to Progressing. For each output, 5102 // the value of Outputs:Status remains Submitted until Elastic Transcoder 5103 // starts to process the output. 5104 // 5105 // * Job:Status remains Progressing until all of the outputs reach a terminal 5106 // status, either Complete or Error. 5107 // 5108 // * When all of the outputs reach a terminal status, Job:Status changes 5109 // to Complete only if Outputs:Status for all of the outputs is Complete. 5110 // If Outputs:Status for one or more outputs is Error, the terminal status 5111 // for Job:Status is also Error. 5112 // 5113 // The value of Status is one of the following: Submitted, Progressing, Complete, 5114 // Canceled, or Error. 5115 Status *string `type:"string"` 5116 5117 // Information that further explains Status. 5118 StatusDetail *string `type:"string"` 5119 5120 // The encryption settings, if any, that you want Elastic Transcoder to apply 5121 // to your thumbnail. 5122 ThumbnailEncryption *Encryption `type:"structure"` 5123 5124 // Whether you want Elastic Transcoder to create thumbnails for your videos 5125 // and, if so, how you want Elastic Transcoder to name the files. 5126 // 5127 // If you don't want Elastic Transcoder to create thumbnails, specify "". 5128 // 5129 // If you do want Elastic Transcoder to create thumbnails, specify the information 5130 // that you want to include in the file name for each thumbnail. You can specify 5131 // the following values in any sequence: 5132 // 5133 // * {count} (Required): If you want to create thumbnails, you must include 5134 // {count} in the ThumbnailPattern object. Wherever you specify {count}, 5135 // Elastic Transcoder adds a five-digit sequence number (beginning with 00001) 5136 // to thumbnail file names. The number indicates where a given thumbnail 5137 // appears in the sequence of thumbnails for a transcoded file. If you specify 5138 // a literal value and/or {resolution} but you omit {count}, Elastic Transcoder 5139 // returns a validation error and does not create the job. 5140 // 5141 // * Literal values (Optional): You can specify literal values anywhere in 5142 // the ThumbnailPattern object. For example, you can include them as a file 5143 // name prefix or as a delimiter between {resolution} and {count}. 5144 // 5145 // * {resolution} (Optional): If you want Elastic Transcoder to include the 5146 // resolution in the file name, include {resolution} in the ThumbnailPattern 5147 // object. 5148 // 5149 // When creating thumbnails, Elastic Transcoder automatically saves the files 5150 // in the format (.jpg or .png) that appears in the preset that you specified 5151 // in the PresetID value of CreateJobOutput. Elastic Transcoder also appends 5152 // the applicable file name extension. 5153 ThumbnailPattern *string `type:"string"` 5154 5155 // Information about the watermarks that you want Elastic Transcoder to add 5156 // to the video during transcoding. You can specify up to four watermarks for 5157 // each output. Settings for each watermark must be defined in the preset that 5158 // you specify in Preset for the current output. 5159 // 5160 // Watermarks are added to the output video in the sequence in which you list 5161 // them in the job output—the first watermark in the list is added to the 5162 // output video first, the second watermark in the list is added next, and so 5163 // on. As a result, if the settings in a preset cause Elastic Transcoder to 5164 // place all watermarks in the same location, the second watermark that you 5165 // add covers the first one, the third one covers the second, and the fourth 5166 // one covers the third. 5167 Watermarks []*JobWatermark `type:"list"` 5168 5169 // Specifies the width of the output file in pixels. 5170 Width *int64 `type:"integer"` 5171 } 5172 5173 // String returns the string representation. 5174 // 5175 // API parameter values that are decorated as "sensitive" in the API will not 5176 // be included in the string output. The member name will be present, but the 5177 // value will be replaced with "sensitive". 5178 func (s JobOutput) String() string { 5179 return awsutil.Prettify(s) 5180 } 5181 5182 // GoString returns the string representation. 5183 // 5184 // API parameter values that are decorated as "sensitive" in the API will not 5185 // be included in the string output. The member name will be present, but the 5186 // value will be replaced with "sensitive". 5187 func (s JobOutput) GoString() string { 5188 return s.String() 5189 } 5190 5191 // SetAlbumArt sets the AlbumArt field's value. 5192 func (s *JobOutput) SetAlbumArt(v *JobAlbumArt) *JobOutput { 5193 s.AlbumArt = v 5194 return s 5195 } 5196 5197 // SetAppliedColorSpaceConversion sets the AppliedColorSpaceConversion field's value. 5198 func (s *JobOutput) SetAppliedColorSpaceConversion(v string) *JobOutput { 5199 s.AppliedColorSpaceConversion = &v 5200 return s 5201 } 5202 5203 // SetCaptions sets the Captions field's value. 5204 func (s *JobOutput) SetCaptions(v *Captions) *JobOutput { 5205 s.Captions = v 5206 return s 5207 } 5208 5209 // SetComposition sets the Composition field's value. 5210 func (s *JobOutput) SetComposition(v []*Clip) *JobOutput { 5211 s.Composition = v 5212 return s 5213 } 5214 5215 // SetDuration sets the Duration field's value. 5216 func (s *JobOutput) SetDuration(v int64) *JobOutput { 5217 s.Duration = &v 5218 return s 5219 } 5220 5221 // SetDurationMillis sets the DurationMillis field's value. 5222 func (s *JobOutput) SetDurationMillis(v int64) *JobOutput { 5223 s.DurationMillis = &v 5224 return s 5225 } 5226 5227 // SetEncryption sets the Encryption field's value. 5228 func (s *JobOutput) SetEncryption(v *Encryption) *JobOutput { 5229 s.Encryption = v 5230 return s 5231 } 5232 5233 // SetFileSize sets the FileSize field's value. 5234 func (s *JobOutput) SetFileSize(v int64) *JobOutput { 5235 s.FileSize = &v 5236 return s 5237 } 5238 5239 // SetFrameRate sets the FrameRate field's value. 5240 func (s *JobOutput) SetFrameRate(v string) *JobOutput { 5241 s.FrameRate = &v 5242 return s 5243 } 5244 5245 // SetHeight sets the Height field's value. 5246 func (s *JobOutput) SetHeight(v int64) *JobOutput { 5247 s.Height = &v 5248 return s 5249 } 5250 5251 // SetId sets the Id field's value. 5252 func (s *JobOutput) SetId(v string) *JobOutput { 5253 s.Id = &v 5254 return s 5255 } 5256 5257 // SetKey sets the Key field's value. 5258 func (s *JobOutput) SetKey(v string) *JobOutput { 5259 s.Key = &v 5260 return s 5261 } 5262 5263 // SetPresetId sets the PresetId field's value. 5264 func (s *JobOutput) SetPresetId(v string) *JobOutput { 5265 s.PresetId = &v 5266 return s 5267 } 5268 5269 // SetRotate sets the Rotate field's value. 5270 func (s *JobOutput) SetRotate(v string) *JobOutput { 5271 s.Rotate = &v 5272 return s 5273 } 5274 5275 // SetSegmentDuration sets the SegmentDuration field's value. 5276 func (s *JobOutput) SetSegmentDuration(v string) *JobOutput { 5277 s.SegmentDuration = &v 5278 return s 5279 } 5280 5281 // SetStatus sets the Status field's value. 5282 func (s *JobOutput) SetStatus(v string) *JobOutput { 5283 s.Status = &v 5284 return s 5285 } 5286 5287 // SetStatusDetail sets the StatusDetail field's value. 5288 func (s *JobOutput) SetStatusDetail(v string) *JobOutput { 5289 s.StatusDetail = &v 5290 return s 5291 } 5292 5293 // SetThumbnailEncryption sets the ThumbnailEncryption field's value. 5294 func (s *JobOutput) SetThumbnailEncryption(v *Encryption) *JobOutput { 5295 s.ThumbnailEncryption = v 5296 return s 5297 } 5298 5299 // SetThumbnailPattern sets the ThumbnailPattern field's value. 5300 func (s *JobOutput) SetThumbnailPattern(v string) *JobOutput { 5301 s.ThumbnailPattern = &v 5302 return s 5303 } 5304 5305 // SetWatermarks sets the Watermarks field's value. 5306 func (s *JobOutput) SetWatermarks(v []*JobWatermark) *JobOutput { 5307 s.Watermarks = v 5308 return s 5309 } 5310 5311 // SetWidth sets the Width field's value. 5312 func (s *JobOutput) SetWidth(v int64) *JobOutput { 5313 s.Width = &v 5314 return s 5315 } 5316 5317 // Watermarks can be in .png or .jpg format. If you want to display a watermark 5318 // that is not rectangular, use the .png format, which supports transparency. 5319 type JobWatermark struct { 5320 _ struct{} `type:"structure"` 5321 5322 // The encryption settings, if any, that you want Elastic Transcoder to apply 5323 // to your watermarks. 5324 Encryption *Encryption `type:"structure"` 5325 5326 // The name of the .png or .jpg file that you want to use for the watermark. 5327 // To determine which Amazon S3 bucket contains the specified file, Elastic 5328 // Transcoder checks the pipeline specified by Pipeline; the Input Bucket object 5329 // in that pipeline identifies the bucket. 5330 // 5331 // If the file name includes a prefix, for example, logos/128x64.png, include 5332 // the prefix in the key. If the file isn't in the specified bucket, Elastic 5333 // Transcoder returns an error. 5334 InputKey *string `min:"1" type:"string"` 5335 5336 // The ID of the watermark settings that Elastic Transcoder uses to add watermarks 5337 // to the video during transcoding. The settings are in the preset specified 5338 // by Preset for the current output. In that preset, the value of Watermarks 5339 // Id tells Elastic Transcoder which settings to use. 5340 PresetWatermarkId *string `min:"1" type:"string"` 5341 } 5342 5343 // String returns the string representation. 5344 // 5345 // API parameter values that are decorated as "sensitive" in the API will not 5346 // be included in the string output. The member name will be present, but the 5347 // value will be replaced with "sensitive". 5348 func (s JobWatermark) String() string { 5349 return awsutil.Prettify(s) 5350 } 5351 5352 // GoString returns the string representation. 5353 // 5354 // API parameter values that are decorated as "sensitive" in the API will not 5355 // be included in the string output. The member name will be present, but the 5356 // value will be replaced with "sensitive". 5357 func (s JobWatermark) GoString() string { 5358 return s.String() 5359 } 5360 5361 // Validate inspects the fields of the type to determine if they are valid. 5362 func (s *JobWatermark) Validate() error { 5363 invalidParams := request.ErrInvalidParams{Context: "JobWatermark"} 5364 if s.InputKey != nil && len(*s.InputKey) < 1 { 5365 invalidParams.Add(request.NewErrParamMinLen("InputKey", 1)) 5366 } 5367 if s.PresetWatermarkId != nil && len(*s.PresetWatermarkId) < 1 { 5368 invalidParams.Add(request.NewErrParamMinLen("PresetWatermarkId", 1)) 5369 } 5370 5371 if invalidParams.Len() > 0 { 5372 return invalidParams 5373 } 5374 return nil 5375 } 5376 5377 // SetEncryption sets the Encryption field's value. 5378 func (s *JobWatermark) SetEncryption(v *Encryption) *JobWatermark { 5379 s.Encryption = v 5380 return s 5381 } 5382 5383 // SetInputKey sets the InputKey field's value. 5384 func (s *JobWatermark) SetInputKey(v string) *JobWatermark { 5385 s.InputKey = &v 5386 return s 5387 } 5388 5389 // SetPresetWatermarkId sets the PresetWatermarkId field's value. 5390 func (s *JobWatermark) SetPresetWatermarkId(v string) *JobWatermark { 5391 s.PresetWatermarkId = &v 5392 return s 5393 } 5394 5395 // Too many operations for a given AWS account. For example, the number of pipelines 5396 // exceeds the maximum allowed. 5397 type LimitExceededException struct { 5398 _ struct{} `type:"structure"` 5399 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5400 5401 Message_ *string `locationName:"message" type:"string"` 5402 } 5403 5404 // String returns the string representation. 5405 // 5406 // API parameter values that are decorated as "sensitive" in the API will not 5407 // be included in the string output. The member name will be present, but the 5408 // value will be replaced with "sensitive". 5409 func (s LimitExceededException) String() string { 5410 return awsutil.Prettify(s) 5411 } 5412 5413 // GoString returns the string representation. 5414 // 5415 // API parameter values that are decorated as "sensitive" in the API will not 5416 // be included in the string output. The member name will be present, but the 5417 // value will be replaced with "sensitive". 5418 func (s LimitExceededException) GoString() string { 5419 return s.String() 5420 } 5421 5422 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 5423 return &LimitExceededException{ 5424 RespMetadata: v, 5425 } 5426 } 5427 5428 // Code returns the exception type name. 5429 func (s *LimitExceededException) Code() string { 5430 return "LimitExceededException" 5431 } 5432 5433 // Message returns the exception's message. 5434 func (s *LimitExceededException) Message() string { 5435 if s.Message_ != nil { 5436 return *s.Message_ 5437 } 5438 return "" 5439 } 5440 5441 // OrigErr always returns nil, satisfies awserr.Error interface. 5442 func (s *LimitExceededException) OrigErr() error { 5443 return nil 5444 } 5445 5446 func (s *LimitExceededException) Error() string { 5447 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5448 } 5449 5450 // Status code returns the HTTP status code for the request's response error. 5451 func (s *LimitExceededException) StatusCode() int { 5452 return s.RespMetadata.StatusCode 5453 } 5454 5455 // RequestID returns the service's response RequestID for request. 5456 func (s *LimitExceededException) RequestID() string { 5457 return s.RespMetadata.RequestID 5458 } 5459 5460 // The ListJobsByPipelineRequest structure. 5461 type ListJobsByPipelineInput struct { 5462 _ struct{} `type:"structure" nopayload:"true"` 5463 5464 // To list jobs in chronological order by the date and time that they were submitted, 5465 // enter true. To list jobs in reverse chronological order, enter false. 5466 Ascending *string `location:"querystring" locationName:"Ascending" type:"string"` 5467 5468 // When Elastic Transcoder returns more than one page of results, use pageToken 5469 // in subsequent GET requests to get each successive page of results. 5470 PageToken *string `location:"querystring" locationName:"PageToken" type:"string"` 5471 5472 // The ID of the pipeline for which you want to get job information. 5473 // 5474 // PipelineId is a required field 5475 PipelineId *string `location:"uri" locationName:"PipelineId" type:"string" required:"true"` 5476 } 5477 5478 // String returns the string representation. 5479 // 5480 // API parameter values that are decorated as "sensitive" in the API will not 5481 // be included in the string output. The member name will be present, but the 5482 // value will be replaced with "sensitive". 5483 func (s ListJobsByPipelineInput) String() string { 5484 return awsutil.Prettify(s) 5485 } 5486 5487 // GoString returns the string representation. 5488 // 5489 // API parameter values that are decorated as "sensitive" in the API will not 5490 // be included in the string output. The member name will be present, but the 5491 // value will be replaced with "sensitive". 5492 func (s ListJobsByPipelineInput) GoString() string { 5493 return s.String() 5494 } 5495 5496 // Validate inspects the fields of the type to determine if they are valid. 5497 func (s *ListJobsByPipelineInput) Validate() error { 5498 invalidParams := request.ErrInvalidParams{Context: "ListJobsByPipelineInput"} 5499 if s.PipelineId == nil { 5500 invalidParams.Add(request.NewErrParamRequired("PipelineId")) 5501 } 5502 if s.PipelineId != nil && len(*s.PipelineId) < 1 { 5503 invalidParams.Add(request.NewErrParamMinLen("PipelineId", 1)) 5504 } 5505 5506 if invalidParams.Len() > 0 { 5507 return invalidParams 5508 } 5509 return nil 5510 } 5511 5512 // SetAscending sets the Ascending field's value. 5513 func (s *ListJobsByPipelineInput) SetAscending(v string) *ListJobsByPipelineInput { 5514 s.Ascending = &v 5515 return s 5516 } 5517 5518 // SetPageToken sets the PageToken field's value. 5519 func (s *ListJobsByPipelineInput) SetPageToken(v string) *ListJobsByPipelineInput { 5520 s.PageToken = &v 5521 return s 5522 } 5523 5524 // SetPipelineId sets the PipelineId field's value. 5525 func (s *ListJobsByPipelineInput) SetPipelineId(v string) *ListJobsByPipelineInput { 5526 s.PipelineId = &v 5527 return s 5528 } 5529 5530 // The ListJobsByPipelineResponse structure. 5531 type ListJobsByPipelineOutput struct { 5532 _ struct{} `type:"structure"` 5533 5534 // An array of Job objects that are in the specified pipeline. 5535 Jobs []*Job `type:"list"` 5536 5537 // A value that you use to access the second and subsequent pages of results, 5538 // if any. When the jobs in the specified pipeline fit on one page or when you've 5539 // reached the last page of results, the value of NextPageToken is null. 5540 NextPageToken *string `type:"string"` 5541 } 5542 5543 // String returns the string representation. 5544 // 5545 // API parameter values that are decorated as "sensitive" in the API will not 5546 // be included in the string output. The member name will be present, but the 5547 // value will be replaced with "sensitive". 5548 func (s ListJobsByPipelineOutput) String() string { 5549 return awsutil.Prettify(s) 5550 } 5551 5552 // GoString returns the string representation. 5553 // 5554 // API parameter values that are decorated as "sensitive" in the API will not 5555 // be included in the string output. The member name will be present, but the 5556 // value will be replaced with "sensitive". 5557 func (s ListJobsByPipelineOutput) GoString() string { 5558 return s.String() 5559 } 5560 5561 // SetJobs sets the Jobs field's value. 5562 func (s *ListJobsByPipelineOutput) SetJobs(v []*Job) *ListJobsByPipelineOutput { 5563 s.Jobs = v 5564 return s 5565 } 5566 5567 // SetNextPageToken sets the NextPageToken field's value. 5568 func (s *ListJobsByPipelineOutput) SetNextPageToken(v string) *ListJobsByPipelineOutput { 5569 s.NextPageToken = &v 5570 return s 5571 } 5572 5573 // The ListJobsByStatusRequest structure. 5574 type ListJobsByStatusInput struct { 5575 _ struct{} `type:"structure" nopayload:"true"` 5576 5577 // To list jobs in chronological order by the date and time that they were submitted, 5578 // enter true. To list jobs in reverse chronological order, enter false. 5579 Ascending *string `location:"querystring" locationName:"Ascending" type:"string"` 5580 5581 // When Elastic Transcoder returns more than one page of results, use pageToken 5582 // in subsequent GET requests to get each successive page of results. 5583 PageToken *string `location:"querystring" locationName:"PageToken" type:"string"` 5584 5585 // To get information about all of the jobs associated with the current AWS 5586 // account that have a given status, specify the following status: Submitted, 5587 // Progressing, Complete, Canceled, or Error. 5588 // 5589 // Status is a required field 5590 Status *string `location:"uri" locationName:"Status" type:"string" required:"true"` 5591 } 5592 5593 // String returns the string representation. 5594 // 5595 // API parameter values that are decorated as "sensitive" in the API will not 5596 // be included in the string output. The member name will be present, but the 5597 // value will be replaced with "sensitive". 5598 func (s ListJobsByStatusInput) String() string { 5599 return awsutil.Prettify(s) 5600 } 5601 5602 // GoString returns the string representation. 5603 // 5604 // API parameter values that are decorated as "sensitive" in the API will not 5605 // be included in the string output. The member name will be present, but the 5606 // value will be replaced with "sensitive". 5607 func (s ListJobsByStatusInput) GoString() string { 5608 return s.String() 5609 } 5610 5611 // Validate inspects the fields of the type to determine if they are valid. 5612 func (s *ListJobsByStatusInput) Validate() error { 5613 invalidParams := request.ErrInvalidParams{Context: "ListJobsByStatusInput"} 5614 if s.Status == nil { 5615 invalidParams.Add(request.NewErrParamRequired("Status")) 5616 } 5617 if s.Status != nil && len(*s.Status) < 1 { 5618 invalidParams.Add(request.NewErrParamMinLen("Status", 1)) 5619 } 5620 5621 if invalidParams.Len() > 0 { 5622 return invalidParams 5623 } 5624 return nil 5625 } 5626 5627 // SetAscending sets the Ascending field's value. 5628 func (s *ListJobsByStatusInput) SetAscending(v string) *ListJobsByStatusInput { 5629 s.Ascending = &v 5630 return s 5631 } 5632 5633 // SetPageToken sets the PageToken field's value. 5634 func (s *ListJobsByStatusInput) SetPageToken(v string) *ListJobsByStatusInput { 5635 s.PageToken = &v 5636 return s 5637 } 5638 5639 // SetStatus sets the Status field's value. 5640 func (s *ListJobsByStatusInput) SetStatus(v string) *ListJobsByStatusInput { 5641 s.Status = &v 5642 return s 5643 } 5644 5645 // The ListJobsByStatusResponse structure. 5646 type ListJobsByStatusOutput struct { 5647 _ struct{} `type:"structure"` 5648 5649 // An array of Job objects that have the specified status. 5650 Jobs []*Job `type:"list"` 5651 5652 // A value that you use to access the second and subsequent pages of results, 5653 // if any. When the jobs in the specified pipeline fit on one page or when you've 5654 // reached the last page of results, the value of NextPageToken is null. 5655 NextPageToken *string `type:"string"` 5656 } 5657 5658 // String returns the string representation. 5659 // 5660 // API parameter values that are decorated as "sensitive" in the API will not 5661 // be included in the string output. The member name will be present, but the 5662 // value will be replaced with "sensitive". 5663 func (s ListJobsByStatusOutput) String() string { 5664 return awsutil.Prettify(s) 5665 } 5666 5667 // GoString returns the string representation. 5668 // 5669 // API parameter values that are decorated as "sensitive" in the API will not 5670 // be included in the string output. The member name will be present, but the 5671 // value will be replaced with "sensitive". 5672 func (s ListJobsByStatusOutput) GoString() string { 5673 return s.String() 5674 } 5675 5676 // SetJobs sets the Jobs field's value. 5677 func (s *ListJobsByStatusOutput) SetJobs(v []*Job) *ListJobsByStatusOutput { 5678 s.Jobs = v 5679 return s 5680 } 5681 5682 // SetNextPageToken sets the NextPageToken field's value. 5683 func (s *ListJobsByStatusOutput) SetNextPageToken(v string) *ListJobsByStatusOutput { 5684 s.NextPageToken = &v 5685 return s 5686 } 5687 5688 // The ListPipelineRequest structure. 5689 type ListPipelinesInput struct { 5690 _ struct{} `type:"structure" nopayload:"true"` 5691 5692 // To list pipelines in chronological order by the date and time that they were 5693 // created, enter true. To list pipelines in reverse chronological order, enter 5694 // false. 5695 Ascending *string `location:"querystring" locationName:"Ascending" type:"string"` 5696 5697 // When Elastic Transcoder returns more than one page of results, use pageToken 5698 // in subsequent GET requests to get each successive page of results. 5699 PageToken *string `location:"querystring" locationName:"PageToken" type:"string"` 5700 } 5701 5702 // String returns the string representation. 5703 // 5704 // API parameter values that are decorated as "sensitive" in the API will not 5705 // be included in the string output. The member name will be present, but the 5706 // value will be replaced with "sensitive". 5707 func (s ListPipelinesInput) String() string { 5708 return awsutil.Prettify(s) 5709 } 5710 5711 // GoString returns the string representation. 5712 // 5713 // API parameter values that are decorated as "sensitive" in the API will not 5714 // be included in the string output. The member name will be present, but the 5715 // value will be replaced with "sensitive". 5716 func (s ListPipelinesInput) GoString() string { 5717 return s.String() 5718 } 5719 5720 // SetAscending sets the Ascending field's value. 5721 func (s *ListPipelinesInput) SetAscending(v string) *ListPipelinesInput { 5722 s.Ascending = &v 5723 return s 5724 } 5725 5726 // SetPageToken sets the PageToken field's value. 5727 func (s *ListPipelinesInput) SetPageToken(v string) *ListPipelinesInput { 5728 s.PageToken = &v 5729 return s 5730 } 5731 5732 // A list of the pipelines associated with the current AWS account. 5733 type ListPipelinesOutput struct { 5734 _ struct{} `type:"structure"` 5735 5736 // A value that you use to access the second and subsequent pages of results, 5737 // if any. When the pipelines fit on one page or when you've reached the last 5738 // page of results, the value of NextPageToken is null. 5739 NextPageToken *string `type:"string"` 5740 5741 // An array of Pipeline objects. 5742 Pipelines []*Pipeline `type:"list"` 5743 } 5744 5745 // String returns the string representation. 5746 // 5747 // API parameter values that are decorated as "sensitive" in the API will not 5748 // be included in the string output. The member name will be present, but the 5749 // value will be replaced with "sensitive". 5750 func (s ListPipelinesOutput) String() string { 5751 return awsutil.Prettify(s) 5752 } 5753 5754 // GoString returns the string representation. 5755 // 5756 // API parameter values that are decorated as "sensitive" in the API will not 5757 // be included in the string output. The member name will be present, but the 5758 // value will be replaced with "sensitive". 5759 func (s ListPipelinesOutput) GoString() string { 5760 return s.String() 5761 } 5762 5763 // SetNextPageToken sets the NextPageToken field's value. 5764 func (s *ListPipelinesOutput) SetNextPageToken(v string) *ListPipelinesOutput { 5765 s.NextPageToken = &v 5766 return s 5767 } 5768 5769 // SetPipelines sets the Pipelines field's value. 5770 func (s *ListPipelinesOutput) SetPipelines(v []*Pipeline) *ListPipelinesOutput { 5771 s.Pipelines = v 5772 return s 5773 } 5774 5775 // The ListPresetsRequest structure. 5776 type ListPresetsInput struct { 5777 _ struct{} `type:"structure" nopayload:"true"` 5778 5779 // To list presets in chronological order by the date and time that they were 5780 // created, enter true. To list presets in reverse chronological order, enter 5781 // false. 5782 Ascending *string `location:"querystring" locationName:"Ascending" type:"string"` 5783 5784 // When Elastic Transcoder returns more than one page of results, use pageToken 5785 // in subsequent GET requests to get each successive page of results. 5786 PageToken *string `location:"querystring" locationName:"PageToken" type:"string"` 5787 } 5788 5789 // String returns the string representation. 5790 // 5791 // API parameter values that are decorated as "sensitive" in the API will not 5792 // be included in the string output. The member name will be present, but the 5793 // value will be replaced with "sensitive". 5794 func (s ListPresetsInput) String() string { 5795 return awsutil.Prettify(s) 5796 } 5797 5798 // GoString returns the string representation. 5799 // 5800 // API parameter values that are decorated as "sensitive" in the API will not 5801 // be included in the string output. The member name will be present, but the 5802 // value will be replaced with "sensitive". 5803 func (s ListPresetsInput) GoString() string { 5804 return s.String() 5805 } 5806 5807 // SetAscending sets the Ascending field's value. 5808 func (s *ListPresetsInput) SetAscending(v string) *ListPresetsInput { 5809 s.Ascending = &v 5810 return s 5811 } 5812 5813 // SetPageToken sets the PageToken field's value. 5814 func (s *ListPresetsInput) SetPageToken(v string) *ListPresetsInput { 5815 s.PageToken = &v 5816 return s 5817 } 5818 5819 // The ListPresetsResponse structure. 5820 type ListPresetsOutput struct { 5821 _ struct{} `type:"structure"` 5822 5823 // A value that you use to access the second and subsequent pages of results, 5824 // if any. When the presets fit on one page or when you've reached the last 5825 // page of results, the value of NextPageToken is null. 5826 NextPageToken *string `type:"string"` 5827 5828 // An array of Preset objects. 5829 Presets []*Preset `type:"list"` 5830 } 5831 5832 // String returns the string representation. 5833 // 5834 // API parameter values that are decorated as "sensitive" in the API will not 5835 // be included in the string output. The member name will be present, but the 5836 // value will be replaced with "sensitive". 5837 func (s ListPresetsOutput) String() string { 5838 return awsutil.Prettify(s) 5839 } 5840 5841 // GoString returns the string representation. 5842 // 5843 // API parameter values that are decorated as "sensitive" in the API will not 5844 // be included in the string output. The member name will be present, but the 5845 // value will be replaced with "sensitive". 5846 func (s ListPresetsOutput) GoString() string { 5847 return s.String() 5848 } 5849 5850 // SetNextPageToken sets the NextPageToken field's value. 5851 func (s *ListPresetsOutput) SetNextPageToken(v string) *ListPresetsOutput { 5852 s.NextPageToken = &v 5853 return s 5854 } 5855 5856 // SetPresets sets the Presets field's value. 5857 func (s *ListPresetsOutput) SetPresets(v []*Preset) *ListPresetsOutput { 5858 s.Presets = v 5859 return s 5860 } 5861 5862 // The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify 5863 // in order to report job status. 5864 // 5865 // To receive notifications, you must also subscribe to the new topic in the 5866 // Amazon SNS console. 5867 type Notifications struct { 5868 _ struct{} `type:"structure"` 5869 5870 // The Amazon SNS topic that you want to notify when Elastic Transcoder has 5871 // finished processing the job. 5872 Completed *string `type:"string"` 5873 5874 // The Amazon SNS topic that you want to notify when Elastic Transcoder encounters 5875 // an error condition. 5876 Error *string `type:"string"` 5877 5878 // The Amazon Simple Notification Service (Amazon SNS) topic that you want to 5879 // notify when Elastic Transcoder has started to process the job. 5880 Progressing *string `type:"string"` 5881 5882 // The Amazon SNS topic that you want to notify when Elastic Transcoder encounters 5883 // a warning condition. 5884 Warning *string `type:"string"` 5885 } 5886 5887 // String returns the string representation. 5888 // 5889 // API parameter values that are decorated as "sensitive" in the API will not 5890 // be included in the string output. The member name will be present, but the 5891 // value will be replaced with "sensitive". 5892 func (s Notifications) String() string { 5893 return awsutil.Prettify(s) 5894 } 5895 5896 // GoString returns the string representation. 5897 // 5898 // API parameter values that are decorated as "sensitive" in the API will not 5899 // be included in the string output. The member name will be present, but the 5900 // value will be replaced with "sensitive". 5901 func (s Notifications) GoString() string { 5902 return s.String() 5903 } 5904 5905 // SetCompleted sets the Completed field's value. 5906 func (s *Notifications) SetCompleted(v string) *Notifications { 5907 s.Completed = &v 5908 return s 5909 } 5910 5911 // SetError sets the Error field's value. 5912 func (s *Notifications) SetError(v string) *Notifications { 5913 s.Error = &v 5914 return s 5915 } 5916 5917 // SetProgressing sets the Progressing field's value. 5918 func (s *Notifications) SetProgressing(v string) *Notifications { 5919 s.Progressing = &v 5920 return s 5921 } 5922 5923 // SetWarning sets the Warning field's value. 5924 func (s *Notifications) SetWarning(v string) *Notifications { 5925 s.Warning = &v 5926 return s 5927 } 5928 5929 // The Permission structure. 5930 type Permission struct { 5931 _ struct{} `type:"structure"` 5932 5933 // The permission that you want to give to the AWS user that is listed in Grantee. 5934 // Valid values include: 5935 // 5936 // * READ: The grantee can read the thumbnails and metadata for thumbnails 5937 // that Elastic Transcoder adds to the Amazon S3 bucket. 5938 // 5939 // * READ_ACP: The grantee can read the object ACL for thumbnails that Elastic 5940 // Transcoder adds to the Amazon S3 bucket. 5941 // 5942 // * WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic 5943 // Transcoder adds to the Amazon S3 bucket. 5944 // 5945 // * FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions 5946 // for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. 5947 Access []*string `type:"list"` 5948 5949 // The AWS user or group that you want to have access to transcoded files and 5950 // playlists. To identify the user or group, you can specify the canonical user 5951 // ID for an AWS account, an origin access identity for a CloudFront distribution, 5952 // the registered email address of an AWS account, or a predefined Amazon S3 5953 // group. 5954 Grantee *string `min:"1" type:"string"` 5955 5956 // The type of value that appears in the Grantee object: 5957 // 5958 // * Canonical: Either the canonical user ID for an AWS account or an origin 5959 // access identity for an Amazon CloudFront distribution. A canonical user 5960 // ID is not the same as an AWS account number. 5961 // 5962 // * Email: The registered email address of an AWS account. 5963 // 5964 // * Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, 5965 // or LogDelivery. 5966 GranteeType *string `type:"string"` 5967 } 5968 5969 // String returns the string representation. 5970 // 5971 // API parameter values that are decorated as "sensitive" in the API will not 5972 // be included in the string output. The member name will be present, but the 5973 // value will be replaced with "sensitive". 5974 func (s Permission) String() string { 5975 return awsutil.Prettify(s) 5976 } 5977 5978 // GoString returns the string representation. 5979 // 5980 // API parameter values that are decorated as "sensitive" in the API will not 5981 // be included in the string output. The member name will be present, but the 5982 // value will be replaced with "sensitive". 5983 func (s Permission) GoString() string { 5984 return s.String() 5985 } 5986 5987 // Validate inspects the fields of the type to determine if they are valid. 5988 func (s *Permission) Validate() error { 5989 invalidParams := request.ErrInvalidParams{Context: "Permission"} 5990 if s.Grantee != nil && len(*s.Grantee) < 1 { 5991 invalidParams.Add(request.NewErrParamMinLen("Grantee", 1)) 5992 } 5993 5994 if invalidParams.Len() > 0 { 5995 return invalidParams 5996 } 5997 return nil 5998 } 5999 6000 // SetAccess sets the Access field's value. 6001 func (s *Permission) SetAccess(v []*string) *Permission { 6002 s.Access = v 6003 return s 6004 } 6005 6006 // SetGrantee sets the Grantee field's value. 6007 func (s *Permission) SetGrantee(v string) *Permission { 6008 s.Grantee = &v 6009 return s 6010 } 6011 6012 // SetGranteeType sets the GranteeType field's value. 6013 func (s *Permission) SetGranteeType(v string) *Permission { 6014 s.GranteeType = &v 6015 return s 6016 } 6017 6018 // The pipeline (queue) that is used to manage jobs. 6019 type Pipeline struct { 6020 _ struct{} `type:"structure"` 6021 6022 // The Amazon Resource Name (ARN) for the pipeline. 6023 Arn *string `type:"string"` 6024 6025 // The AWS Key Management Service (AWS KMS) key that you want to use with this 6026 // pipeline. 6027 // 6028 // If you use either s3 or s3-aws-kms as your Encryption:Mode, you don't need 6029 // to provide a key with your job because a default key, known as an AWS-KMS 6030 // key, is created for you automatically. You need to provide an AWS-KMS key 6031 // only if you want to use a non-default AWS-KMS key, or if you are using an 6032 // Encryption:Mode of aes-cbc-pkcs7, aes-ctr, or aes-gcm. 6033 AwsKmsKeyArn *string `type:"string"` 6034 6035 // Information about the Amazon S3 bucket in which you want Elastic Transcoder 6036 // to save transcoded files and playlists. Either you specify both ContentConfig 6037 // and ThumbnailConfig, or you specify OutputBucket. 6038 // 6039 // * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to 6040 // save transcoded files and playlists. 6041 // 6042 // * Permissions: A list of the users and/or predefined Amazon S3 groups 6043 // you want to have access to transcoded files and playlists, and the type 6044 // of access that you want them to have. GranteeType: The type of value that 6045 // appears in the Grantee object: Canonical: Either the canonical user ID 6046 // for an AWS account or an origin access identity for an Amazon CloudFront 6047 // distribution. Email: The registered email address of an AWS account. Group: 6048 // One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, 6049 // or LogDelivery. Grantee: The AWS user or group that you want to have access 6050 // to transcoded files and playlists. Access: The permission that you want 6051 // to give to the AWS user that is listed in Grantee. Valid values include: 6052 // READ: The grantee can read the objects and metadata for objects that Elastic 6053 // Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read 6054 // the object ACL for objects that Elastic Transcoder adds to the Amazon 6055 // S3 bucket. WRITE_ACP: The grantee can write the ACL for the objects that 6056 // Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The grantee 6057 // has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic 6058 // Transcoder adds to the Amazon S3 bucket. 6059 // 6060 // * StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, 6061 // that you want Elastic Transcoder to assign to the video files and playlists 6062 // that it stores in your Amazon S3 bucket. 6063 ContentConfig *PipelineOutputConfig `type:"structure"` 6064 6065 // The identifier for the pipeline. You use this value to identify the pipeline 6066 // in which you want to perform a variety of operations, such as creating a 6067 // job or a preset. 6068 Id *string `type:"string"` 6069 6070 // The Amazon S3 bucket from which Elastic Transcoder gets media files for transcoding 6071 // and the graphics files, if any, that you want to use for watermarks. 6072 InputBucket *string `type:"string"` 6073 6074 // The name of the pipeline. We recommend that the name be unique within the 6075 // AWS account, but uniqueness is not enforced. 6076 // 6077 // Constraints: Maximum 40 characters 6078 Name *string `min:"1" type:"string"` 6079 6080 // The Amazon Simple Notification Service (Amazon SNS) topic that you want to 6081 // notify to report job status. 6082 // 6083 // To receive notifications, you must also subscribe to the new topic in the 6084 // Amazon SNS console. 6085 // 6086 // * Progressing (optional): The Amazon Simple Notification Service (Amazon 6087 // SNS) topic that you want to notify when Elastic Transcoder has started 6088 // to process the job. 6089 // 6090 // * Complete (optional): The Amazon SNS topic that you want to notify when 6091 // Elastic Transcoder has finished processing the job. 6092 // 6093 // * Warning (optional): The Amazon SNS topic that you want to notify when 6094 // Elastic Transcoder encounters a warning condition. 6095 // 6096 // * Error (optional): The Amazon SNS topic that you want to notify when 6097 // Elastic Transcoder encounters an error condition. 6098 Notifications *Notifications `type:"structure"` 6099 6100 // The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded 6101 // files, thumbnails, and playlists. Either you specify this value, or you specify 6102 // both ContentConfig and ThumbnailConfig. 6103 OutputBucket *string `type:"string"` 6104 6105 // The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses 6106 // to transcode jobs for this pipeline. 6107 Role *string `type:"string"` 6108 6109 // The current status of the pipeline: 6110 // 6111 // * Active: The pipeline is processing jobs. 6112 // 6113 // * Paused: The pipeline is not currently processing jobs. 6114 Status *string `type:"string"` 6115 6116 // Information about the Amazon S3 bucket in which you want Elastic Transcoder 6117 // to save thumbnail files. Either you specify both ContentConfig and ThumbnailConfig, 6118 // or you specify OutputBucket. 6119 // 6120 // * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to 6121 // save thumbnail files. 6122 // 6123 // * Permissions: A list of the users and/or predefined Amazon S3 groups 6124 // you want to have access to thumbnail files, and the type of access that 6125 // you want them to have. GranteeType: The type of value that appears in 6126 // the Grantee object: Canonical: Either the canonical user ID for an AWS 6127 // account or an origin access identity for an Amazon CloudFront distribution. 6128 // A canonical user ID is not the same as an AWS account number. Email: The 6129 // registered email address of an AWS account. Group: One of the following 6130 // predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery. 6131 // Grantee: The AWS user or group that you want to have access to thumbnail 6132 // files. Access: The permission that you want to give to the AWS user that 6133 // is listed in Grantee. Valid values include: READ: The grantee can read 6134 // the thumbnails and metadata for thumbnails that Elastic Transcoder adds 6135 // to the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL 6136 // for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP: 6137 // The grantee can write the ACL for the thumbnails that Elastic Transcoder 6138 // adds to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, 6139 // and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds 6140 // to the Amazon S3 bucket. 6141 // 6142 // * StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, 6143 // that you want Elastic Transcoder to assign to the thumbnails that it stores 6144 // in your Amazon S3 bucket. 6145 ThumbnailConfig *PipelineOutputConfig `type:"structure"` 6146 } 6147 6148 // String returns the string representation. 6149 // 6150 // API parameter values that are decorated as "sensitive" in the API will not 6151 // be included in the string output. The member name will be present, but the 6152 // value will be replaced with "sensitive". 6153 func (s Pipeline) String() string { 6154 return awsutil.Prettify(s) 6155 } 6156 6157 // GoString returns the string representation. 6158 // 6159 // API parameter values that are decorated as "sensitive" in the API will not 6160 // be included in the string output. The member name will be present, but the 6161 // value will be replaced with "sensitive". 6162 func (s Pipeline) GoString() string { 6163 return s.String() 6164 } 6165 6166 // SetArn sets the Arn field's value. 6167 func (s *Pipeline) SetArn(v string) *Pipeline { 6168 s.Arn = &v 6169 return s 6170 } 6171 6172 // SetAwsKmsKeyArn sets the AwsKmsKeyArn field's value. 6173 func (s *Pipeline) SetAwsKmsKeyArn(v string) *Pipeline { 6174 s.AwsKmsKeyArn = &v 6175 return s 6176 } 6177 6178 // SetContentConfig sets the ContentConfig field's value. 6179 func (s *Pipeline) SetContentConfig(v *PipelineOutputConfig) *Pipeline { 6180 s.ContentConfig = v 6181 return s 6182 } 6183 6184 // SetId sets the Id field's value. 6185 func (s *Pipeline) SetId(v string) *Pipeline { 6186 s.Id = &v 6187 return s 6188 } 6189 6190 // SetInputBucket sets the InputBucket field's value. 6191 func (s *Pipeline) SetInputBucket(v string) *Pipeline { 6192 s.InputBucket = &v 6193 return s 6194 } 6195 6196 // SetName sets the Name field's value. 6197 func (s *Pipeline) SetName(v string) *Pipeline { 6198 s.Name = &v 6199 return s 6200 } 6201 6202 // SetNotifications sets the Notifications field's value. 6203 func (s *Pipeline) SetNotifications(v *Notifications) *Pipeline { 6204 s.Notifications = v 6205 return s 6206 } 6207 6208 // SetOutputBucket sets the OutputBucket field's value. 6209 func (s *Pipeline) SetOutputBucket(v string) *Pipeline { 6210 s.OutputBucket = &v 6211 return s 6212 } 6213 6214 // SetRole sets the Role field's value. 6215 func (s *Pipeline) SetRole(v string) *Pipeline { 6216 s.Role = &v 6217 return s 6218 } 6219 6220 // SetStatus sets the Status field's value. 6221 func (s *Pipeline) SetStatus(v string) *Pipeline { 6222 s.Status = &v 6223 return s 6224 } 6225 6226 // SetThumbnailConfig sets the ThumbnailConfig field's value. 6227 func (s *Pipeline) SetThumbnailConfig(v *PipelineOutputConfig) *Pipeline { 6228 s.ThumbnailConfig = v 6229 return s 6230 } 6231 6232 // The PipelineOutputConfig structure. 6233 type PipelineOutputConfig struct { 6234 _ struct{} `type:"structure"` 6235 6236 // The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded 6237 // files. Specify this value when all of the following are true: 6238 // 6239 // * You want to save transcoded files, thumbnails (if any), and playlists 6240 // (if any) together in one bucket. 6241 // 6242 // * You do not want to specify the users or groups who have access to the 6243 // transcoded files, thumbnails, and playlists. 6244 // 6245 // * You do not want to specify the permissions that Elastic Transcoder grants 6246 // to the files. 6247 // 6248 // * You want to associate the transcoded files and thumbnails with the Amazon 6249 // S3 Standard storage class. 6250 // 6251 // If you want to save transcoded files and playlists in one bucket and thumbnails 6252 // in another bucket, specify which users can access the transcoded files or 6253 // the permissions the users have, or change the Amazon S3 storage class, omit 6254 // OutputBucket and specify values for ContentConfig and ThumbnailConfig instead. 6255 Bucket *string `type:"string"` 6256 6257 // Optional. The Permissions object specifies which users and/or predefined 6258 // Amazon S3 groups you want to have access to transcoded files and playlists, 6259 // and the type of access you want them to have. You can grant permissions to 6260 // a maximum of 30 users and/or predefined Amazon S3 groups. 6261 // 6262 // If you include Permissions, Elastic Transcoder grants only the permissions 6263 // that you specify. It does not grant full permissions to the owner of the 6264 // role specified by Role. If you want that user to have full control, you must 6265 // explicitly grant full control to the user. 6266 // 6267 // If you omit Permissions, Elastic Transcoder grants full control over the 6268 // transcoded files and playlists to the owner of the role specified by Role, 6269 // and grants no other permissions to any other user or group. 6270 Permissions []*Permission `type:"list"` 6271 6272 // The Amazon S3 storage class, Standard or ReducedRedundancy, that you want 6273 // Elastic Transcoder to assign to the video files and playlists that it stores 6274 // in your Amazon S3 bucket. 6275 StorageClass *string `type:"string"` 6276 } 6277 6278 // String returns the string representation. 6279 // 6280 // API parameter values that are decorated as "sensitive" in the API will not 6281 // be included in the string output. The member name will be present, but the 6282 // value will be replaced with "sensitive". 6283 func (s PipelineOutputConfig) String() string { 6284 return awsutil.Prettify(s) 6285 } 6286 6287 // GoString returns the string representation. 6288 // 6289 // API parameter values that are decorated as "sensitive" in the API will not 6290 // be included in the string output. The member name will be present, but the 6291 // value will be replaced with "sensitive". 6292 func (s PipelineOutputConfig) GoString() string { 6293 return s.String() 6294 } 6295 6296 // Validate inspects the fields of the type to determine if they are valid. 6297 func (s *PipelineOutputConfig) Validate() error { 6298 invalidParams := request.ErrInvalidParams{Context: "PipelineOutputConfig"} 6299 if s.Permissions != nil { 6300 for i, v := range s.Permissions { 6301 if v == nil { 6302 continue 6303 } 6304 if err := v.Validate(); err != nil { 6305 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) 6306 } 6307 } 6308 } 6309 6310 if invalidParams.Len() > 0 { 6311 return invalidParams 6312 } 6313 return nil 6314 } 6315 6316 // SetBucket sets the Bucket field's value. 6317 func (s *PipelineOutputConfig) SetBucket(v string) *PipelineOutputConfig { 6318 s.Bucket = &v 6319 return s 6320 } 6321 6322 // SetPermissions sets the Permissions field's value. 6323 func (s *PipelineOutputConfig) SetPermissions(v []*Permission) *PipelineOutputConfig { 6324 s.Permissions = v 6325 return s 6326 } 6327 6328 // SetStorageClass sets the StorageClass field's value. 6329 func (s *PipelineOutputConfig) SetStorageClass(v string) *PipelineOutputConfig { 6330 s.StorageClass = &v 6331 return s 6332 } 6333 6334 // The PlayReady DRM settings, if any, that you want Elastic Transcoder to apply 6335 // to the output files associated with this playlist. 6336 // 6337 // PlayReady DRM encrypts your media files using aes-ctr encryption. 6338 // 6339 // If you use DRM for an HLSv3 playlist, your outputs must have a master playlist. 6340 type PlayReadyDrm struct { 6341 _ struct{} `type:"structure"` 6342 6343 // The type of DRM, if any, that you want Elastic Transcoder to apply to the 6344 // output files associated with this playlist. 6345 Format *string `type:"string"` 6346 6347 // The series of random bits created by a random bit generator, unique for every 6348 // encryption operation, that you want Elastic Transcoder to use to encrypt 6349 // your files. The initialization vector must be base64-encoded, and it must 6350 // be exactly 8 bytes long before being base64-encoded. If no initialization 6351 // vector is provided, Elastic Transcoder generates one for you. 6352 InitializationVector *string `type:"string"` 6353 6354 // The DRM key for your file, provided by your DRM license provider. The key 6355 // must be base64-encoded, and it must be one of the following bit lengths before 6356 // being base64-encoded: 6357 // 6358 // 128, 192, or 256. 6359 // 6360 // The key must also be encrypted by using AWS KMS. 6361 Key *string `type:"string"` 6362 6363 // The ID for your DRM key, so that your DRM license provider knows which key 6364 // to provide. 6365 // 6366 // The key ID must be provided in big endian, and Elastic Transcoder converts 6367 // it to little endian before inserting it into the PlayReady DRM headers. If 6368 // you are unsure whether your license server provides your key ID in big or 6369 // little endian, check with your DRM provider. 6370 KeyId *string `type:"string"` 6371 6372 // The MD5 digest of the key used for DRM on your file, and that you want Elastic 6373 // Transcoder to use as a checksum to make sure your key was not corrupted in 6374 // transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes 6375 // before being base64-encoded. 6376 KeyMd5 *string `type:"string"` 6377 6378 // The location of the license key required to play DRM content. The URL must 6379 // be an absolute path, and is referenced by the PlayReady header. The PlayReady 6380 // header is referenced in the protection header of the client manifest for 6381 // Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata 6382 // tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/ 6383 LicenseAcquisitionUrl *string `min:"1" type:"string"` 6384 } 6385 6386 // String returns the string representation. 6387 // 6388 // API parameter values that are decorated as "sensitive" in the API will not 6389 // be included in the string output. The member name will be present, but the 6390 // value will be replaced with "sensitive". 6391 func (s PlayReadyDrm) String() string { 6392 return awsutil.Prettify(s) 6393 } 6394 6395 // GoString returns the string representation. 6396 // 6397 // API parameter values that are decorated as "sensitive" in the API will not 6398 // be included in the string output. The member name will be present, but the 6399 // value will be replaced with "sensitive". 6400 func (s PlayReadyDrm) GoString() string { 6401 return s.String() 6402 } 6403 6404 // Validate inspects the fields of the type to determine if they are valid. 6405 func (s *PlayReadyDrm) Validate() error { 6406 invalidParams := request.ErrInvalidParams{Context: "PlayReadyDrm"} 6407 if s.LicenseAcquisitionUrl != nil && len(*s.LicenseAcquisitionUrl) < 1 { 6408 invalidParams.Add(request.NewErrParamMinLen("LicenseAcquisitionUrl", 1)) 6409 } 6410 6411 if invalidParams.Len() > 0 { 6412 return invalidParams 6413 } 6414 return nil 6415 } 6416 6417 // SetFormat sets the Format field's value. 6418 func (s *PlayReadyDrm) SetFormat(v string) *PlayReadyDrm { 6419 s.Format = &v 6420 return s 6421 } 6422 6423 // SetInitializationVector sets the InitializationVector field's value. 6424 func (s *PlayReadyDrm) SetInitializationVector(v string) *PlayReadyDrm { 6425 s.InitializationVector = &v 6426 return s 6427 } 6428 6429 // SetKey sets the Key field's value. 6430 func (s *PlayReadyDrm) SetKey(v string) *PlayReadyDrm { 6431 s.Key = &v 6432 return s 6433 } 6434 6435 // SetKeyId sets the KeyId field's value. 6436 func (s *PlayReadyDrm) SetKeyId(v string) *PlayReadyDrm { 6437 s.KeyId = &v 6438 return s 6439 } 6440 6441 // SetKeyMd5 sets the KeyMd5 field's value. 6442 func (s *PlayReadyDrm) SetKeyMd5(v string) *PlayReadyDrm { 6443 s.KeyMd5 = &v 6444 return s 6445 } 6446 6447 // SetLicenseAcquisitionUrl sets the LicenseAcquisitionUrl field's value. 6448 func (s *PlayReadyDrm) SetLicenseAcquisitionUrl(v string) *PlayReadyDrm { 6449 s.LicenseAcquisitionUrl = &v 6450 return s 6451 } 6452 6453 // Use Only for Fragmented MP4 or MPEG-TS Outputs. If you specify a preset for 6454 // which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists 6455 // contains information about the master playlists that you want Elastic Transcoder 6456 // to create. We recommend that you create only one master playlist per output 6457 // format. The maximum number of master playlists in a job is 30. 6458 type Playlist struct { 6459 _ struct{} `type:"structure"` 6460 6461 // The format of the output playlist. Valid formats include HLSv3, HLSv4, and 6462 // Smooth. 6463 Format *string `type:"string"` 6464 6465 // The HLS content protection settings, if any, that you want Elastic Transcoder 6466 // to apply to the output files associated with this playlist. 6467 HlsContentProtection *HlsContentProtection `type:"structure"` 6468 6469 // The name that you want Elastic Transcoder to assign to the master playlist, 6470 // for example, nyc-vacation.m3u8. If the name includes a / character, the section 6471 // of the name before the last / must be identical for all Name objects. If 6472 // you create more than one master playlist, the values of all Name objects 6473 // must be unique. 6474 // 6475 // Elastic Transcoder automatically appends the relevant file extension to the 6476 // file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth 6477 // playlists). If you include a file extension in Name, the file name will have 6478 // two extensions. 6479 Name *string `min:"1" type:"string"` 6480 6481 // For each output in this job that you want to include in a master playlist, 6482 // the value of the Outputs:Key object. 6483 // 6484 // * If your output is not HLS or does not have a segment duration set, the 6485 // name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key: 6486 // OutputKeyPrefixOutputs:Key 6487 // 6488 // * If your output is HLSv3 and has a segment duration set, or is not included 6489 // in a playlist, Elastic Transcoder creates an output playlist file with 6490 // a file extension of .m3u8, and a series of .ts files that include a five-digit 6491 // sequential counter beginning with 00000: OutputKeyPrefixOutputs:Key.m3u8 6492 // OutputKeyPrefixOutputs:Key00000.ts 6493 // 6494 // * If your output is HLSv4, has a segment duration set, and is included 6495 // in an HLSv4 playlist, Elastic Transcoder creates an output playlist file 6496 // with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder 6497 // also creates an output file with an extension of _iframe.m3u8: OutputKeyPrefixOutputs:Key_v4.m3u8 6498 // OutputKeyPrefixOutputs:Key_iframe.m3u8 OutputKeyPrefixOutputs:Key.ts 6499 // 6500 // Elastic Transcoder automatically appends the relevant file extension to the 6501 // file name. If you include a file extension in Output Key, the file name will 6502 // have two extensions. 6503 // 6504 // If you include more than one output in a playlist, any segment duration settings, 6505 // clip settings, or caption settings must be the same for all outputs in the 6506 // playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate 6507 // to Video:KeyframesMaxDist ratio must be the same for all outputs. 6508 OutputKeys []*string `type:"list"` 6509 6510 // The DRM settings, if any, that you want Elastic Transcoder to apply to the 6511 // output files associated with this playlist. 6512 PlayReadyDrm *PlayReadyDrm `type:"structure"` 6513 6514 // The status of the job with which the playlist is associated. 6515 Status *string `type:"string"` 6516 6517 // Information that further explains the status. 6518 StatusDetail *string `type:"string"` 6519 } 6520 6521 // String returns the string representation. 6522 // 6523 // API parameter values that are decorated as "sensitive" in the API will not 6524 // be included in the string output. The member name will be present, but the 6525 // value will be replaced with "sensitive". 6526 func (s Playlist) String() string { 6527 return awsutil.Prettify(s) 6528 } 6529 6530 // GoString returns the string representation. 6531 // 6532 // API parameter values that are decorated as "sensitive" in the API will not 6533 // be included in the string output. The member name will be present, but the 6534 // value will be replaced with "sensitive". 6535 func (s Playlist) GoString() string { 6536 return s.String() 6537 } 6538 6539 // SetFormat sets the Format field's value. 6540 func (s *Playlist) SetFormat(v string) *Playlist { 6541 s.Format = &v 6542 return s 6543 } 6544 6545 // SetHlsContentProtection sets the HlsContentProtection field's value. 6546 func (s *Playlist) SetHlsContentProtection(v *HlsContentProtection) *Playlist { 6547 s.HlsContentProtection = v 6548 return s 6549 } 6550 6551 // SetName sets the Name field's value. 6552 func (s *Playlist) SetName(v string) *Playlist { 6553 s.Name = &v 6554 return s 6555 } 6556 6557 // SetOutputKeys sets the OutputKeys field's value. 6558 func (s *Playlist) SetOutputKeys(v []*string) *Playlist { 6559 s.OutputKeys = v 6560 return s 6561 } 6562 6563 // SetPlayReadyDrm sets the PlayReadyDrm field's value. 6564 func (s *Playlist) SetPlayReadyDrm(v *PlayReadyDrm) *Playlist { 6565 s.PlayReadyDrm = v 6566 return s 6567 } 6568 6569 // SetStatus sets the Status field's value. 6570 func (s *Playlist) SetStatus(v string) *Playlist { 6571 s.Status = &v 6572 return s 6573 } 6574 6575 // SetStatusDetail sets the StatusDetail field's value. 6576 func (s *Playlist) SetStatusDetail(v string) *Playlist { 6577 s.StatusDetail = &v 6578 return s 6579 } 6580 6581 // Presets are templates that contain most of the settings for transcoding media 6582 // files from one format to another. Elastic Transcoder includes some default 6583 // presets for common formats, for example, several iPod and iPhone versions. 6584 // You can also create your own presets for formats that aren't included among 6585 // the default presets. You specify which preset you want to use when you create 6586 // a job. 6587 type Preset struct { 6588 _ struct{} `type:"structure"` 6589 6590 // The Amazon Resource Name (ARN) for the preset. 6591 Arn *string `type:"string"` 6592 6593 // A section of the response body that provides information about the audio 6594 // preset values. 6595 Audio *AudioParameters `type:"structure"` 6596 6597 // The container type for the output file. Valid values include flac, flv, fmp4, 6598 // gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm. 6599 Container *string `type:"string"` 6600 6601 // A description of the preset. 6602 Description *string `type:"string"` 6603 6604 // Identifier for the new preset. You use this value to get settings for the 6605 // preset or to delete it. 6606 Id *string `type:"string"` 6607 6608 // The name of the preset. 6609 Name *string `min:"1" type:"string"` 6610 6611 // A section of the response body that provides information about the thumbnail 6612 // preset values, if any. 6613 Thumbnails *Thumbnails `type:"structure"` 6614 6615 // Whether the preset is a default preset provided by Elastic Transcoder (System) 6616 // or a preset that you have defined (Custom). 6617 Type *string `type:"string"` 6618 6619 // A section of the response body that provides information about the video 6620 // preset values. 6621 Video *VideoParameters `type:"structure"` 6622 } 6623 6624 // String returns the string representation. 6625 // 6626 // API parameter values that are decorated as "sensitive" in the API will not 6627 // be included in the string output. The member name will be present, but the 6628 // value will be replaced with "sensitive". 6629 func (s Preset) String() string { 6630 return awsutil.Prettify(s) 6631 } 6632 6633 // GoString returns the string representation. 6634 // 6635 // API parameter values that are decorated as "sensitive" in the API will not 6636 // be included in the string output. The member name will be present, but the 6637 // value will be replaced with "sensitive". 6638 func (s Preset) GoString() string { 6639 return s.String() 6640 } 6641 6642 // SetArn sets the Arn field's value. 6643 func (s *Preset) SetArn(v string) *Preset { 6644 s.Arn = &v 6645 return s 6646 } 6647 6648 // SetAudio sets the Audio field's value. 6649 func (s *Preset) SetAudio(v *AudioParameters) *Preset { 6650 s.Audio = v 6651 return s 6652 } 6653 6654 // SetContainer sets the Container field's value. 6655 func (s *Preset) SetContainer(v string) *Preset { 6656 s.Container = &v 6657 return s 6658 } 6659 6660 // SetDescription sets the Description field's value. 6661 func (s *Preset) SetDescription(v string) *Preset { 6662 s.Description = &v 6663 return s 6664 } 6665 6666 // SetId sets the Id field's value. 6667 func (s *Preset) SetId(v string) *Preset { 6668 s.Id = &v 6669 return s 6670 } 6671 6672 // SetName sets the Name field's value. 6673 func (s *Preset) SetName(v string) *Preset { 6674 s.Name = &v 6675 return s 6676 } 6677 6678 // SetThumbnails sets the Thumbnails field's value. 6679 func (s *Preset) SetThumbnails(v *Thumbnails) *Preset { 6680 s.Thumbnails = v 6681 return s 6682 } 6683 6684 // SetType sets the Type field's value. 6685 func (s *Preset) SetType(v string) *Preset { 6686 s.Type = &v 6687 return s 6688 } 6689 6690 // SetVideo sets the Video field's value. 6691 func (s *Preset) SetVideo(v *VideoParameters) *Preset { 6692 s.Video = v 6693 return s 6694 } 6695 6696 // Settings for the size, location, and opacity of graphics that you want Elastic 6697 // Transcoder to overlay over videos that are transcoded using this preset. 6698 // You can specify settings for up to four watermarks. Watermarks appear in 6699 // the specified size and location, and with the specified opacity for the duration 6700 // of the transcoded video. 6701 // 6702 // Watermarks can be in .png or .jpg format. If you want to display a watermark 6703 // that is not rectangular, use the .png format, which supports transparency. 6704 // 6705 // When you create a job that uses this preset, you specify the .png or .jpg 6706 // graphics that you want Elastic Transcoder to include in the transcoded videos. 6707 // You can specify fewer graphics in the job than you specify watermark settings 6708 // in the preset, which allows you to use the same preset for up to four watermarks 6709 // that have different dimensions. 6710 type PresetWatermark struct { 6711 _ struct{} `type:"structure"` 6712 6713 // The horizontal position of the watermark unless you specify a non-zero value 6714 // for HorizontalOffset: 6715 // 6716 // * Left: The left edge of the watermark is aligned with the left border 6717 // of the video. 6718 // 6719 // * Right: The right edge of the watermark is aligned with the right border 6720 // of the video. 6721 // 6722 // * Center: The watermark is centered between the left and right borders. 6723 HorizontalAlign *string `type:"string"` 6724 6725 // The amount by which you want the horizontal position of the watermark to 6726 // be offset from the position specified by HorizontalAlign: 6727 // 6728 // * number of pixels (px): The minimum value is 0 pixels, and the maximum 6729 // value is the value of MaxWidth. 6730 // 6731 // * integer percentage (%): The range of valid values is 0 to 100. 6732 // 6733 // For example, if you specify Left for HorizontalAlign and 5px for HorizontalOffset, 6734 // the left side of the watermark appears 5 pixels from the left border of the 6735 // output video. 6736 // 6737 // HorizontalOffset is only valid when the value of HorizontalAlign is Left 6738 // or Right. If you specify an offset that causes the watermark to extend beyond 6739 // the left or right border and Elastic Transcoder has not added black bars, 6740 // the watermark is cropped. If Elastic Transcoder has added black bars, the 6741 // watermark extends into the black bars. If the watermark extends beyond the 6742 // black bars, it is cropped. 6743 // 6744 // Use the value of Target to specify whether you want to include the black 6745 // bars that are added by Elastic Transcoder, if any, in the offset calculation. 6746 HorizontalOffset *string `type:"string"` 6747 6748 // A unique identifier for the settings for one watermark. The value of Id can 6749 // be up to 40 characters long. 6750 Id *string `min:"1" type:"string"` 6751 6752 // The maximum height of the watermark in one of the following formats: 6753 // 6754 // * number of pixels (px): The minimum value is 16 pixels, and the maximum 6755 // value is the value of MaxHeight. 6756 // 6757 // * integer percentage (%): The range of valid values is 0 to 100. Use the 6758 // value of Target to specify whether you want Elastic Transcoder to include 6759 // the black bars that are added by Elastic Transcoder, if any, in the calculation. 6760 // 6761 // If you specify the value in pixels, it must be less than or equal to the 6762 // value of MaxHeight. 6763 MaxHeight *string `type:"string"` 6764 6765 // The maximum width of the watermark in one of the following formats: 6766 // 6767 // * number of pixels (px): The minimum value is 16 pixels, and the maximum 6768 // value is the value of MaxWidth. 6769 // 6770 // * integer percentage (%): The range of valid values is 0 to 100. Use the 6771 // value of Target to specify whether you want Elastic Transcoder to include 6772 // the black bars that are added by Elastic Transcoder, if any, in the calculation. 6773 // If you specify the value in pixels, it must be less than or equal to the 6774 // value of MaxWidth. 6775 MaxWidth *string `type:"string"` 6776 6777 // A percentage that indicates how much you want a watermark to obscure the 6778 // video in the location where it appears. Valid values are 0 (the watermark 6779 // is invisible) to 100 (the watermark completely obscures the video in the 6780 // specified location). The datatype of Opacity is float. 6781 // 6782 // Elastic Transcoder supports transparent .png graphics. If you use a transparent 6783 // .png, the transparent portion of the video appears as if you had specified 6784 // a value of 0 for Opacity. The .jpg file format doesn't support transparency. 6785 Opacity *string `type:"string"` 6786 6787 // A value that controls scaling of the watermark: 6788 // 6789 // * Fit: Elastic Transcoder scales the watermark so it matches the value 6790 // that you specified in either MaxWidth or MaxHeight without exceeding the 6791 // other value. 6792 // 6793 // * Stretch: Elastic Transcoder stretches the watermark to match the values 6794 // that you specified for MaxWidth and MaxHeight. If the relative proportions 6795 // of the watermark and the values of MaxWidth and MaxHeight are different, 6796 // the watermark will be distorted. 6797 // 6798 // * ShrinkToFit: Elastic Transcoder scales the watermark down so that its 6799 // dimensions match the values that you specified for at least one of MaxWidth 6800 // and MaxHeight without exceeding either value. If you specify this option, 6801 // Elastic Transcoder does not scale the watermark up. 6802 SizingPolicy *string `type:"string"` 6803 6804 // A value that determines how Elastic Transcoder interprets values that you 6805 // specified for HorizontalOffset, VerticalOffset, MaxWidth, and MaxHeight: 6806 // 6807 // * Content: HorizontalOffset and VerticalOffset values are calculated based 6808 // on the borders of the video excluding black bars added by Elastic Transcoder, 6809 // if any. In addition, MaxWidth and MaxHeight, if specified as a percentage, 6810 // are calculated based on the borders of the video excluding black bars 6811 // added by Elastic Transcoder, if any. 6812 // 6813 // * Frame: HorizontalOffset and VerticalOffset values are calculated based 6814 // on the borders of the video including black bars added by Elastic Transcoder, 6815 // if any. In addition, MaxWidth and MaxHeight, if specified as a percentage, 6816 // are calculated based on the borders of the video including black bars 6817 // added by Elastic Transcoder, if any. 6818 Target *string `type:"string"` 6819 6820 // The vertical position of the watermark unless you specify a non-zero value 6821 // for VerticalOffset: 6822 // 6823 // * Top: The top edge of the watermark is aligned with the top border of 6824 // the video. 6825 // 6826 // * Bottom: The bottom edge of the watermark is aligned with the bottom 6827 // border of the video. 6828 // 6829 // * Center: The watermark is centered between the top and bottom borders. 6830 VerticalAlign *string `type:"string"` 6831 6832 // VerticalOffset 6833 // 6834 // The amount by which you want the vertical position of the watermark to be 6835 // offset from the position specified by VerticalAlign: 6836 // 6837 // * number of pixels (px): The minimum value is 0 pixels, and the maximum 6838 // value is the value of MaxHeight. 6839 // 6840 // * integer percentage (%): The range of valid values is 0 to 100. 6841 // 6842 // For example, if you specify Top for VerticalAlign and 5px for VerticalOffset, 6843 // the top of the watermark appears 5 pixels from the top border of the output 6844 // video. 6845 // 6846 // VerticalOffset is only valid when the value of VerticalAlign is Top or Bottom. 6847 // 6848 // If you specify an offset that causes the watermark to extend beyond the top 6849 // or bottom border and Elastic Transcoder has not added black bars, the watermark 6850 // is cropped. If Elastic Transcoder has added black bars, the watermark extends 6851 // into the black bars. If the watermark extends beyond the black bars, it is 6852 // cropped. 6853 // 6854 // Use the value of Target to specify whether you want Elastic Transcoder to 6855 // include the black bars that are added by Elastic Transcoder, if any, in the 6856 // offset calculation. 6857 VerticalOffset *string `type:"string"` 6858 } 6859 6860 // String returns the string representation. 6861 // 6862 // API parameter values that are decorated as "sensitive" in the API will not 6863 // be included in the string output. The member name will be present, but the 6864 // value will be replaced with "sensitive". 6865 func (s PresetWatermark) String() string { 6866 return awsutil.Prettify(s) 6867 } 6868 6869 // GoString returns the string representation. 6870 // 6871 // API parameter values that are decorated as "sensitive" in the API will not 6872 // be included in the string output. The member name will be present, but the 6873 // value will be replaced with "sensitive". 6874 func (s PresetWatermark) GoString() string { 6875 return s.String() 6876 } 6877 6878 // Validate inspects the fields of the type to determine if they are valid. 6879 func (s *PresetWatermark) Validate() error { 6880 invalidParams := request.ErrInvalidParams{Context: "PresetWatermark"} 6881 if s.Id != nil && len(*s.Id) < 1 { 6882 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 6883 } 6884 6885 if invalidParams.Len() > 0 { 6886 return invalidParams 6887 } 6888 return nil 6889 } 6890 6891 // SetHorizontalAlign sets the HorizontalAlign field's value. 6892 func (s *PresetWatermark) SetHorizontalAlign(v string) *PresetWatermark { 6893 s.HorizontalAlign = &v 6894 return s 6895 } 6896 6897 // SetHorizontalOffset sets the HorizontalOffset field's value. 6898 func (s *PresetWatermark) SetHorizontalOffset(v string) *PresetWatermark { 6899 s.HorizontalOffset = &v 6900 return s 6901 } 6902 6903 // SetId sets the Id field's value. 6904 func (s *PresetWatermark) SetId(v string) *PresetWatermark { 6905 s.Id = &v 6906 return s 6907 } 6908 6909 // SetMaxHeight sets the MaxHeight field's value. 6910 func (s *PresetWatermark) SetMaxHeight(v string) *PresetWatermark { 6911 s.MaxHeight = &v 6912 return s 6913 } 6914 6915 // SetMaxWidth sets the MaxWidth field's value. 6916 func (s *PresetWatermark) SetMaxWidth(v string) *PresetWatermark { 6917 s.MaxWidth = &v 6918 return s 6919 } 6920 6921 // SetOpacity sets the Opacity field's value. 6922 func (s *PresetWatermark) SetOpacity(v string) *PresetWatermark { 6923 s.Opacity = &v 6924 return s 6925 } 6926 6927 // SetSizingPolicy sets the SizingPolicy field's value. 6928 func (s *PresetWatermark) SetSizingPolicy(v string) *PresetWatermark { 6929 s.SizingPolicy = &v 6930 return s 6931 } 6932 6933 // SetTarget sets the Target field's value. 6934 func (s *PresetWatermark) SetTarget(v string) *PresetWatermark { 6935 s.Target = &v 6936 return s 6937 } 6938 6939 // SetVerticalAlign sets the VerticalAlign field's value. 6940 func (s *PresetWatermark) SetVerticalAlign(v string) *PresetWatermark { 6941 s.VerticalAlign = &v 6942 return s 6943 } 6944 6945 // SetVerticalOffset sets the VerticalOffset field's value. 6946 func (s *PresetWatermark) SetVerticalOffset(v string) *PresetWatermark { 6947 s.VerticalOffset = &v 6948 return s 6949 } 6950 6951 // The ReadJobRequest structure. 6952 type ReadJobInput struct { 6953 _ struct{} `type:"structure" nopayload:"true"` 6954 6955 // The identifier of the job for which you want to get detailed information. 6956 // 6957 // Id is a required field 6958 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 6959 } 6960 6961 // String returns the string representation. 6962 // 6963 // API parameter values that are decorated as "sensitive" in the API will not 6964 // be included in the string output. The member name will be present, but the 6965 // value will be replaced with "sensitive". 6966 func (s ReadJobInput) String() string { 6967 return awsutil.Prettify(s) 6968 } 6969 6970 // GoString returns the string representation. 6971 // 6972 // API parameter values that are decorated as "sensitive" in the API will not 6973 // be included in the string output. The member name will be present, but the 6974 // value will be replaced with "sensitive". 6975 func (s ReadJobInput) GoString() string { 6976 return s.String() 6977 } 6978 6979 // Validate inspects the fields of the type to determine if they are valid. 6980 func (s *ReadJobInput) Validate() error { 6981 invalidParams := request.ErrInvalidParams{Context: "ReadJobInput"} 6982 if s.Id == nil { 6983 invalidParams.Add(request.NewErrParamRequired("Id")) 6984 } 6985 if s.Id != nil && len(*s.Id) < 1 { 6986 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 6987 } 6988 6989 if invalidParams.Len() > 0 { 6990 return invalidParams 6991 } 6992 return nil 6993 } 6994 6995 // SetId sets the Id field's value. 6996 func (s *ReadJobInput) SetId(v string) *ReadJobInput { 6997 s.Id = &v 6998 return s 6999 } 7000 7001 // The ReadJobResponse structure. 7002 type ReadJobOutput struct { 7003 _ struct{} `type:"structure"` 7004 7005 // A section of the response body that provides information about the job. 7006 Job *Job `type:"structure"` 7007 } 7008 7009 // String returns the string representation. 7010 // 7011 // API parameter values that are decorated as "sensitive" in the API will not 7012 // be included in the string output. The member name will be present, but the 7013 // value will be replaced with "sensitive". 7014 func (s ReadJobOutput) String() string { 7015 return awsutil.Prettify(s) 7016 } 7017 7018 // GoString returns the string representation. 7019 // 7020 // API parameter values that are decorated as "sensitive" in the API will not 7021 // be included in the string output. The member name will be present, but the 7022 // value will be replaced with "sensitive". 7023 func (s ReadJobOutput) GoString() string { 7024 return s.String() 7025 } 7026 7027 // SetJob sets the Job field's value. 7028 func (s *ReadJobOutput) SetJob(v *Job) *ReadJobOutput { 7029 s.Job = v 7030 return s 7031 } 7032 7033 // The ReadPipelineRequest structure. 7034 type ReadPipelineInput struct { 7035 _ struct{} `type:"structure" nopayload:"true"` 7036 7037 // The identifier of the pipeline to read. 7038 // 7039 // Id is a required field 7040 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7041 } 7042 7043 // String returns the string representation. 7044 // 7045 // API parameter values that are decorated as "sensitive" in the API will not 7046 // be included in the string output. The member name will be present, but the 7047 // value will be replaced with "sensitive". 7048 func (s ReadPipelineInput) String() string { 7049 return awsutil.Prettify(s) 7050 } 7051 7052 // GoString returns the string representation. 7053 // 7054 // API parameter values that are decorated as "sensitive" in the API will not 7055 // be included in the string output. The member name will be present, but the 7056 // value will be replaced with "sensitive". 7057 func (s ReadPipelineInput) GoString() string { 7058 return s.String() 7059 } 7060 7061 // Validate inspects the fields of the type to determine if they are valid. 7062 func (s *ReadPipelineInput) Validate() error { 7063 invalidParams := request.ErrInvalidParams{Context: "ReadPipelineInput"} 7064 if s.Id == nil { 7065 invalidParams.Add(request.NewErrParamRequired("Id")) 7066 } 7067 if s.Id != nil && len(*s.Id) < 1 { 7068 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7069 } 7070 7071 if invalidParams.Len() > 0 { 7072 return invalidParams 7073 } 7074 return nil 7075 } 7076 7077 // SetId sets the Id field's value. 7078 func (s *ReadPipelineInput) SetId(v string) *ReadPipelineInput { 7079 s.Id = &v 7080 return s 7081 } 7082 7083 // The ReadPipelineResponse structure. 7084 type ReadPipelineOutput struct { 7085 _ struct{} `type:"structure"` 7086 7087 // A section of the response body that provides information about the pipeline. 7088 Pipeline *Pipeline `type:"structure"` 7089 7090 // Elastic Transcoder returns a warning if the resources used by your pipeline 7091 // are not in the same region as the pipeline. 7092 // 7093 // Using resources in the same region, such as your Amazon S3 buckets, Amazon 7094 // SNS notification topics, and AWS KMS key, reduces processing time and prevents 7095 // cross-regional charges. 7096 Warnings []*Warning `type:"list"` 7097 } 7098 7099 // String returns the string representation. 7100 // 7101 // API parameter values that are decorated as "sensitive" in the API will not 7102 // be included in the string output. The member name will be present, but the 7103 // value will be replaced with "sensitive". 7104 func (s ReadPipelineOutput) String() string { 7105 return awsutil.Prettify(s) 7106 } 7107 7108 // GoString returns the string representation. 7109 // 7110 // API parameter values that are decorated as "sensitive" in the API will not 7111 // be included in the string output. The member name will be present, but the 7112 // value will be replaced with "sensitive". 7113 func (s ReadPipelineOutput) GoString() string { 7114 return s.String() 7115 } 7116 7117 // SetPipeline sets the Pipeline field's value. 7118 func (s *ReadPipelineOutput) SetPipeline(v *Pipeline) *ReadPipelineOutput { 7119 s.Pipeline = v 7120 return s 7121 } 7122 7123 // SetWarnings sets the Warnings field's value. 7124 func (s *ReadPipelineOutput) SetWarnings(v []*Warning) *ReadPipelineOutput { 7125 s.Warnings = v 7126 return s 7127 } 7128 7129 // The ReadPresetRequest structure. 7130 type ReadPresetInput struct { 7131 _ struct{} `type:"structure" nopayload:"true"` 7132 7133 // The identifier of the preset for which you want to get detailed information. 7134 // 7135 // Id is a required field 7136 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7137 } 7138 7139 // String returns the string representation. 7140 // 7141 // API parameter values that are decorated as "sensitive" in the API will not 7142 // be included in the string output. The member name will be present, but the 7143 // value will be replaced with "sensitive". 7144 func (s ReadPresetInput) String() string { 7145 return awsutil.Prettify(s) 7146 } 7147 7148 // GoString returns the string representation. 7149 // 7150 // API parameter values that are decorated as "sensitive" in the API will not 7151 // be included in the string output. The member name will be present, but the 7152 // value will be replaced with "sensitive". 7153 func (s ReadPresetInput) GoString() string { 7154 return s.String() 7155 } 7156 7157 // Validate inspects the fields of the type to determine if they are valid. 7158 func (s *ReadPresetInput) Validate() error { 7159 invalidParams := request.ErrInvalidParams{Context: "ReadPresetInput"} 7160 if s.Id == nil { 7161 invalidParams.Add(request.NewErrParamRequired("Id")) 7162 } 7163 if s.Id != nil && len(*s.Id) < 1 { 7164 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7165 } 7166 7167 if invalidParams.Len() > 0 { 7168 return invalidParams 7169 } 7170 return nil 7171 } 7172 7173 // SetId sets the Id field's value. 7174 func (s *ReadPresetInput) SetId(v string) *ReadPresetInput { 7175 s.Id = &v 7176 return s 7177 } 7178 7179 // The ReadPresetResponse structure. 7180 type ReadPresetOutput struct { 7181 _ struct{} `type:"structure"` 7182 7183 // A section of the response body that provides information about the preset. 7184 Preset *Preset `type:"structure"` 7185 } 7186 7187 // String returns the string representation. 7188 // 7189 // API parameter values that are decorated as "sensitive" in the API will not 7190 // be included in the string output. The member name will be present, but the 7191 // value will be replaced with "sensitive". 7192 func (s ReadPresetOutput) String() string { 7193 return awsutil.Prettify(s) 7194 } 7195 7196 // GoString returns the string representation. 7197 // 7198 // API parameter values that are decorated as "sensitive" in the API will not 7199 // be included in the string output. The member name will be present, but the 7200 // value will be replaced with "sensitive". 7201 func (s ReadPresetOutput) GoString() string { 7202 return s.String() 7203 } 7204 7205 // SetPreset sets the Preset field's value. 7206 func (s *ReadPresetOutput) SetPreset(v *Preset) *ReadPresetOutput { 7207 s.Preset = v 7208 return s 7209 } 7210 7211 // The resource you are attempting to change is in use. For example, you are 7212 // attempting to delete a pipeline that is currently in use. 7213 type ResourceInUseException struct { 7214 _ struct{} `type:"structure"` 7215 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7216 7217 Message_ *string `locationName:"message" type:"string"` 7218 } 7219 7220 // String returns the string representation. 7221 // 7222 // API parameter values that are decorated as "sensitive" in the API will not 7223 // be included in the string output. The member name will be present, but the 7224 // value will be replaced with "sensitive". 7225 func (s ResourceInUseException) String() string { 7226 return awsutil.Prettify(s) 7227 } 7228 7229 // GoString returns the string representation. 7230 // 7231 // API parameter values that are decorated as "sensitive" in the API will not 7232 // be included in the string output. The member name will be present, but the 7233 // value will be replaced with "sensitive". 7234 func (s ResourceInUseException) GoString() string { 7235 return s.String() 7236 } 7237 7238 func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 7239 return &ResourceInUseException{ 7240 RespMetadata: v, 7241 } 7242 } 7243 7244 // Code returns the exception type name. 7245 func (s *ResourceInUseException) Code() string { 7246 return "ResourceInUseException" 7247 } 7248 7249 // Message returns the exception's message. 7250 func (s *ResourceInUseException) Message() string { 7251 if s.Message_ != nil { 7252 return *s.Message_ 7253 } 7254 return "" 7255 } 7256 7257 // OrigErr always returns nil, satisfies awserr.Error interface. 7258 func (s *ResourceInUseException) OrigErr() error { 7259 return nil 7260 } 7261 7262 func (s *ResourceInUseException) Error() string { 7263 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7264 } 7265 7266 // Status code returns the HTTP status code for the request's response error. 7267 func (s *ResourceInUseException) StatusCode() int { 7268 return s.RespMetadata.StatusCode 7269 } 7270 7271 // RequestID returns the service's response RequestID for request. 7272 func (s *ResourceInUseException) RequestID() string { 7273 return s.RespMetadata.RequestID 7274 } 7275 7276 // The requested resource does not exist or is not available. For example, the 7277 // pipeline to which you're trying to add a job doesn't exist or is still being 7278 // created. 7279 type ResourceNotFoundException struct { 7280 _ struct{} `type:"structure"` 7281 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7282 7283 Message_ *string `locationName:"message" type:"string"` 7284 } 7285 7286 // String returns the string representation. 7287 // 7288 // API parameter values that are decorated as "sensitive" in the API will not 7289 // be included in the string output. The member name will be present, but the 7290 // value will be replaced with "sensitive". 7291 func (s ResourceNotFoundException) String() string { 7292 return awsutil.Prettify(s) 7293 } 7294 7295 // GoString returns the string representation. 7296 // 7297 // API parameter values that are decorated as "sensitive" in the API will not 7298 // be included in the string output. The member name will be present, but the 7299 // value will be replaced with "sensitive". 7300 func (s ResourceNotFoundException) GoString() string { 7301 return s.String() 7302 } 7303 7304 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 7305 return &ResourceNotFoundException{ 7306 RespMetadata: v, 7307 } 7308 } 7309 7310 // Code returns the exception type name. 7311 func (s *ResourceNotFoundException) Code() string { 7312 return "ResourceNotFoundException" 7313 } 7314 7315 // Message returns the exception's message. 7316 func (s *ResourceNotFoundException) Message() string { 7317 if s.Message_ != nil { 7318 return *s.Message_ 7319 } 7320 return "" 7321 } 7322 7323 // OrigErr always returns nil, satisfies awserr.Error interface. 7324 func (s *ResourceNotFoundException) OrigErr() error { 7325 return nil 7326 } 7327 7328 func (s *ResourceNotFoundException) Error() string { 7329 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7330 } 7331 7332 // Status code returns the HTTP status code for the request's response error. 7333 func (s *ResourceNotFoundException) StatusCode() int { 7334 return s.RespMetadata.StatusCode 7335 } 7336 7337 // RequestID returns the service's response RequestID for request. 7338 func (s *ResourceNotFoundException) RequestID() string { 7339 return s.RespMetadata.RequestID 7340 } 7341 7342 // The TestRoleRequest structure. 7343 // 7344 // Deprecated: TestRoleInput has been deprecated 7345 type TestRoleInput struct { 7346 _ struct{} `deprecated:"true" type:"structure"` 7347 7348 // The Amazon S3 bucket that contains media files to be transcoded. The action 7349 // attempts to read from this bucket. 7350 // 7351 // InputBucket is a required field 7352 InputBucket *string `type:"string" required:"true"` 7353 7354 // The Amazon S3 bucket that Elastic Transcoder writes transcoded media files 7355 // to. The action attempts to read from this bucket. 7356 // 7357 // OutputBucket is a required field 7358 OutputBucket *string `type:"string" required:"true"` 7359 7360 // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder 7361 // to test. 7362 // 7363 // Role is a required field 7364 Role *string `type:"string" required:"true"` 7365 7366 // The ARNs of one or more Amazon Simple Notification Service (Amazon SNS) topics 7367 // that you want the action to send a test notification to. 7368 // 7369 // Topics is a required field 7370 Topics []*string `type:"list" required:"true"` 7371 } 7372 7373 // String returns the string representation. 7374 // 7375 // API parameter values that are decorated as "sensitive" in the API will not 7376 // be included in the string output. The member name will be present, but the 7377 // value will be replaced with "sensitive". 7378 func (s TestRoleInput) String() string { 7379 return awsutil.Prettify(s) 7380 } 7381 7382 // GoString returns the string representation. 7383 // 7384 // API parameter values that are decorated as "sensitive" in the API will not 7385 // be included in the string output. The member name will be present, but the 7386 // value will be replaced with "sensitive". 7387 func (s TestRoleInput) GoString() string { 7388 return s.String() 7389 } 7390 7391 // Validate inspects the fields of the type to determine if they are valid. 7392 func (s *TestRoleInput) Validate() error { 7393 invalidParams := request.ErrInvalidParams{Context: "TestRoleInput"} 7394 if s.InputBucket == nil { 7395 invalidParams.Add(request.NewErrParamRequired("InputBucket")) 7396 } 7397 if s.OutputBucket == nil { 7398 invalidParams.Add(request.NewErrParamRequired("OutputBucket")) 7399 } 7400 if s.Role == nil { 7401 invalidParams.Add(request.NewErrParamRequired("Role")) 7402 } 7403 if s.Topics == nil { 7404 invalidParams.Add(request.NewErrParamRequired("Topics")) 7405 } 7406 7407 if invalidParams.Len() > 0 { 7408 return invalidParams 7409 } 7410 return nil 7411 } 7412 7413 // SetInputBucket sets the InputBucket field's value. 7414 func (s *TestRoleInput) SetInputBucket(v string) *TestRoleInput { 7415 s.InputBucket = &v 7416 return s 7417 } 7418 7419 // SetOutputBucket sets the OutputBucket field's value. 7420 func (s *TestRoleInput) SetOutputBucket(v string) *TestRoleInput { 7421 s.OutputBucket = &v 7422 return s 7423 } 7424 7425 // SetRole sets the Role field's value. 7426 func (s *TestRoleInput) SetRole(v string) *TestRoleInput { 7427 s.Role = &v 7428 return s 7429 } 7430 7431 // SetTopics sets the Topics field's value. 7432 func (s *TestRoleInput) SetTopics(v []*string) *TestRoleInput { 7433 s.Topics = v 7434 return s 7435 } 7436 7437 // The TestRoleResponse structure. 7438 // 7439 // Deprecated: TestRoleOutput has been deprecated 7440 type TestRoleOutput struct { 7441 _ struct{} `deprecated:"true" type:"structure"` 7442 7443 // If the Success element contains false, this value is an array of one or more 7444 // error messages that were generated during the test process. 7445 Messages []*string `type:"list"` 7446 7447 // If the operation is successful, this value is true; otherwise, the value 7448 // is false. 7449 Success *string `type:"string"` 7450 } 7451 7452 // String returns the string representation. 7453 // 7454 // API parameter values that are decorated as "sensitive" in the API will not 7455 // be included in the string output. The member name will be present, but the 7456 // value will be replaced with "sensitive". 7457 func (s TestRoleOutput) String() string { 7458 return awsutil.Prettify(s) 7459 } 7460 7461 // GoString returns the string representation. 7462 // 7463 // API parameter values that are decorated as "sensitive" in the API will not 7464 // be included in the string output. The member name will be present, but the 7465 // value will be replaced with "sensitive". 7466 func (s TestRoleOutput) GoString() string { 7467 return s.String() 7468 } 7469 7470 // SetMessages sets the Messages field's value. 7471 func (s *TestRoleOutput) SetMessages(v []*string) *TestRoleOutput { 7472 s.Messages = v 7473 return s 7474 } 7475 7476 // SetSuccess sets the Success field's value. 7477 func (s *TestRoleOutput) SetSuccess(v string) *TestRoleOutput { 7478 s.Success = &v 7479 return s 7480 } 7481 7482 // Thumbnails for videos. 7483 type Thumbnails struct { 7484 _ struct{} `type:"structure"` 7485 7486 // 7487 // To better control resolution and aspect ratio of thumbnails, we recommend 7488 // that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy 7489 // instead of Resolution and AspectRatio. The two groups of settings are mutually 7490 // exclusive. Do not use them together. 7491 // 7492 // The aspect ratio of thumbnails. Valid values include: 7493 // 7494 // auto, 1:1, 4:3, 3:2, 16:9 7495 // 7496 // If you specify auto, Elastic Transcoder tries to preserve the aspect ratio 7497 // of the video in the output file. 7498 AspectRatio *string `type:"string"` 7499 7500 // The format of thumbnails, if any. Valid values are jpg and png. 7501 // 7502 // You specify whether you want Elastic Transcoder to create thumbnails when 7503 // you create a job. 7504 Format *string `type:"string"` 7505 7506 // The approximate number of seconds between thumbnails. Specify an integer 7507 // value. 7508 Interval *string `type:"string"` 7509 7510 // The maximum height of thumbnails in pixels. If you specify auto, Elastic 7511 // Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric 7512 // value, enter an even integer between 32 and 3072. 7513 MaxHeight *string `type:"string"` 7514 7515 // The maximum width of thumbnails in pixels. If you specify auto, Elastic Transcoder 7516 // uses 1920 (Full HD) as the default value. If you specify a numeric value, 7517 // enter an even integer between 32 and 4096. 7518 MaxWidth *string `type:"string"` 7519 7520 // When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars 7521 // to the top and bottom and/or left and right sides of thumbnails to make the 7522 // total size of the thumbnails match the values that you specified for thumbnail 7523 // MaxWidth and MaxHeight settings. 7524 PaddingPolicy *string `type:"string"` 7525 7526 // 7527 // To better control resolution and aspect ratio of thumbnails, we recommend 7528 // that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy 7529 // instead of Resolution and AspectRatio. The two groups of settings are mutually 7530 // exclusive. Do not use them together. 7531 // 7532 // The width and height of thumbnail files in pixels. Specify a value in the 7533 // format width x height where both values are even integers. The values cannot 7534 // exceed the width and height that you specified in the Video:Resolution object. 7535 Resolution *string `type:"string"` 7536 7537 // Specify one of the following values to control scaling of thumbnails: 7538 // 7539 // * Fit: Elastic Transcoder scales thumbnails so they match the value that 7540 // you specified in thumbnail MaxWidth or MaxHeight settings without exceeding 7541 // the other value. 7542 // 7543 // * Fill: Elastic Transcoder scales thumbnails so they match the value that 7544 // you specified in thumbnail MaxWidth or MaxHeight settings and matches 7545 // or exceeds the other value. Elastic Transcoder centers the image in thumbnails 7546 // and then crops in the dimension (if any) that exceeds the maximum value. 7547 // 7548 // * Stretch: Elastic Transcoder stretches thumbnails to match the values 7549 // that you specified for thumbnail MaxWidth and MaxHeight settings. If the 7550 // relative proportions of the input video and thumbnails are different, 7551 // the thumbnails will be distorted. 7552 // 7553 // * Keep: Elastic Transcoder does not scale thumbnails. If either dimension 7554 // of the input video exceeds the values that you specified for thumbnail 7555 // MaxWidth and MaxHeight settings, Elastic Transcoder crops the thumbnails. 7556 // 7557 // * ShrinkToFit: Elastic Transcoder scales thumbnails down so that their 7558 // dimensions match the values that you specified for at least one of thumbnail 7559 // MaxWidth and MaxHeight without exceeding either value. If you specify 7560 // this option, Elastic Transcoder does not scale thumbnails up. 7561 // 7562 // * ShrinkToFill: Elastic Transcoder scales thumbnails down so that their 7563 // dimensions match the values that you specified for at least one of MaxWidth 7564 // and MaxHeight without dropping below either value. If you specify this 7565 // option, Elastic Transcoder does not scale thumbnails up. 7566 SizingPolicy *string `type:"string"` 7567 } 7568 7569 // String returns the string representation. 7570 // 7571 // API parameter values that are decorated as "sensitive" in the API will not 7572 // be included in the string output. The member name will be present, but the 7573 // value will be replaced with "sensitive". 7574 func (s Thumbnails) String() string { 7575 return awsutil.Prettify(s) 7576 } 7577 7578 // GoString returns the string representation. 7579 // 7580 // API parameter values that are decorated as "sensitive" in the API will not 7581 // be included in the string output. The member name will be present, but the 7582 // value will be replaced with "sensitive". 7583 func (s Thumbnails) GoString() string { 7584 return s.String() 7585 } 7586 7587 // SetAspectRatio sets the AspectRatio field's value. 7588 func (s *Thumbnails) SetAspectRatio(v string) *Thumbnails { 7589 s.AspectRatio = &v 7590 return s 7591 } 7592 7593 // SetFormat sets the Format field's value. 7594 func (s *Thumbnails) SetFormat(v string) *Thumbnails { 7595 s.Format = &v 7596 return s 7597 } 7598 7599 // SetInterval sets the Interval field's value. 7600 func (s *Thumbnails) SetInterval(v string) *Thumbnails { 7601 s.Interval = &v 7602 return s 7603 } 7604 7605 // SetMaxHeight sets the MaxHeight field's value. 7606 func (s *Thumbnails) SetMaxHeight(v string) *Thumbnails { 7607 s.MaxHeight = &v 7608 return s 7609 } 7610 7611 // SetMaxWidth sets the MaxWidth field's value. 7612 func (s *Thumbnails) SetMaxWidth(v string) *Thumbnails { 7613 s.MaxWidth = &v 7614 return s 7615 } 7616 7617 // SetPaddingPolicy sets the PaddingPolicy field's value. 7618 func (s *Thumbnails) SetPaddingPolicy(v string) *Thumbnails { 7619 s.PaddingPolicy = &v 7620 return s 7621 } 7622 7623 // SetResolution sets the Resolution field's value. 7624 func (s *Thumbnails) SetResolution(v string) *Thumbnails { 7625 s.Resolution = &v 7626 return s 7627 } 7628 7629 // SetSizingPolicy sets the SizingPolicy field's value. 7630 func (s *Thumbnails) SetSizingPolicy(v string) *Thumbnails { 7631 s.SizingPolicy = &v 7632 return s 7633 } 7634 7635 // Settings that determine when a clip begins and how long it lasts. 7636 type TimeSpan struct { 7637 _ struct{} `type:"structure"` 7638 7639 // The duration of the clip. The format can be either HH:mm:ss.SSS (maximum 7640 // value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum 7641 // value: 86399.999). If you don't specify a value, Elastic Transcoder creates 7642 // an output file from StartTime to the end of the file. 7643 // 7644 // If you specify a value longer than the duration of the input file, Elastic 7645 // Transcoder transcodes the file and returns a warning message. 7646 Duration *string `type:"string"` 7647 7648 // The place in the input file where you want a clip to start. The format can 7649 // be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of 7650 // a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a 7651 // value, Elastic Transcoder starts at the beginning of the input file. 7652 StartTime *string `type:"string"` 7653 } 7654 7655 // String returns the string representation. 7656 // 7657 // API parameter values that are decorated as "sensitive" in the API will not 7658 // be included in the string output. The member name will be present, but the 7659 // value will be replaced with "sensitive". 7660 func (s TimeSpan) String() string { 7661 return awsutil.Prettify(s) 7662 } 7663 7664 // GoString returns the string representation. 7665 // 7666 // API parameter values that are decorated as "sensitive" in the API will not 7667 // be included in the string output. The member name will be present, but the 7668 // value will be replaced with "sensitive". 7669 func (s TimeSpan) GoString() string { 7670 return s.String() 7671 } 7672 7673 // SetDuration sets the Duration field's value. 7674 func (s *TimeSpan) SetDuration(v string) *TimeSpan { 7675 s.Duration = &v 7676 return s 7677 } 7678 7679 // SetStartTime sets the StartTime field's value. 7680 func (s *TimeSpan) SetStartTime(v string) *TimeSpan { 7681 s.StartTime = &v 7682 return s 7683 } 7684 7685 // Details about the timing of a job. 7686 type Timing struct { 7687 _ struct{} `type:"structure"` 7688 7689 // The time the job finished transcoding, in epoch milliseconds. 7690 FinishTimeMillis *int64 `type:"long"` 7691 7692 // The time the job began transcoding, in epoch milliseconds. 7693 StartTimeMillis *int64 `type:"long"` 7694 7695 // The time the job was submitted to Elastic Transcoder, in epoch milliseconds. 7696 SubmitTimeMillis *int64 `type:"long"` 7697 } 7698 7699 // String returns the string representation. 7700 // 7701 // API parameter values that are decorated as "sensitive" in the API will not 7702 // be included in the string output. The member name will be present, but the 7703 // value will be replaced with "sensitive". 7704 func (s Timing) String() string { 7705 return awsutil.Prettify(s) 7706 } 7707 7708 // GoString returns the string representation. 7709 // 7710 // API parameter values that are decorated as "sensitive" in the API will not 7711 // be included in the string output. The member name will be present, but the 7712 // value will be replaced with "sensitive". 7713 func (s Timing) GoString() string { 7714 return s.String() 7715 } 7716 7717 // SetFinishTimeMillis sets the FinishTimeMillis field's value. 7718 func (s *Timing) SetFinishTimeMillis(v int64) *Timing { 7719 s.FinishTimeMillis = &v 7720 return s 7721 } 7722 7723 // SetStartTimeMillis sets the StartTimeMillis field's value. 7724 func (s *Timing) SetStartTimeMillis(v int64) *Timing { 7725 s.StartTimeMillis = &v 7726 return s 7727 } 7728 7729 // SetSubmitTimeMillis sets the SubmitTimeMillis field's value. 7730 func (s *Timing) SetSubmitTimeMillis(v int64) *Timing { 7731 s.SubmitTimeMillis = &v 7732 return s 7733 } 7734 7735 // The UpdatePipelineRequest structure. 7736 type UpdatePipelineInput struct { 7737 _ struct{} `type:"structure"` 7738 7739 // The AWS Key Management Service (AWS KMS) key that you want to use with this 7740 // pipeline. 7741 // 7742 // If you use either s3 or s3-aws-kms as your Encryption:Mode, you don't need 7743 // to provide a key with your job because a default key, known as an AWS-KMS 7744 // key, is created for you automatically. You need to provide an AWS-KMS key 7745 // only if you want to use a non-default AWS-KMS key, or if you are using an 7746 // Encryption:Mode of aes-cbc-pkcs7, aes-ctr, or aes-gcm. 7747 AwsKmsKeyArn *string `type:"string"` 7748 7749 // The optional ContentConfig object specifies information about the Amazon 7750 // S3 bucket in which you want Elastic Transcoder to save transcoded files and 7751 // playlists: which bucket to use, which users you want to have access to the 7752 // files, the type of access you want users to have, and the storage class that 7753 // you want to assign to the files. 7754 // 7755 // If you specify values for ContentConfig, you must also specify values for 7756 // ThumbnailConfig. 7757 // 7758 // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket 7759 // object. 7760 // 7761 // * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to 7762 // save transcoded files and playlists. 7763 // 7764 // * Permissions (Optional): The Permissions object specifies which users 7765 // you want to have access to transcoded files and the type of access you 7766 // want them to have. You can grant permissions to a maximum of 30 users 7767 // and/or predefined Amazon S3 groups. 7768 // 7769 // * Grantee Type: Specify the type of value that appears in the Grantee 7770 // object: Canonical: The value in the Grantee object is either the canonical 7771 // user ID for an AWS account or an origin access identity for an Amazon 7772 // CloudFront distribution. For more information about canonical user IDs, 7773 // see Access Control List (ACL) Overview in the Amazon Simple Storage Service 7774 // Developer Guide. For more information about using CloudFront origin access 7775 // identities to require that users use CloudFront URLs instead of Amazon 7776 // S3 URLs, see Using an Origin Access Identity to Restrict Access to Your 7777 // Amazon S3 Content. A canonical user ID is not the same as an AWS account 7778 // number. Email: The value in the Grantee object is the registered email 7779 // address of an AWS account. Group: The value in the Grantee object is one 7780 // of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, 7781 // or LogDelivery. 7782 // 7783 // * Grantee: The AWS user or group that you want to have access to transcoded 7784 // files and playlists. To identify the user or group, you can specify the 7785 // canonical user ID for an AWS account, an origin access identity for a 7786 // CloudFront distribution, the registered email address of an AWS account, 7787 // or a predefined Amazon S3 group 7788 // 7789 // * Access: The permission that you want to give to the AWS user that you 7790 // specified in Grantee. Permissions are granted on the files that Elastic 7791 // Transcoder adds to the bucket, including playlists and video files. Valid 7792 // values include: READ: The grantee can read the objects and metadata for 7793 // objects that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP: 7794 // The grantee can read the object ACL for objects that Elastic Transcoder 7795 // adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL 7796 // for the objects that Elastic Transcoder adds to the Amazon S3 bucket. 7797 // FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions 7798 // for the objects that Elastic Transcoder adds to the Amazon S3 bucket. 7799 // 7800 // * StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, 7801 // that you want Elastic Transcoder to assign to the video files and playlists 7802 // that it stores in your Amazon S3 bucket. 7803 ContentConfig *PipelineOutputConfig `type:"structure"` 7804 7805 // The ID of the pipeline that you want to update. 7806 // 7807 // Id is a required field 7808 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7809 7810 // The Amazon S3 bucket in which you saved the media files that you want to 7811 // transcode and the graphics that you want to use as watermarks. 7812 InputBucket *string `type:"string"` 7813 7814 // The name of the pipeline. We recommend that the name be unique within the 7815 // AWS account, but uniqueness is not enforced. 7816 // 7817 // Constraints: Maximum 40 characters 7818 Name *string `min:"1" type:"string"` 7819 7820 // The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic 7821 // that you want to notify to report job status. 7822 // 7823 // To receive notifications, you must also subscribe to the new topic in the 7824 // Amazon SNS console. 7825 // 7826 // * Progressing: The topic ARN for the Amazon Simple Notification Service 7827 // (Amazon SNS) topic that you want to notify when Elastic Transcoder has 7828 // started to process jobs that are added to this pipeline. This is the ARN 7829 // that Amazon SNS returned when you created the topic. 7830 // 7831 // * Complete: The topic ARN for the Amazon SNS topic that you want to notify 7832 // when Elastic Transcoder has finished processing a job. This is the ARN 7833 // that Amazon SNS returned when you created the topic. 7834 // 7835 // * Warning: The topic ARN for the Amazon SNS topic that you want to notify 7836 // when Elastic Transcoder encounters a warning condition. This is the ARN 7837 // that Amazon SNS returned when you created the topic. 7838 // 7839 // * Error: The topic ARN for the Amazon SNS topic that you want to notify 7840 // when Elastic Transcoder encounters an error condition. This is the ARN 7841 // that Amazon SNS returned when you created the topic. 7842 Notifications *Notifications `type:"structure"` 7843 7844 // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder 7845 // to use to transcode jobs for this pipeline. 7846 Role *string `type:"string"` 7847 7848 // The ThumbnailConfig object specifies several values, including the Amazon 7849 // S3 bucket in which you want Elastic Transcoder to save thumbnail files, which 7850 // users you want to have access to the files, the type of access you want users 7851 // to have, and the storage class that you want to assign to the files. 7852 // 7853 // If you specify values for ContentConfig, you must also specify values for 7854 // ThumbnailConfig even if you don't want to create thumbnails. 7855 // 7856 // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket 7857 // object. 7858 // 7859 // * Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to 7860 // save thumbnail files. 7861 // 7862 // * Permissions (Optional): The Permissions object specifies which users 7863 // and/or predefined Amazon S3 groups you want to have access to thumbnail 7864 // files, and the type of access you want them to have. You can grant permissions 7865 // to a maximum of 30 users and/or predefined Amazon S3 groups. 7866 // 7867 // * GranteeType: Specify the type of value that appears in the Grantee object: 7868 // Canonical: The value in the Grantee object is either the canonical user 7869 // ID for an AWS account or an origin access identity for an Amazon CloudFront 7870 // distribution. A canonical user ID is not the same as an AWS account number. 7871 // Email: The value in the Grantee object is the registered email address 7872 // of an AWS account. Group: The value in the Grantee object is one of the 7873 // following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or 7874 // LogDelivery. 7875 // 7876 // * Grantee: The AWS user or group that you want to have access to thumbnail 7877 // files. To identify the user or group, you can specify the canonical user 7878 // ID for an AWS account, an origin access identity for a CloudFront distribution, 7879 // the registered email address of an AWS account, or a predefined Amazon 7880 // S3 group. 7881 // 7882 // * Access: The permission that you want to give to the AWS user that you 7883 // specified in Grantee. Permissions are granted on the thumbnail files that 7884 // Elastic Transcoder adds to the bucket. Valid values include: READ: The 7885 // grantee can read the thumbnails and metadata for objects that Elastic 7886 // Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read 7887 // the object ACL for thumbnails that Elastic Transcoder adds to the Amazon 7888 // S3 bucket. WRITE_ACP: The grantee can write the ACL for the thumbnails 7889 // that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The 7890 // grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails 7891 // that Elastic Transcoder adds to the Amazon S3 bucket. 7892 // 7893 // * StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, 7894 // that you want Elastic Transcoder to assign to the thumbnails that it stores 7895 // in your Amazon S3 bucket. 7896 ThumbnailConfig *PipelineOutputConfig `type:"structure"` 7897 } 7898 7899 // String returns the string representation. 7900 // 7901 // API parameter values that are decorated as "sensitive" in the API will not 7902 // be included in the string output. The member name will be present, but the 7903 // value will be replaced with "sensitive". 7904 func (s UpdatePipelineInput) String() string { 7905 return awsutil.Prettify(s) 7906 } 7907 7908 // GoString returns the string representation. 7909 // 7910 // API parameter values that are decorated as "sensitive" in the API will not 7911 // be included in the string output. The member name will be present, but the 7912 // value will be replaced with "sensitive". 7913 func (s UpdatePipelineInput) GoString() string { 7914 return s.String() 7915 } 7916 7917 // Validate inspects the fields of the type to determine if they are valid. 7918 func (s *UpdatePipelineInput) Validate() error { 7919 invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineInput"} 7920 if s.Id == nil { 7921 invalidParams.Add(request.NewErrParamRequired("Id")) 7922 } 7923 if s.Id != nil && len(*s.Id) < 1 { 7924 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7925 } 7926 if s.Name != nil && len(*s.Name) < 1 { 7927 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 7928 } 7929 if s.ContentConfig != nil { 7930 if err := s.ContentConfig.Validate(); err != nil { 7931 invalidParams.AddNested("ContentConfig", err.(request.ErrInvalidParams)) 7932 } 7933 } 7934 if s.ThumbnailConfig != nil { 7935 if err := s.ThumbnailConfig.Validate(); err != nil { 7936 invalidParams.AddNested("ThumbnailConfig", err.(request.ErrInvalidParams)) 7937 } 7938 } 7939 7940 if invalidParams.Len() > 0 { 7941 return invalidParams 7942 } 7943 return nil 7944 } 7945 7946 // SetAwsKmsKeyArn sets the AwsKmsKeyArn field's value. 7947 func (s *UpdatePipelineInput) SetAwsKmsKeyArn(v string) *UpdatePipelineInput { 7948 s.AwsKmsKeyArn = &v 7949 return s 7950 } 7951 7952 // SetContentConfig sets the ContentConfig field's value. 7953 func (s *UpdatePipelineInput) SetContentConfig(v *PipelineOutputConfig) *UpdatePipelineInput { 7954 s.ContentConfig = v 7955 return s 7956 } 7957 7958 // SetId sets the Id field's value. 7959 func (s *UpdatePipelineInput) SetId(v string) *UpdatePipelineInput { 7960 s.Id = &v 7961 return s 7962 } 7963 7964 // SetInputBucket sets the InputBucket field's value. 7965 func (s *UpdatePipelineInput) SetInputBucket(v string) *UpdatePipelineInput { 7966 s.InputBucket = &v 7967 return s 7968 } 7969 7970 // SetName sets the Name field's value. 7971 func (s *UpdatePipelineInput) SetName(v string) *UpdatePipelineInput { 7972 s.Name = &v 7973 return s 7974 } 7975 7976 // SetNotifications sets the Notifications field's value. 7977 func (s *UpdatePipelineInput) SetNotifications(v *Notifications) *UpdatePipelineInput { 7978 s.Notifications = v 7979 return s 7980 } 7981 7982 // SetRole sets the Role field's value. 7983 func (s *UpdatePipelineInput) SetRole(v string) *UpdatePipelineInput { 7984 s.Role = &v 7985 return s 7986 } 7987 7988 // SetThumbnailConfig sets the ThumbnailConfig field's value. 7989 func (s *UpdatePipelineInput) SetThumbnailConfig(v *PipelineOutputConfig) *UpdatePipelineInput { 7990 s.ThumbnailConfig = v 7991 return s 7992 } 7993 7994 // The UpdatePipelineNotificationsRequest structure. 7995 type UpdatePipelineNotificationsInput struct { 7996 _ struct{} `type:"structure"` 7997 7998 // The identifier of the pipeline for which you want to change notification 7999 // settings. 8000 // 8001 // Id is a required field 8002 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 8003 8004 // The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic 8005 // that you want to notify to report job status. 8006 // 8007 // To receive notifications, you must also subscribe to the new topic in the 8008 // Amazon SNS console. 8009 // 8010 // * Progressing: The topic ARN for the Amazon Simple Notification Service 8011 // (Amazon SNS) topic that you want to notify when Elastic Transcoder has 8012 // started to process jobs that are added to this pipeline. This is the ARN 8013 // that Amazon SNS returned when you created the topic. 8014 // 8015 // * Complete: The topic ARN for the Amazon SNS topic that you want to notify 8016 // when Elastic Transcoder has finished processing a job. This is the ARN 8017 // that Amazon SNS returned when you created the topic. 8018 // 8019 // * Warning: The topic ARN for the Amazon SNS topic that you want to notify 8020 // when Elastic Transcoder encounters a warning condition. This is the ARN 8021 // that Amazon SNS returned when you created the topic. 8022 // 8023 // * Error: The topic ARN for the Amazon SNS topic that you want to notify 8024 // when Elastic Transcoder encounters an error condition. This is the ARN 8025 // that Amazon SNS returned when you created the topic. 8026 // 8027 // Notifications is a required field 8028 Notifications *Notifications `type:"structure" required:"true"` 8029 } 8030 8031 // String returns the string representation. 8032 // 8033 // API parameter values that are decorated as "sensitive" in the API will not 8034 // be included in the string output. The member name will be present, but the 8035 // value will be replaced with "sensitive". 8036 func (s UpdatePipelineNotificationsInput) String() string { 8037 return awsutil.Prettify(s) 8038 } 8039 8040 // GoString returns the string representation. 8041 // 8042 // API parameter values that are decorated as "sensitive" in the API will not 8043 // be included in the string output. The member name will be present, but the 8044 // value will be replaced with "sensitive". 8045 func (s UpdatePipelineNotificationsInput) GoString() string { 8046 return s.String() 8047 } 8048 8049 // Validate inspects the fields of the type to determine if they are valid. 8050 func (s *UpdatePipelineNotificationsInput) Validate() error { 8051 invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineNotificationsInput"} 8052 if s.Id == nil { 8053 invalidParams.Add(request.NewErrParamRequired("Id")) 8054 } 8055 if s.Id != nil && len(*s.Id) < 1 { 8056 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 8057 } 8058 if s.Notifications == nil { 8059 invalidParams.Add(request.NewErrParamRequired("Notifications")) 8060 } 8061 8062 if invalidParams.Len() > 0 { 8063 return invalidParams 8064 } 8065 return nil 8066 } 8067 8068 // SetId sets the Id field's value. 8069 func (s *UpdatePipelineNotificationsInput) SetId(v string) *UpdatePipelineNotificationsInput { 8070 s.Id = &v 8071 return s 8072 } 8073 8074 // SetNotifications sets the Notifications field's value. 8075 func (s *UpdatePipelineNotificationsInput) SetNotifications(v *Notifications) *UpdatePipelineNotificationsInput { 8076 s.Notifications = v 8077 return s 8078 } 8079 8080 // The UpdatePipelineNotificationsResponse structure. 8081 type UpdatePipelineNotificationsOutput struct { 8082 _ struct{} `type:"structure"` 8083 8084 // A section of the response body that provides information about the pipeline 8085 // associated with this notification. 8086 Pipeline *Pipeline `type:"structure"` 8087 } 8088 8089 // String returns the string representation. 8090 // 8091 // API parameter values that are decorated as "sensitive" in the API will not 8092 // be included in the string output. The member name will be present, but the 8093 // value will be replaced with "sensitive". 8094 func (s UpdatePipelineNotificationsOutput) String() string { 8095 return awsutil.Prettify(s) 8096 } 8097 8098 // GoString returns the string representation. 8099 // 8100 // API parameter values that are decorated as "sensitive" in the API will not 8101 // be included in the string output. The member name will be present, but the 8102 // value will be replaced with "sensitive". 8103 func (s UpdatePipelineNotificationsOutput) GoString() string { 8104 return s.String() 8105 } 8106 8107 // SetPipeline sets the Pipeline field's value. 8108 func (s *UpdatePipelineNotificationsOutput) SetPipeline(v *Pipeline) *UpdatePipelineNotificationsOutput { 8109 s.Pipeline = v 8110 return s 8111 } 8112 8113 // When you update a pipeline, Elastic Transcoder returns the values that you 8114 // specified in the request. 8115 type UpdatePipelineOutput struct { 8116 _ struct{} `type:"structure"` 8117 8118 // The pipeline updated by this UpdatePipelineResponse call. 8119 Pipeline *Pipeline `type:"structure"` 8120 8121 // Elastic Transcoder returns a warning if the resources used by your pipeline 8122 // are not in the same region as the pipeline. 8123 // 8124 // Using resources in the same region, such as your Amazon S3 buckets, Amazon 8125 // SNS notification topics, and AWS KMS key, reduces processing time and prevents 8126 // cross-regional charges. 8127 Warnings []*Warning `type:"list"` 8128 } 8129 8130 // String returns the string representation. 8131 // 8132 // API parameter values that are decorated as "sensitive" in the API will not 8133 // be included in the string output. The member name will be present, but the 8134 // value will be replaced with "sensitive". 8135 func (s UpdatePipelineOutput) String() string { 8136 return awsutil.Prettify(s) 8137 } 8138 8139 // GoString returns the string representation. 8140 // 8141 // API parameter values that are decorated as "sensitive" in the API will not 8142 // be included in the string output. The member name will be present, but the 8143 // value will be replaced with "sensitive". 8144 func (s UpdatePipelineOutput) GoString() string { 8145 return s.String() 8146 } 8147 8148 // SetPipeline sets the Pipeline field's value. 8149 func (s *UpdatePipelineOutput) SetPipeline(v *Pipeline) *UpdatePipelineOutput { 8150 s.Pipeline = v 8151 return s 8152 } 8153 8154 // SetWarnings sets the Warnings field's value. 8155 func (s *UpdatePipelineOutput) SetWarnings(v []*Warning) *UpdatePipelineOutput { 8156 s.Warnings = v 8157 return s 8158 } 8159 8160 // The UpdatePipelineStatusRequest structure. 8161 type UpdatePipelineStatusInput struct { 8162 _ struct{} `type:"structure"` 8163 8164 // The identifier of the pipeline to update. 8165 // 8166 // Id is a required field 8167 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 8168 8169 // The desired status of the pipeline: 8170 // 8171 // * Active: The pipeline is processing jobs. 8172 // 8173 // * Paused: The pipeline is not currently processing jobs. 8174 // 8175 // Status is a required field 8176 Status *string `type:"string" required:"true"` 8177 } 8178 8179 // String returns the string representation. 8180 // 8181 // API parameter values that are decorated as "sensitive" in the API will not 8182 // be included in the string output. The member name will be present, but the 8183 // value will be replaced with "sensitive". 8184 func (s UpdatePipelineStatusInput) String() string { 8185 return awsutil.Prettify(s) 8186 } 8187 8188 // GoString returns the string representation. 8189 // 8190 // API parameter values that are decorated as "sensitive" in the API will not 8191 // be included in the string output. The member name will be present, but the 8192 // value will be replaced with "sensitive". 8193 func (s UpdatePipelineStatusInput) GoString() string { 8194 return s.String() 8195 } 8196 8197 // Validate inspects the fields of the type to determine if they are valid. 8198 func (s *UpdatePipelineStatusInput) Validate() error { 8199 invalidParams := request.ErrInvalidParams{Context: "UpdatePipelineStatusInput"} 8200 if s.Id == nil { 8201 invalidParams.Add(request.NewErrParamRequired("Id")) 8202 } 8203 if s.Id != nil && len(*s.Id) < 1 { 8204 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 8205 } 8206 if s.Status == nil { 8207 invalidParams.Add(request.NewErrParamRequired("Status")) 8208 } 8209 8210 if invalidParams.Len() > 0 { 8211 return invalidParams 8212 } 8213 return nil 8214 } 8215 8216 // SetId sets the Id field's value. 8217 func (s *UpdatePipelineStatusInput) SetId(v string) *UpdatePipelineStatusInput { 8218 s.Id = &v 8219 return s 8220 } 8221 8222 // SetStatus sets the Status field's value. 8223 func (s *UpdatePipelineStatusInput) SetStatus(v string) *UpdatePipelineStatusInput { 8224 s.Status = &v 8225 return s 8226 } 8227 8228 // When you update status for a pipeline, Elastic Transcoder returns the values 8229 // that you specified in the request. 8230 type UpdatePipelineStatusOutput struct { 8231 _ struct{} `type:"structure"` 8232 8233 // A section of the response body that provides information about the pipeline. 8234 Pipeline *Pipeline `type:"structure"` 8235 } 8236 8237 // String returns the string representation. 8238 // 8239 // API parameter values that are decorated as "sensitive" in the API will not 8240 // be included in the string output. The member name will be present, but the 8241 // value will be replaced with "sensitive". 8242 func (s UpdatePipelineStatusOutput) String() string { 8243 return awsutil.Prettify(s) 8244 } 8245 8246 // GoString returns the string representation. 8247 // 8248 // API parameter values that are decorated as "sensitive" in the API will not 8249 // be included in the string output. The member name will be present, but the 8250 // value will be replaced with "sensitive". 8251 func (s UpdatePipelineStatusOutput) GoString() string { 8252 return s.String() 8253 } 8254 8255 // SetPipeline sets the Pipeline field's value. 8256 func (s *UpdatePipelineStatusOutput) SetPipeline(v *Pipeline) *UpdatePipelineStatusOutput { 8257 s.Pipeline = v 8258 return s 8259 } 8260 8261 // One or more required parameter values were not provided in the request. 8262 type ValidationException struct { 8263 _ struct{} `type:"structure"` 8264 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8265 8266 Message_ *string `locationName:"message" type:"string"` 8267 } 8268 8269 // String returns the string representation. 8270 // 8271 // API parameter values that are decorated as "sensitive" in the API will not 8272 // be included in the string output. The member name will be present, but the 8273 // value will be replaced with "sensitive". 8274 func (s ValidationException) String() string { 8275 return awsutil.Prettify(s) 8276 } 8277 8278 // GoString returns the string representation. 8279 // 8280 // API parameter values that are decorated as "sensitive" in the API will not 8281 // be included in the string output. The member name will be present, but the 8282 // value will be replaced with "sensitive". 8283 func (s ValidationException) GoString() string { 8284 return s.String() 8285 } 8286 8287 func newErrorValidationException(v protocol.ResponseMetadata) error { 8288 return &ValidationException{ 8289 RespMetadata: v, 8290 } 8291 } 8292 8293 // Code returns the exception type name. 8294 func (s *ValidationException) Code() string { 8295 return "ValidationException" 8296 } 8297 8298 // Message returns the exception's message. 8299 func (s *ValidationException) Message() string { 8300 if s.Message_ != nil { 8301 return *s.Message_ 8302 } 8303 return "" 8304 } 8305 8306 // OrigErr always returns nil, satisfies awserr.Error interface. 8307 func (s *ValidationException) OrigErr() error { 8308 return nil 8309 } 8310 8311 func (s *ValidationException) Error() string { 8312 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8313 } 8314 8315 // Status code returns the HTTP status code for the request's response error. 8316 func (s *ValidationException) StatusCode() int { 8317 return s.RespMetadata.StatusCode 8318 } 8319 8320 // RequestID returns the service's response RequestID for request. 8321 func (s *ValidationException) RequestID() string { 8322 return s.RespMetadata.RequestID 8323 } 8324 8325 // The VideoParameters structure. 8326 type VideoParameters struct { 8327 _ struct{} `type:"structure"` 8328 8329 // 8330 // To better control resolution and aspect ratio of output videos, we recommend 8331 // that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, 8332 // and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups 8333 // of settings are mutually exclusive. Do not use them together. 8334 // 8335 // The display aspect ratio of the video in the output file. Valid values include: 8336 // 8337 // auto, 1:1, 4:3, 3:2, 16:9 8338 // 8339 // If you specify auto, Elastic Transcoder tries to preserve the aspect ratio 8340 // of the input file. 8341 // 8342 // If you specify an aspect ratio for the output file that differs from aspect 8343 // ratio of the input file, Elastic Transcoder adds pillarboxing (black bars 8344 // on the sides) or letterboxing (black bars on the top and bottom) to maintain 8345 // the aspect ratio of the active region of the video. 8346 AspectRatio *string `type:"string"` 8347 8348 // The bit rate of the video stream in the output file, in kilobits/second. 8349 // Valid values depend on the values of Level and Profile. If you specify auto, 8350 // Elastic Transcoder uses the detected bit rate of the input source. If you 8351 // specify a value other than auto, we recommend that you specify a value less 8352 // than or equal to the maximum H.264-compliant value listed for your level 8353 // and profile: 8354 // 8355 // Level - Maximum video bit rate in kilobits/second (baseline and main Profile) 8356 // : maximum video bit rate in kilobits/second (high Profile) 8357 // 8358 // * 1 - 64 : 80 8359 // 8360 // * 1b - 128 : 160 8361 // 8362 // * 1.1 - 192 : 240 8363 // 8364 // * 1.2 - 384 : 480 8365 // 8366 // * 1.3 - 768 : 960 8367 // 8368 // * 2 - 2000 : 2500 8369 // 8370 // * 3 - 10000 : 12500 8371 // 8372 // * 3.1 - 14000 : 17500 8373 // 8374 // * 3.2 - 20000 : 25000 8375 // 8376 // * 4 - 20000 : 25000 8377 // 8378 // * 4.1 - 50000 : 62500 8379 BitRate *string `type:"string"` 8380 8381 // The video codec for the output file. Valid values include gif, H.264, mpeg2, 8382 // vp8, and vp9. You can only specify vp8 and vp9 when the container type is 8383 // webm, gif when the container type is gif, and mpeg2 when the container type 8384 // is mpg. 8385 Codec *string `type:"string"` 8386 8387 // Profile (H.264/VP8/VP9 Only) 8388 // 8389 // The H.264 profile that you want to use for the output file. Elastic Transcoder 8390 // supports the following profiles: 8391 // 8392 // * baseline: The profile most commonly used for videoconferencing and for 8393 // mobile applications. 8394 // 8395 // * main: The profile used for standard-definition digital TV broadcasts. 8396 // 8397 // * high: The profile used for high-definition digital TV broadcasts and 8398 // for Blu-ray discs. 8399 // 8400 // Level (H.264 Only) 8401 // 8402 // The H.264 level that you want to use for the output file. Elastic Transcoder 8403 // supports the following levels: 8404 // 8405 // 1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1 8406 // 8407 // MaxReferenceFrames (H.264 Only) 8408 // 8409 // Applicable only when the value of Video:Codec is H.264. The maximum number 8410 // of previously decoded frames to use as a reference for decoding future frames. 8411 // Valid values are integers 0 through 16, but we recommend that you not use 8412 // a value greater than the following: 8413 // 8414 // Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in 8415 // pixels * Height in pixels)), 16) 8416 // 8417 // where Width in pixels and Height in pixels represent either MaxWidth and 8418 // MaxHeight, or Resolution. Maximum decoded picture buffer in macroblocks depends 8419 // on the value of the Level object. See the list below. (A macroblock is a 8420 // block of pixels measuring 16x16.) 8421 // 8422 // * 1 - 396 8423 // 8424 // * 1b - 396 8425 // 8426 // * 1.1 - 900 8427 // 8428 // * 1.2 - 2376 8429 // 8430 // * 1.3 - 2376 8431 // 8432 // * 2 - 2376 8433 // 8434 // * 2.1 - 4752 8435 // 8436 // * 2.2 - 8100 8437 // 8438 // * 3 - 8100 8439 // 8440 // * 3.1 - 18000 8441 // 8442 // * 3.2 - 20480 8443 // 8444 // * 4 - 32768 8445 // 8446 // * 4.1 - 32768 8447 // 8448 // MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only) 8449 // 8450 // The maximum number of bits per second in a video buffer; the size of the 8451 // buffer is specified by BufferSize. Specify a value between 16 and 62,500. 8452 // You can reduce the bandwidth required to stream a video by reducing the maximum 8453 // bit rate, but this also reduces the quality of the video. 8454 // 8455 // BufferSize (Optional, H.264/MPEG2/VP8/VP9 only) 8456 // 8457 // The maximum number of bits in any x seconds of the output video. This window 8458 // is commonly 10 seconds, the standard segment duration when you're using FMP4 8459 // or MPEG-TS for the container type of the output video. Specify an integer 8460 // greater than 0. If you specify MaxBitRate and omit BufferSize, Elastic Transcoder 8461 // sets BufferSize to 10 times the value of MaxBitRate. 8462 // 8463 // InterlacedMode (Optional, H.264/MPEG2 Only) 8464 // 8465 // The interlace mode for the output video. 8466 // 8467 // Interlaced video is used to double the perceived frame rate for a video by 8468 // interlacing two fields (one field on every other line, the other field on 8469 // the other lines) so that the human eye registers multiple pictures per frame. 8470 // Interlacing reduces the bandwidth required for transmitting a video, but 8471 // can result in blurred images and flickering. 8472 // 8473 // Valid values include Progressive (no interlacing, top to bottom), TopFirst 8474 // (top field first), BottomFirst (bottom field first), and Auto. 8475 // 8476 // If InterlaceMode is not specified, Elastic Transcoder uses Progressive for 8477 // the output. If Auto is specified, Elastic Transcoder interlaces the output. 8478 // 8479 // ColorSpaceConversionMode (Optional, H.264/MPEG2 Only) 8480 // 8481 // The color space conversion Elastic Transcoder applies to the output video. 8482 // Color spaces are the algorithms used by the computer to store information 8483 // about how to render color. Bt.601 is the standard for standard definition 8484 // video, while Bt.709 is the standard for high definition video. 8485 // 8486 // Valid values include None, Bt709toBt601, Bt601toBt709, and Auto. 8487 // 8488 // If you chose Auto for ColorSpaceConversionMode and your output is interlaced, 8489 // your frame rate is one of 23.97, 24, 25, 29.97, 50, or 60, your SegmentDuration 8490 // is null, and you are using one of the resolution changes from the list below, 8491 // Elastic Transcoder applies the following color space conversions: 8492 // 8493 // * Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709 8494 // 8495 // * Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709 8496 // 8497 // * HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601 8498 // 8499 // * HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601 8500 // 8501 // Elastic Transcoder may change the behavior of the ColorspaceConversionMode 8502 // Auto mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode. 8503 // 8504 // If you do not specify a ColorSpaceConversionMode, Elastic Transcoder does 8505 // not change the color space of a file. If you are unsure what ColorSpaceConversionMode 8506 // was applied to your output file, you can check the AppliedColorSpaceConversion 8507 // parameter included in your job response. If your job does not have an AppliedColorSpaceConversion 8508 // in its response, no ColorSpaceConversionMode was applied. 8509 // 8510 // ChromaSubsampling 8511 // 8512 // The sampling pattern for the chroma (color) channels of the output video. 8513 // Valid values include yuv420p and yuv422p. 8514 // 8515 // yuv420p samples the chroma information of every other horizontal and every 8516 // other vertical line, yuv422p samples the color information of every horizontal 8517 // line and every other vertical line. 8518 // 8519 // LoopCount (Gif Only) 8520 // 8521 // The number of times you want the output gif to loop. Valid values include 8522 // Infinite and integers between 0 and 100, inclusive. 8523 CodecOptions map[string]*string `type:"map"` 8524 8525 // The value that Elastic Transcoder adds to the metadata in the output file. 8526 DisplayAspectRatio *string `type:"string"` 8527 8528 // Applicable only when the value of Video:Codec is one of H.264, MPEG2, or 8529 // VP8. 8530 // 8531 // Whether to use a fixed value for FixedGOP. Valid values are true and false: 8532 // 8533 // * true: Elastic Transcoder uses the value of KeyframesMaxDist for the 8534 // distance between key frames (the number of frames in a group of pictures, 8535 // or GOP). 8536 // 8537 // * false: The distance between key frames can vary. 8538 // 8539 // FixedGOP must be set to true for fmp4 containers. 8540 FixedGOP *string `type:"string"` 8541 8542 // The frames per second for the video stream in the output file. Valid values 8543 // include: 8544 // 8545 // auto, 10, 15, 23.97, 24, 25, 29.97, 30, 60 8546 // 8547 // If you specify auto, Elastic Transcoder uses the detected frame rate of the 8548 // input source. If you specify a frame rate, we recommend that you perform 8549 // the following calculation: 8550 // 8551 // Frame rate = maximum recommended decoding speed in luma samples/second / 8552 // (width in pixels * height in pixels) 8553 // 8554 // where: 8555 // 8556 // * width in pixels and height in pixels represent the Resolution of the 8557 // output video. 8558 // 8559 // * maximum recommended decoding speed in Luma samples/second is less than 8560 // or equal to the maximum value listed in the following table, based on 8561 // the value that you specified for Level. 8562 // 8563 // The maximum recommended decoding speed in Luma samples/second for each level 8564 // is described in the following list (Level - Decoding speed): 8565 // 8566 // * 1 - 380160 8567 // 8568 // * 1b - 380160 8569 // 8570 // * 1.1 - 76800 8571 // 8572 // * 1.2 - 1536000 8573 // 8574 // * 1.3 - 3041280 8575 // 8576 // * 2 - 3041280 8577 // 8578 // * 2.1 - 5068800 8579 // 8580 // * 2.2 - 5184000 8581 // 8582 // * 3 - 10368000 8583 // 8584 // * 3.1 - 27648000 8585 // 8586 // * 3.2 - 55296000 8587 // 8588 // * 4 - 62914560 8589 // 8590 // * 4.1 - 62914560 8591 FrameRate *string `type:"string"` 8592 8593 // Applicable only when the value of Video:Codec is one of H.264, MPEG2, or 8594 // VP8. 8595 // 8596 // The maximum number of frames between key frames. Key frames are fully encoded 8597 // frames; the frames between key frames are encoded based, in part, on the 8598 // content of the key frames. The value is an integer formatted as a string; 8599 // valid values are between 1 (every frame is a key frame) and 100000, inclusive. 8600 // A higher value results in higher compression but may also discernibly decrease 8601 // video quality. 8602 // 8603 // For Smooth outputs, the FrameRate must have a constant ratio to the KeyframesMaxDist. 8604 // This allows Smooth playlists to switch between different quality levels while 8605 // the file is being played. 8606 // 8607 // For example, an input file can have a FrameRate of 30 with a KeyframesMaxDist 8608 // of 90. The output file then needs to have a ratio of 1:3. Valid outputs would 8609 // have FrameRate of 30, 25, and 10, and KeyframesMaxDist of 90, 75, and 30, 8610 // respectively. 8611 // 8612 // Alternately, this can be achieved by setting FrameRate to auto and having 8613 // the same values for MaxFrameRate and KeyframesMaxDist. 8614 KeyframesMaxDist *string `type:"string"` 8615 8616 // If you specify auto for FrameRate, Elastic Transcoder uses the frame rate 8617 // of the input video for the frame rate of the output video. Specify the maximum 8618 // frame rate that you want Elastic Transcoder to use when the frame rate of 8619 // the input video is greater than the desired maximum frame rate of the output 8620 // video. Valid values include: 10, 15, 23.97, 24, 25, 29.97, 30, 60. 8621 MaxFrameRate *string `type:"string"` 8622 8623 // The maximum height of the output video in pixels. If you specify auto, Elastic 8624 // Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric 8625 // value, enter an even integer between 96 and 3072. 8626 MaxHeight *string `type:"string"` 8627 8628 // The maximum width of the output video in pixels. If you specify auto, Elastic 8629 // Transcoder uses 1920 (Full HD) as the default value. If you specify a numeric 8630 // value, enter an even integer between 128 and 4096. 8631 MaxWidth *string `type:"string"` 8632 8633 // When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars 8634 // to the top and bottom and/or left and right sides of the output video to 8635 // make the total size of the output video match the values that you specified 8636 // for MaxWidth and MaxHeight. 8637 PaddingPolicy *string `type:"string"` 8638 8639 // 8640 // To better control resolution and aspect ratio of output videos, we recommend 8641 // that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, 8642 // and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups 8643 // of settings are mutually exclusive. Do not use them together. 8644 // 8645 // The width and height of the video in the output file, in pixels. Valid values 8646 // are auto and width x height: 8647 // 8648 // * auto: Elastic Transcoder attempts to preserve the width and height of 8649 // the input file, subject to the following rules. 8650 // 8651 // * width x height : The width and height of the output video in pixels. 8652 // 8653 // Note the following about specifying the width and height: 8654 // 8655 // * The width must be an even integer between 128 and 4096, inclusive. 8656 // 8657 // * The height must be an even integer between 96 and 3072, inclusive. 8658 // 8659 // * If you specify a resolution that is less than the resolution of the 8660 // input file, Elastic Transcoder rescales the output file to the lower resolution. 8661 // 8662 // * If you specify a resolution that is greater than the resolution of the 8663 // input file, Elastic Transcoder rescales the output to the higher resolution. 8664 // 8665 // * We recommend that you specify a resolution for which the product of 8666 // width and height is less than or equal to the applicable value in the 8667 // following list (List - Max width x height value): 1 - 25344 1b - 25344 8668 // 1.1 - 101376 1.2 - 101376 1.3 - 101376 2 - 101376 2.1 - 202752 2.2 - 404720 8669 // 3 - 404720 3.1 - 921600 3.2 - 1310720 4 - 2097152 4.1 - 2097152 8670 Resolution *string `type:"string"` 8671 8672 // Specify one of the following values to control scaling of the output video: 8673 // 8674 // * Fit: Elastic Transcoder scales the output video so it matches the value 8675 // that you specified in either MaxWidth or MaxHeight without exceeding the 8676 // other value. 8677 // 8678 // * Fill: Elastic Transcoder scales the output video so it matches the value 8679 // that you specified in either MaxWidth or MaxHeight and matches or exceeds 8680 // the other value. Elastic Transcoder centers the output video and then 8681 // crops it in the dimension (if any) that exceeds the maximum value. 8682 // 8683 // * Stretch: Elastic Transcoder stretches the output video to match the 8684 // values that you specified for MaxWidth and MaxHeight. If the relative 8685 // proportions of the input video and the output video are different, the 8686 // output video will be distorted. 8687 // 8688 // * Keep: Elastic Transcoder does not scale the output video. If either 8689 // dimension of the input video exceeds the values that you specified for 8690 // MaxWidth and MaxHeight, Elastic Transcoder crops the output video. 8691 // 8692 // * ShrinkToFit: Elastic Transcoder scales the output video down so that 8693 // its dimensions match the values that you specified for at least one of 8694 // MaxWidth and MaxHeight without exceeding either value. If you specify 8695 // this option, Elastic Transcoder does not scale the video up. 8696 // 8697 // * ShrinkToFill: Elastic Transcoder scales the output video down so that 8698 // its dimensions match the values that you specified for at least one of 8699 // MaxWidth and MaxHeight without dropping below either value. If you specify 8700 // this option, Elastic Transcoder does not scale the video up. 8701 SizingPolicy *string `type:"string"` 8702 8703 // Settings for the size, location, and opacity of graphics that you want Elastic 8704 // Transcoder to overlay over videos that are transcoded using this preset. 8705 // You can specify settings for up to four watermarks. Watermarks appear in 8706 // the specified size and location, and with the specified opacity for the duration 8707 // of the transcoded video. 8708 // 8709 // Watermarks can be in .png or .jpg format. If you want to display a watermark 8710 // that is not rectangular, use the .png format, which supports transparency. 8711 // 8712 // When you create a job that uses this preset, you specify the .png or .jpg 8713 // graphics that you want Elastic Transcoder to include in the transcoded videos. 8714 // You can specify fewer graphics in the job than you specify watermark settings 8715 // in the preset, which allows you to use the same preset for up to four watermarks 8716 // that have different dimensions. 8717 Watermarks []*PresetWatermark `type:"list"` 8718 } 8719 8720 // String returns the string representation. 8721 // 8722 // API parameter values that are decorated as "sensitive" in the API will not 8723 // be included in the string output. The member name will be present, but the 8724 // value will be replaced with "sensitive". 8725 func (s VideoParameters) String() string { 8726 return awsutil.Prettify(s) 8727 } 8728 8729 // GoString returns the string representation. 8730 // 8731 // API parameter values that are decorated as "sensitive" in the API will not 8732 // be included in the string output. The member name will be present, but the 8733 // value will be replaced with "sensitive". 8734 func (s VideoParameters) GoString() string { 8735 return s.String() 8736 } 8737 8738 // Validate inspects the fields of the type to determine if they are valid. 8739 func (s *VideoParameters) Validate() error { 8740 invalidParams := request.ErrInvalidParams{Context: "VideoParameters"} 8741 if s.Watermarks != nil { 8742 for i, v := range s.Watermarks { 8743 if v == nil { 8744 continue 8745 } 8746 if err := v.Validate(); err != nil { 8747 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Watermarks", i), err.(request.ErrInvalidParams)) 8748 } 8749 } 8750 } 8751 8752 if invalidParams.Len() > 0 { 8753 return invalidParams 8754 } 8755 return nil 8756 } 8757 8758 // SetAspectRatio sets the AspectRatio field's value. 8759 func (s *VideoParameters) SetAspectRatio(v string) *VideoParameters { 8760 s.AspectRatio = &v 8761 return s 8762 } 8763 8764 // SetBitRate sets the BitRate field's value. 8765 func (s *VideoParameters) SetBitRate(v string) *VideoParameters { 8766 s.BitRate = &v 8767 return s 8768 } 8769 8770 // SetCodec sets the Codec field's value. 8771 func (s *VideoParameters) SetCodec(v string) *VideoParameters { 8772 s.Codec = &v 8773 return s 8774 } 8775 8776 // SetCodecOptions sets the CodecOptions field's value. 8777 func (s *VideoParameters) SetCodecOptions(v map[string]*string) *VideoParameters { 8778 s.CodecOptions = v 8779 return s 8780 } 8781 8782 // SetDisplayAspectRatio sets the DisplayAspectRatio field's value. 8783 func (s *VideoParameters) SetDisplayAspectRatio(v string) *VideoParameters { 8784 s.DisplayAspectRatio = &v 8785 return s 8786 } 8787 8788 // SetFixedGOP sets the FixedGOP field's value. 8789 func (s *VideoParameters) SetFixedGOP(v string) *VideoParameters { 8790 s.FixedGOP = &v 8791 return s 8792 } 8793 8794 // SetFrameRate sets the FrameRate field's value. 8795 func (s *VideoParameters) SetFrameRate(v string) *VideoParameters { 8796 s.FrameRate = &v 8797 return s 8798 } 8799 8800 // SetKeyframesMaxDist sets the KeyframesMaxDist field's value. 8801 func (s *VideoParameters) SetKeyframesMaxDist(v string) *VideoParameters { 8802 s.KeyframesMaxDist = &v 8803 return s 8804 } 8805 8806 // SetMaxFrameRate sets the MaxFrameRate field's value. 8807 func (s *VideoParameters) SetMaxFrameRate(v string) *VideoParameters { 8808 s.MaxFrameRate = &v 8809 return s 8810 } 8811 8812 // SetMaxHeight sets the MaxHeight field's value. 8813 func (s *VideoParameters) SetMaxHeight(v string) *VideoParameters { 8814 s.MaxHeight = &v 8815 return s 8816 } 8817 8818 // SetMaxWidth sets the MaxWidth field's value. 8819 func (s *VideoParameters) SetMaxWidth(v string) *VideoParameters { 8820 s.MaxWidth = &v 8821 return s 8822 } 8823 8824 // SetPaddingPolicy sets the PaddingPolicy field's value. 8825 func (s *VideoParameters) SetPaddingPolicy(v string) *VideoParameters { 8826 s.PaddingPolicy = &v 8827 return s 8828 } 8829 8830 // SetResolution sets the Resolution field's value. 8831 func (s *VideoParameters) SetResolution(v string) *VideoParameters { 8832 s.Resolution = &v 8833 return s 8834 } 8835 8836 // SetSizingPolicy sets the SizingPolicy field's value. 8837 func (s *VideoParameters) SetSizingPolicy(v string) *VideoParameters { 8838 s.SizingPolicy = &v 8839 return s 8840 } 8841 8842 // SetWatermarks sets the Watermarks field's value. 8843 func (s *VideoParameters) SetWatermarks(v []*PresetWatermark) *VideoParameters { 8844 s.Watermarks = v 8845 return s 8846 } 8847 8848 // Elastic Transcoder returns a warning if the resources used by your pipeline 8849 // are not in the same region as the pipeline. 8850 // 8851 // Using resources in the same region, such as your Amazon S3 buckets, Amazon 8852 // SNS notification topics, and AWS KMS key, reduces processing time and prevents 8853 // cross-regional charges. 8854 type Warning struct { 8855 _ struct{} `type:"structure"` 8856 8857 // The code of the cross-regional warning. 8858 Code *string `type:"string"` 8859 8860 // The message explaining what resources are in a different region from the 8861 // pipeline. 8862 // 8863 // AWS KMS keys must be in the same region as the pipeline. 8864 Message *string `type:"string"` 8865 } 8866 8867 // String returns the string representation. 8868 // 8869 // API parameter values that are decorated as "sensitive" in the API will not 8870 // be included in the string output. The member name will be present, but the 8871 // value will be replaced with "sensitive". 8872 func (s Warning) String() string { 8873 return awsutil.Prettify(s) 8874 } 8875 8876 // GoString returns the string representation. 8877 // 8878 // API parameter values that are decorated as "sensitive" in the API will not 8879 // be included in the string output. The member name will be present, but the 8880 // value will be replaced with "sensitive". 8881 func (s Warning) GoString() string { 8882 return s.String() 8883 } 8884 8885 // SetCode sets the Code field's value. 8886 func (s *Warning) SetCode(v string) *Warning { 8887 s.Code = &v 8888 return s 8889 } 8890 8891 // SetMessage sets the Message field's value. 8892 func (s *Warning) SetMessage(v string) *Warning { 8893 s.Message = &v 8894 return s 8895 }