1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package elastictranscoder 4 5import ( 6 "fmt" 7 8 "github.com/aws/aws-sdk-go/aws" 9 "github.com/aws/aws-sdk-go/aws/awsutil" 10 "github.com/aws/aws-sdk-go/aws/request" 11 "github.com/aws/aws-sdk-go/private/protocol" 12 "github.com/aws/aws-sdk-go/private/protocol/restjson" 13) 14 15const 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// } 39func (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// 93func (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. 107func (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 114const 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// } 138func (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// 193func (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. 207func (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 214const 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// } 238func (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// 287func (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. 301func (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 308const 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// } 332func (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// 390func (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. 404func (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 411const 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// } 435func (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// 489func (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. 503func (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 510const 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// } 534func (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// 582func (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. 596func (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 603const 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// } 627func (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// 682func (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. 696func (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// 720func (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. 731func (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 755const 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// } 779func (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// 832func (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. 846func (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// 870func (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. 881func (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 905const 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// } 929func (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// 976func (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. 990func (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// 1014func (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. 1025func (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 1049const 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// } 1073func (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// 1120func (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. 1134func (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// 1158func (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. 1169func (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 1193const 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// } 1217func (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// 1262func (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. 1276func (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 1283const 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// } 1307func (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// 1352func (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. 1366func (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 1373const 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// } 1397func (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// 1442func (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. 1456func (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 1463const 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 1489func (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 1545func (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 1561func (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 1568const 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// } 1592func (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// 1646func (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. 1660func (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 1667const 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// } 1691func (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// 1744func (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. 1758func (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 1765const 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// } 1789func (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// 1845func (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. 1859func (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. 1867type 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". 1879func (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". 1888func (s AccessDeniedException) GoString() string { 1889 return s.String() 1890} 1891 1892func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 1893 return &AccessDeniedException{ 1894 RespMetadata: v, 1895 } 1896} 1897 1898// Code returns the exception type name. 1899func (s *AccessDeniedException) Code() string { 1900 return "AccessDeniedException" 1901} 1902 1903// Message returns the exception's message. 1904func (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. 1912func (s *AccessDeniedException) OrigErr() error { 1913 return nil 1914} 1915 1916func (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. 1921func (s *AccessDeniedException) StatusCode() int { 1922 return s.RespMetadata.StatusCode 1923} 1924 1925// RequestID returns the service's response RequestID for request. 1926func (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. 1938type 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". 2012func (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". 2021func (s Artwork) GoString() string { 2022 return s.String() 2023} 2024 2025// Validate inspects the fields of the type to determine if they are valid. 2026func (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. 2039func (s *Artwork) SetAlbumArtFormat(v string) *Artwork { 2040 s.AlbumArtFormat = &v 2041 return s 2042} 2043 2044// SetEncryption sets the Encryption field's value. 2045func (s *Artwork) SetEncryption(v *Encryption) *Artwork { 2046 s.Encryption = v 2047 return s 2048} 2049 2050// SetInputKey sets the InputKey field's value. 2051func (s *Artwork) SetInputKey(v string) *Artwork { 2052 s.InputKey = &v 2053 return s 2054} 2055 2056// SetMaxHeight sets the MaxHeight field's value. 2057func (s *Artwork) SetMaxHeight(v string) *Artwork { 2058 s.MaxHeight = &v 2059 return s 2060} 2061 2062// SetMaxWidth sets the MaxWidth field's value. 2063func (s *Artwork) SetMaxWidth(v string) *Artwork { 2064 s.MaxWidth = &v 2065 return s 2066} 2067 2068// SetPaddingPolicy sets the PaddingPolicy field's value. 2069func (s *Artwork) SetPaddingPolicy(v string) *Artwork { 2070 s.PaddingPolicy = &v 2071 return s 2072} 2073 2074// SetSizingPolicy sets the SizingPolicy field's value. 2075func (s *Artwork) SetSizingPolicy(v string) *Artwork { 2076 s.SizingPolicy = &v 2077 return s 2078} 2079 2080// Options associated with your audio codec. 2081type 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". 2144func (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". 2153func (s AudioCodecOptions) GoString() string { 2154 return s.String() 2155} 2156 2157// SetBitDepth sets the BitDepth field's value. 2158func (s *AudioCodecOptions) SetBitDepth(v string) *AudioCodecOptions { 2159 s.BitDepth = &v 2160 return s 2161} 2162 2163// SetBitOrder sets the BitOrder field's value. 2164func (s *AudioCodecOptions) SetBitOrder(v string) *AudioCodecOptions { 2165 s.BitOrder = &v 2166 return s 2167} 2168 2169// SetProfile sets the Profile field's value. 2170func (s *AudioCodecOptions) SetProfile(v string) *AudioCodecOptions { 2171 s.Profile = &v 2172 return s 2173} 2174 2175// SetSigned sets the Signed field's value. 2176func (s *AudioCodecOptions) SetSigned(v string) *AudioCodecOptions { 2177 s.Signed = &v 2178 return s 2179} 2180 2181// Parameters required for transcoding audio. 2182type 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". 2350func (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". 2359func (s AudioParameters) GoString() string { 2360 return s.String() 2361} 2362 2363// SetAudioPackingMode sets the AudioPackingMode field's value. 2364func (s *AudioParameters) SetAudioPackingMode(v string) *AudioParameters { 2365 s.AudioPackingMode = &v 2366 return s 2367} 2368 2369// SetBitRate sets the BitRate field's value. 2370func (s *AudioParameters) SetBitRate(v string) *AudioParameters { 2371 s.BitRate = &v 2372 return s 2373} 2374 2375// SetChannels sets the Channels field's value. 2376func (s *AudioParameters) SetChannels(v string) *AudioParameters { 2377 s.Channels = &v 2378 return s 2379} 2380 2381// SetCodec sets the Codec field's value. 2382func (s *AudioParameters) SetCodec(v string) *AudioParameters { 2383 s.Codec = &v 2384 return s 2385} 2386 2387// SetCodecOptions sets the CodecOptions field's value. 2388func (s *AudioParameters) SetCodecOptions(v *AudioCodecOptions) *AudioParameters { 2389 s.CodecOptions = v 2390 return s 2391} 2392 2393// SetSampleRate sets the SampleRate field's value. 2394func (s *AudioParameters) SetSampleRate(v string) *AudioParameters { 2395 s.SampleRate = &v 2396 return s 2397} 2398 2399// The CancelJobRequest structure. 2400type 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". 2417func (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". 2426func (s CancelJobInput) GoString() string { 2427 return s.String() 2428} 2429 2430// Validate inspects the fields of the type to determine if they are valid. 2431func (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. 2447func (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. 2454type CancelJobOutput struct { 2455 _ struct{} `type:"structure"` 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". 2463func (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". 2472func (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. 2478type 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". 2522func (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". 2531func (s CaptionFormat) GoString() string { 2532 return s.String() 2533} 2534 2535// SetEncryption sets the Encryption field's value. 2536func (s *CaptionFormat) SetEncryption(v *Encryption) *CaptionFormat { 2537 s.Encryption = v 2538 return s 2539} 2540 2541// SetFormat sets the Format field's value. 2542func (s *CaptionFormat) SetFormat(v string) *CaptionFormat { 2543 s.Format = &v 2544 return s 2545} 2546 2547// SetPattern sets the Pattern field's value. 2548func (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. 2555type 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". 2597func (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". 2606func (s CaptionSource) GoString() string { 2607 return s.String() 2608} 2609 2610// Validate inspects the fields of the type to determine if they are valid. 2611func (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. 2630func (s *CaptionSource) SetEncryption(v *Encryption) *CaptionSource { 2631 s.Encryption = v 2632 return s 2633} 2634 2635// SetKey sets the Key field's value. 2636func (s *CaptionSource) SetKey(v string) *CaptionSource { 2637 s.Key = &v 2638 return s 2639} 2640 2641// SetLabel sets the Label field's value. 2642func (s *CaptionSource) SetLabel(v string) *CaptionSource { 2643 s.Label = &v 2644 return s 2645} 2646 2647// SetLanguage sets the Language field's value. 2648func (s *CaptionSource) SetLanguage(v string) *CaptionSource { 2649 s.Language = &v 2650 return s 2651} 2652 2653// SetTimeOffset sets the TimeOffset field's value. 2654func (s *CaptionSource) SetTimeOffset(v string) *CaptionSource { 2655 s.TimeOffset = &v 2656 return s 2657} 2658 2659// The captions to be created, if any. 2660type 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". 2702func (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". 2711func (s Captions) GoString() string { 2712 return s.String() 2713} 2714 2715// Validate inspects the fields of the type to determine if they are valid. 2716func (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. 2736func (s *Captions) SetCaptionFormats(v []*CaptionFormat) *Captions { 2737 s.CaptionFormats = v 2738 return s 2739} 2740 2741// SetCaptionSources sets the CaptionSources field's value. 2742func (s *Captions) SetCaptionSources(v []*CaptionSource) *Captions { 2743 s.CaptionSources = v 2744 return s 2745} 2746 2747// SetMergePolicy sets the MergePolicy field's value. 2748func (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 2757type 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". 2769func (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". 2778func (s Clip) GoString() string { 2779 return s.String() 2780} 2781 2782// SetTimeSpan sets the TimeSpan field's value. 2783func (s *Clip) SetTimeSpan(v *TimeSpan) *Clip { 2784 s.TimeSpan = v 2785 return s 2786} 2787 2788// The CreateJobRequest structure. 2789type 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". 2842func (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". 2851func (s CreateJobInput) GoString() string { 2852 return s.String() 2853} 2854 2855// Validate inspects the fields of the type to determine if they are valid. 2856func (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. 2912func (s *CreateJobInput) SetInput(v *JobInput) *CreateJobInput { 2913 s.Input = v 2914 return s 2915} 2916 2917// SetInputs sets the Inputs field's value. 2918func (s *CreateJobInput) SetInputs(v []*JobInput) *CreateJobInput { 2919 s.Inputs = v 2920 return s 2921} 2922 2923// SetOutput sets the Output field's value. 2924func (s *CreateJobInput) SetOutput(v *CreateJobOutput) *CreateJobInput { 2925 s.Output = v 2926 return s 2927} 2928 2929// SetOutputKeyPrefix sets the OutputKeyPrefix field's value. 2930func (s *CreateJobInput) SetOutputKeyPrefix(v string) *CreateJobInput { 2931 s.OutputKeyPrefix = &v 2932 return s 2933} 2934 2935// SetOutputs sets the Outputs field's value. 2936func (s *CreateJobInput) SetOutputs(v []*CreateJobOutput) *CreateJobInput { 2937 s.Outputs = v 2938 return s 2939} 2940 2941// SetPipelineId sets the PipelineId field's value. 2942func (s *CreateJobInput) SetPipelineId(v string) *CreateJobInput { 2943 s.PipelineId = &v 2944 return s 2945} 2946 2947// SetPlaylists sets the Playlists field's value. 2948func (s *CreateJobInput) SetPlaylists(v []*CreateJobPlaylist) *CreateJobInput { 2949 s.Playlists = v 2950 return s 2951} 2952 2953// SetUserMetadata sets the UserMetadata field's value. 2954func (s *CreateJobInput) SetUserMetadata(v map[string]*string) *CreateJobInput { 2955 s.UserMetadata = v 2956 return s 2957} 2958 2959// The CreateJobOutput structure. 2960type 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". 3105func (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". 3114func (s CreateJobOutput) GoString() string { 3115 return s.String() 3116} 3117 3118// Validate inspects the fields of the type to determine if they are valid. 3119func (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. 3152func (s *CreateJobOutput) SetAlbumArt(v *JobAlbumArt) *CreateJobOutput { 3153 s.AlbumArt = v 3154 return s 3155} 3156 3157// SetCaptions sets the Captions field's value. 3158func (s *CreateJobOutput) SetCaptions(v *Captions) *CreateJobOutput { 3159 s.Captions = v 3160 return s 3161} 3162 3163// SetComposition sets the Composition field's value. 3164func (s *CreateJobOutput) SetComposition(v []*Clip) *CreateJobOutput { 3165 s.Composition = v 3166 return s 3167} 3168 3169// SetEncryption sets the Encryption field's value. 3170func (s *CreateJobOutput) SetEncryption(v *Encryption) *CreateJobOutput { 3171 s.Encryption = v 3172 return s 3173} 3174 3175// SetKey sets the Key field's value. 3176func (s *CreateJobOutput) SetKey(v string) *CreateJobOutput { 3177 s.Key = &v 3178 return s 3179} 3180 3181// SetPresetId sets the PresetId field's value. 3182func (s *CreateJobOutput) SetPresetId(v string) *CreateJobOutput { 3183 s.PresetId = &v 3184 return s 3185} 3186 3187// SetRotate sets the Rotate field's value. 3188func (s *CreateJobOutput) SetRotate(v string) *CreateJobOutput { 3189 s.Rotate = &v 3190 return s 3191} 3192 3193// SetSegmentDuration sets the SegmentDuration field's value. 3194func (s *CreateJobOutput) SetSegmentDuration(v string) *CreateJobOutput { 3195 s.SegmentDuration = &v 3196 return s 3197} 3198 3199// SetThumbnailEncryption sets the ThumbnailEncryption field's value. 3200func (s *CreateJobOutput) SetThumbnailEncryption(v *Encryption) *CreateJobOutput { 3201 s.ThumbnailEncryption = v 3202 return s 3203} 3204 3205// SetThumbnailPattern sets the ThumbnailPattern field's value. 3206func (s *CreateJobOutput) SetThumbnailPattern(v string) *CreateJobOutput { 3207 s.ThumbnailPattern = &v 3208 return s 3209} 3210 3211// SetWatermarks sets the Watermarks field's value. 3212func (s *CreateJobOutput) SetWatermarks(v []*JobWatermark) *CreateJobOutput { 3213 s.Watermarks = v 3214 return s 3215} 3216 3217// Information about the master playlist. 3218type 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". 3280func (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". 3289func (s CreateJobPlaylist) GoString() string { 3290 return s.String() 3291} 3292 3293// Validate inspects the fields of the type to determine if they are valid. 3294func (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. 3312func (s *CreateJobPlaylist) SetFormat(v string) *CreateJobPlaylist { 3313 s.Format = &v 3314 return s 3315} 3316 3317// SetHlsContentProtection sets the HlsContentProtection field's value. 3318func (s *CreateJobPlaylist) SetHlsContentProtection(v *HlsContentProtection) *CreateJobPlaylist { 3319 s.HlsContentProtection = v 3320 return s 3321} 3322 3323// SetName sets the Name field's value. 3324func (s *CreateJobPlaylist) SetName(v string) *CreateJobPlaylist { 3325 s.Name = &v 3326 return s 3327} 3328 3329// SetOutputKeys sets the OutputKeys field's value. 3330func (s *CreateJobPlaylist) SetOutputKeys(v []*string) *CreateJobPlaylist { 3331 s.OutputKeys = v 3332 return s 3333} 3334 3335// SetPlayReadyDrm sets the PlayReadyDrm field's value. 3336func (s *CreateJobPlaylist) SetPlayReadyDrm(v *PlayReadyDrm) *CreateJobPlaylist { 3337 s.PlayReadyDrm = v 3338 return s 3339} 3340 3341// The CreateJobResponse structure. 3342type 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". 3355func (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". 3364func (s CreateJobResponse) GoString() string { 3365 return s.String() 3366} 3367 3368// SetJob sets the Job field's value. 3369func (s *CreateJobResponse) SetJob(v *Job) *CreateJobResponse { 3370 s.Job = v 3371 return s 3372} 3373 3374// The CreatePipelineRequest structure. 3375type 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". 3572func (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". 3581func (s CreatePipelineInput) GoString() string { 3582 return s.String() 3583} 3584 3585// Validate inspects the fields of the type to determine if they are valid. 3586func (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. 3618func (s *CreatePipelineInput) SetAwsKmsKeyArn(v string) *CreatePipelineInput { 3619 s.AwsKmsKeyArn = &v 3620 return s 3621} 3622 3623// SetContentConfig sets the ContentConfig field's value. 3624func (s *CreatePipelineInput) SetContentConfig(v *PipelineOutputConfig) *CreatePipelineInput { 3625 s.ContentConfig = v 3626 return s 3627} 3628 3629// SetInputBucket sets the InputBucket field's value. 3630func (s *CreatePipelineInput) SetInputBucket(v string) *CreatePipelineInput { 3631 s.InputBucket = &v 3632 return s 3633} 3634 3635// SetName sets the Name field's value. 3636func (s *CreatePipelineInput) SetName(v string) *CreatePipelineInput { 3637 s.Name = &v 3638 return s 3639} 3640 3641// SetNotifications sets the Notifications field's value. 3642func (s *CreatePipelineInput) SetNotifications(v *Notifications) *CreatePipelineInput { 3643 s.Notifications = v 3644 return s 3645} 3646 3647// SetOutputBucket sets the OutputBucket field's value. 3648func (s *CreatePipelineInput) SetOutputBucket(v string) *CreatePipelineInput { 3649 s.OutputBucket = &v 3650 return s 3651} 3652 3653// SetRole sets the Role field's value. 3654func (s *CreatePipelineInput) SetRole(v string) *CreatePipelineInput { 3655 s.Role = &v 3656 return s 3657} 3658 3659// SetThumbnailConfig sets the ThumbnailConfig field's value. 3660func (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. 3667type 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". 3688func (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". 3697func (s CreatePipelineOutput) GoString() string { 3698 return s.String() 3699} 3700 3701// SetPipeline sets the Pipeline field's value. 3702func (s *CreatePipelineOutput) SetPipeline(v *Pipeline) *CreatePipelineOutput { 3703 s.Pipeline = v 3704 return s 3705} 3706 3707// SetWarnings sets the Warnings field's value. 3708func (s *CreatePipelineOutput) SetWarnings(v []*Warning) *CreatePipelineOutput { 3709 s.Warnings = v 3710 return s 3711} 3712 3713// The CreatePresetRequest structure. 3714type 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". 3748func (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". 3757func (s CreatePresetInput) GoString() string { 3758 return s.String() 3759} 3760 3761// Validate inspects the fields of the type to determine if they are valid. 3762func (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. 3786func (s *CreatePresetInput) SetAudio(v *AudioParameters) *CreatePresetInput { 3787 s.Audio = v 3788 return s 3789} 3790 3791// SetContainer sets the Container field's value. 3792func (s *CreatePresetInput) SetContainer(v string) *CreatePresetInput { 3793 s.Container = &v 3794 return s 3795} 3796 3797// SetDescription sets the Description field's value. 3798func (s *CreatePresetInput) SetDescription(v string) *CreatePresetInput { 3799 s.Description = &v 3800 return s 3801} 3802 3803// SetName sets the Name field's value. 3804func (s *CreatePresetInput) SetName(v string) *CreatePresetInput { 3805 s.Name = &v 3806 return s 3807} 3808 3809// SetThumbnails sets the Thumbnails field's value. 3810func (s *CreatePresetInput) SetThumbnails(v *Thumbnails) *CreatePresetInput { 3811 s.Thumbnails = v 3812 return s 3813} 3814 3815// SetVideo sets the Video field's value. 3816func (s *CreatePresetInput) SetVideo(v *VideoParameters) *CreatePresetInput { 3817 s.Video = v 3818 return s 3819} 3820 3821// The CreatePresetResponse structure. 3822type 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". 3841func (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". 3850func (s CreatePresetOutput) GoString() string { 3851 return s.String() 3852} 3853 3854// SetPreset sets the Preset field's value. 3855func (s *CreatePresetOutput) SetPreset(v *Preset) *CreatePresetOutput { 3856 s.Preset = v 3857 return s 3858} 3859 3860// SetWarning sets the Warning field's value. 3861func (s *CreatePresetOutput) SetWarning(v string) *CreatePresetOutput { 3862 s.Warning = &v 3863 return s 3864} 3865 3866// The DeletePipelineRequest structure. 3867type 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". 3881func (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". 3890func (s DeletePipelineInput) GoString() string { 3891 return s.String() 3892} 3893 3894// Validate inspects the fields of the type to determine if they are valid. 3895func (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. 3911func (s *DeletePipelineInput) SetId(v string) *DeletePipelineInput { 3912 s.Id = &v 3913 return s 3914} 3915 3916// The DeletePipelineResponse structure. 3917type DeletePipelineOutput struct { 3918 _ struct{} `type:"structure"` 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". 3926func (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". 3935func (s DeletePipelineOutput) GoString() string { 3936 return s.String() 3937} 3938 3939// The DeletePresetRequest structure. 3940type 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". 3954func (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". 3963func (s DeletePresetInput) GoString() string { 3964 return s.String() 3965} 3966 3967// Validate inspects the fields of the type to determine if they are valid. 3968func (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. 3984func (s *DeletePresetInput) SetId(v string) *DeletePresetInput { 3985 s.Id = &v 3986 return s 3987} 3988 3989// The DeletePresetResponse structure. 3990type DeletePresetOutput struct { 3991 _ struct{} `type:"structure"` 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". 3999func (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". 4008func (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. 4014type 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". 4038func (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". 4047func (s DetectedProperties) GoString() string { 4048 return s.String() 4049} 4050 4051// SetDurationMillis sets the DurationMillis field's value. 4052func (s *DetectedProperties) SetDurationMillis(v int64) *DetectedProperties { 4053 s.DurationMillis = &v 4054 return s 4055} 4056 4057// SetFileSize sets the FileSize field's value. 4058func (s *DetectedProperties) SetFileSize(v int64) *DetectedProperties { 4059 s.FileSize = &v 4060 return s 4061} 4062 4063// SetFrameRate sets the FrameRate field's value. 4064func (s *DetectedProperties) SetFrameRate(v string) *DetectedProperties { 4065 s.FrameRate = &v 4066 return s 4067} 4068 4069// SetHeight sets the Height field's value. 4070func (s *DetectedProperties) SetHeight(v int64) *DetectedProperties { 4071 s.Height = &v 4072 return s 4073} 4074 4075// SetWidth sets the Width field's value. 4076func (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. 4086type 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". 4155func (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". 4164func (s Encryption) GoString() string { 4165 return s.String() 4166} 4167 4168// SetInitializationVector sets the InitializationVector field's value. 4169func (s *Encryption) SetInitializationVector(v string) *Encryption { 4170 s.InitializationVector = &v 4171 return s 4172} 4173 4174// SetKey sets the Key field's value. 4175func (s *Encryption) SetKey(v string) *Encryption { 4176 s.Key = &v 4177 return s 4178} 4179 4180// SetKeyMd5 sets the KeyMd5 field's value. 4181func (s *Encryption) SetKeyMd5(v string) *Encryption { 4182 s.KeyMd5 = &v 4183 return s 4184} 4185 4186// SetMode sets the Mode field's value. 4187func (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. 4194type 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". 4248func (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". 4257func (s HlsContentProtection) GoString() string { 4258 return s.String() 4259} 4260 4261// SetInitializationVector sets the InitializationVector field's value. 4262func (s *HlsContentProtection) SetInitializationVector(v string) *HlsContentProtection { 4263 s.InitializationVector = &v 4264 return s 4265} 4266 4267// SetKey sets the Key field's value. 4268func (s *HlsContentProtection) SetKey(v string) *HlsContentProtection { 4269 s.Key = &v 4270 return s 4271} 4272 4273// SetKeyMd5 sets the KeyMd5 field's value. 4274func (s *HlsContentProtection) SetKeyMd5(v string) *HlsContentProtection { 4275 s.KeyMd5 = &v 4276 return s 4277} 4278 4279// SetKeyStoragePolicy sets the KeyStoragePolicy field's value. 4280func (s *HlsContentProtection) SetKeyStoragePolicy(v string) *HlsContentProtection { 4281 s.KeyStoragePolicy = &v 4282 return s 4283} 4284 4285// SetLicenseAcquisitionUrl sets the LicenseAcquisitionUrl field's value. 4286func (s *HlsContentProtection) SetLicenseAcquisitionUrl(v string) *HlsContentProtection { 4287 s.LicenseAcquisitionUrl = &v 4288 return s 4289} 4290 4291// SetMethod sets the Method field's value. 4292func (s *HlsContentProtection) SetMethod(v string) *HlsContentProtection { 4293 s.Method = &v 4294 return s 4295} 4296 4297type 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". 4309func (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". 4318func (s IncompatibleVersionException) GoString() string { 4319 return s.String() 4320} 4321 4322func newErrorIncompatibleVersionException(v protocol.ResponseMetadata) error { 4323 return &IncompatibleVersionException{ 4324 RespMetadata: v, 4325 } 4326} 4327 4328// Code returns the exception type name. 4329func (s *IncompatibleVersionException) Code() string { 4330 return "IncompatibleVersionException" 4331} 4332 4333// Message returns the exception's message. 4334func (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. 4342func (s *IncompatibleVersionException) OrigErr() error { 4343 return nil 4344} 4345 4346func (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. 4351func (s *IncompatibleVersionException) StatusCode() int { 4352 return s.RespMetadata.StatusCode 4353} 4354 4355// RequestID returns the service's response RequestID for request. 4356func (s *IncompatibleVersionException) RequestID() string { 4357 return s.RespMetadata.RequestID 4358} 4359 4360// The captions to be created, if any. 4361type 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". 4395func (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". 4404func (s InputCaptions) GoString() string { 4405 return s.String() 4406} 4407 4408// Validate inspects the fields of the type to determine if they are valid. 4409func (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. 4429func (s *InputCaptions) SetCaptionSources(v []*CaptionSource) *InputCaptions { 4430 s.CaptionSources = v 4431 return s 4432} 4433 4434// SetMergePolicy sets the MergePolicy field's value. 4435func (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. 4442type 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". 4454func (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". 4463func (s InternalServiceException) GoString() string { 4464 return s.String() 4465} 4466 4467func newErrorInternalServiceException(v protocol.ResponseMetadata) error { 4468 return &InternalServiceException{ 4469 RespMetadata: v, 4470 } 4471} 4472 4473// Code returns the exception type name. 4474func (s *InternalServiceException) Code() string { 4475 return "InternalServiceException" 4476} 4477 4478// Message returns the exception's message. 4479func (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. 4487func (s *InternalServiceException) OrigErr() error { 4488 return nil 4489} 4490 4491func (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. 4496func (s *InternalServiceException) StatusCode() int { 4497 return s.RespMetadata.StatusCode 4498} 4499 4500// RequestID returns the service's response RequestID for request. 4501func (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. 4507type 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". 4596func (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". 4605func (s Job) GoString() string { 4606 return s.String() 4607} 4608 4609// SetArn sets the Arn field's value. 4610func (s *Job) SetArn(v string) *Job { 4611 s.Arn = &v 4612 return s 4613} 4614 4615// SetId sets the Id field's value. 4616func (s *Job) SetId(v string) *Job { 4617 s.Id = &v 4618 return s 4619} 4620 4621// SetInput sets the Input field's value. 4622func (s *Job) SetInput(v *JobInput) *Job { 4623 s.Input = v 4624 return s 4625} 4626 4627// SetInputs sets the Inputs field's value. 4628func (s *Job) SetInputs(v []*JobInput) *Job { 4629 s.Inputs = v 4630 return s 4631} 4632 4633// SetOutput sets the Output field's value. 4634func (s *Job) SetOutput(v *JobOutput) *Job { 4635 s.Output = v 4636 return s 4637} 4638 4639// SetOutputKeyPrefix sets the OutputKeyPrefix field's value. 4640func (s *Job) SetOutputKeyPrefix(v string) *Job { 4641 s.OutputKeyPrefix = &v 4642 return s 4643} 4644 4645// SetOutputs sets the Outputs field's value. 4646func (s *Job) SetOutputs(v []*JobOutput) *Job { 4647 s.Outputs = v 4648 return s 4649} 4650 4651// SetPipelineId sets the PipelineId field's value. 4652func (s *Job) SetPipelineId(v string) *Job { 4653 s.PipelineId = &v 4654 return s 4655} 4656 4657// SetPlaylists sets the Playlists field's value. 4658func (s *Job) SetPlaylists(v []*Playlist) *Job { 4659 s.Playlists = v 4660 return s 4661} 4662 4663// SetStatus sets the Status field's value. 4664func (s *Job) SetStatus(v string) *Job { 4665 s.Status = &v 4666 return s 4667} 4668 4669// SetTiming sets the Timing field's value. 4670func (s *Job) SetTiming(v *Timing) *Job { 4671 s.Timing = v 4672 return s 4673} 4674 4675// SetUserMetadata sets the UserMetadata field's value. 4676func (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. 4682type 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". 4710func (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". 4719func (s JobAlbumArt) GoString() string { 4720 return s.String() 4721} 4722 4723// Validate inspects the fields of the type to determine if they are valid. 4724func (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. 4744func (s *JobAlbumArt) SetArtwork(v []*Artwork) *JobAlbumArt { 4745 s.Artwork = v 4746 return s 4747} 4748 4749// SetMergePolicy sets the MergePolicy field's value. 4750func (s *JobAlbumArt) SetMergePolicy(v string) *JobAlbumArt { 4751 s.MergePolicy = &v 4752 return s 4753} 4754 4755// Information about the file that you're transcoding. 4756type 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". 4868func (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". 4877func (s JobInput) GoString() string { 4878 return s.String() 4879} 4880 4881// Validate inspects the fields of the type to determine if they are valid. 4882func (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. 4900func (s *JobInput) SetAspectRatio(v string) *JobInput { 4901 s.AspectRatio = &v 4902 return s 4903} 4904 4905// SetContainer sets the Container field's value. 4906func (s *JobInput) SetContainer(v string) *JobInput { 4907 s.Container = &v 4908 return s 4909} 4910 4911// SetDetectedProperties sets the DetectedProperties field's value. 4912func (s *JobInput) SetDetectedProperties(v *DetectedProperties) *JobInput { 4913 s.DetectedProperties = v 4914 return s 4915} 4916 4917// SetEncryption sets the Encryption field's value. 4918func (s *JobInput) SetEncryption(v *Encryption) *JobInput { 4919 s.Encryption = v 4920 return s 4921} 4922 4923// SetFrameRate sets the FrameRate field's value. 4924func (s *JobInput) SetFrameRate(v string) *JobInput { 4925 s.FrameRate = &v 4926 return s 4927} 4928 4929// SetInputCaptions sets the InputCaptions field's value. 4930func (s *JobInput) SetInputCaptions(v *InputCaptions) *JobInput { 4931 s.InputCaptions = v 4932 return s 4933} 4934 4935// SetInterlaced sets the Interlaced field's value. 4936func (s *JobInput) SetInterlaced(v string) *JobInput { 4937 s.Interlaced = &v 4938 return s 4939} 4940 4941// SetKey sets the Key field's value. 4942func (s *JobInput) SetKey(v string) *JobInput { 4943 s.Key = &v 4944 return s 4945} 4946 4947// SetResolution sets the Resolution field's value. 4948func (s *JobInput) SetResolution(v string) *JobInput { 4949 s.Resolution = &v 4950 return s 4951} 4952 4953// SetTimeSpan sets the TimeSpan field's value. 4954func (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. 4966type 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". 5178func (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". 5187func (s JobOutput) GoString() string { 5188 return s.String() 5189} 5190 5191// SetAlbumArt sets the AlbumArt field's value. 5192func (s *JobOutput) SetAlbumArt(v *JobAlbumArt) *JobOutput { 5193 s.AlbumArt = v 5194 return s 5195} 5196 5197// SetAppliedColorSpaceConversion sets the AppliedColorSpaceConversion field's value. 5198func (s *JobOutput) SetAppliedColorSpaceConversion(v string) *JobOutput { 5199 s.AppliedColorSpaceConversion = &v 5200 return s 5201} 5202 5203// SetCaptions sets the Captions field's value. 5204func (s *JobOutput) SetCaptions(v *Captions) *JobOutput { 5205 s.Captions = v 5206 return s 5207} 5208 5209// SetComposition sets the Composition field's value. 5210func (s *JobOutput) SetComposition(v []*Clip) *JobOutput { 5211 s.Composition = v 5212 return s 5213} 5214 5215// SetDuration sets the Duration field's value. 5216func (s *JobOutput) SetDuration(v int64) *JobOutput { 5217 s.Duration = &v 5218 return s 5219} 5220 5221// SetDurationMillis sets the DurationMillis field's value. 5222func (s *JobOutput) SetDurationMillis(v int64) *JobOutput { 5223 s.DurationMillis = &v 5224 return s 5225} 5226 5227// SetEncryption sets the Encryption field's value. 5228func (s *JobOutput) SetEncryption(v *Encryption) *JobOutput { 5229 s.Encryption = v 5230 return s 5231} 5232 5233// SetFileSize sets the FileSize field's value. 5234func (s *JobOutput) SetFileSize(v int64) *JobOutput { 5235 s.FileSize = &v 5236 return s 5237} 5238 5239// SetFrameRate sets the FrameRate field's value. 5240func (s *JobOutput) SetFrameRate(v string) *JobOutput { 5241 s.FrameRate = &v 5242 return s 5243} 5244 5245// SetHeight sets the Height field's value. 5246func (s *JobOutput) SetHeight(v int64) *JobOutput { 5247 s.Height = &v 5248 return s 5249} 5250 5251// SetId sets the Id field's value. 5252func (s *JobOutput) SetId(v string) *JobOutput { 5253 s.Id = &v 5254 return s 5255} 5256 5257// SetKey sets the Key field's value. 5258func (s *JobOutput) SetKey(v string) *JobOutput { 5259 s.Key = &v 5260 return s 5261} 5262 5263// SetPresetId sets the PresetId field's value. 5264func (s *JobOutput) SetPresetId(v string) *JobOutput { 5265 s.PresetId = &v 5266 return s 5267} 5268 5269// SetRotate sets the Rotate field's value. 5270func (s *JobOutput) SetRotate(v string) *JobOutput { 5271 s.Rotate = &v 5272 return s 5273} 5274 5275// SetSegmentDuration sets the SegmentDuration field's value. 5276func (s *JobOutput) SetSegmentDuration(v string) *JobOutput { 5277 s.SegmentDuration = &v 5278 return s 5279} 5280 5281// SetStatus sets the Status field's value. 5282func (s *JobOutput) SetStatus(v string) *JobOutput { 5283 s.Status = &v 5284 return s 5285} 5286 5287// SetStatusDetail sets the StatusDetail field's value. 5288func (s *JobOutput) SetStatusDetail(v string) *JobOutput { 5289 s.StatusDetail = &v 5290 return s 5291} 5292 5293// SetThumbnailEncryption sets the ThumbnailEncryption field's value. 5294func (s *JobOutput) SetThumbnailEncryption(v *Encryption) *JobOutput { 5295 s.ThumbnailEncryption = v 5296 return s 5297} 5298 5299// SetThumbnailPattern sets the ThumbnailPattern field's value. 5300func (s *JobOutput) SetThumbnailPattern(v string) *JobOutput { 5301 s.ThumbnailPattern = &v 5302 return s 5303} 5304 5305// SetWatermarks sets the Watermarks field's value. 5306func (s *JobOutput) SetWatermarks(v []*JobWatermark) *JobOutput { 5307 s.Watermarks = v 5308 return s 5309} 5310 5311// SetWidth sets the Width field's value. 5312func (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. 5319type 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". 5348func (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". 5357func (s JobWatermark) GoString() string { 5358 return s.String() 5359} 5360 5361// Validate inspects the fields of the type to determine if they are valid. 5362func (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. 5378func (s *JobWatermark) SetEncryption(v *Encryption) *JobWatermark { 5379 s.Encryption = v 5380 return s 5381} 5382 5383// SetInputKey sets the InputKey field's value. 5384func (s *JobWatermark) SetInputKey(v string) *JobWatermark { 5385 s.InputKey = &v 5386 return s 5387} 5388 5389// SetPresetWatermarkId sets the PresetWatermarkId field's value. 5390func (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. 5397type 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". 5409func (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". 5418func (s LimitExceededException) GoString() string { 5419 return s.String() 5420} 5421 5422func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 5423 return &LimitExceededException{ 5424 RespMetadata: v, 5425 } 5426} 5427 5428// Code returns the exception type name. 5429func (s *LimitExceededException) Code() string { 5430 return "LimitExceededException" 5431} 5432 5433// Message returns the exception's message. 5434func (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. 5442func (s *LimitExceededException) OrigErr() error { 5443 return nil 5444} 5445 5446func (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. 5451func (s *LimitExceededException) StatusCode() int { 5452 return s.RespMetadata.StatusCode 5453} 5454 5455// RequestID returns the service's response RequestID for request. 5456func (s *LimitExceededException) RequestID() string { 5457 return s.RespMetadata.RequestID 5458} 5459 5460// The ListJobsByPipelineRequest structure. 5461type 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". 5483func (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". 5492func (s ListJobsByPipelineInput) GoString() string { 5493 return s.String() 5494} 5495 5496// Validate inspects the fields of the type to determine if they are valid. 5497func (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. 5513func (s *ListJobsByPipelineInput) SetAscending(v string) *ListJobsByPipelineInput { 5514 s.Ascending = &v 5515 return s 5516} 5517 5518// SetPageToken sets the PageToken field's value. 5519func (s *ListJobsByPipelineInput) SetPageToken(v string) *ListJobsByPipelineInput { 5520 s.PageToken = &v 5521 return s 5522} 5523 5524// SetPipelineId sets the PipelineId field's value. 5525func (s *ListJobsByPipelineInput) SetPipelineId(v string) *ListJobsByPipelineInput { 5526 s.PipelineId = &v 5527 return s 5528} 5529 5530// The ListJobsByPipelineResponse structure. 5531type 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". 5548func (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". 5557func (s ListJobsByPipelineOutput) GoString() string { 5558 return s.String() 5559} 5560 5561// SetJobs sets the Jobs field's value. 5562func (s *ListJobsByPipelineOutput) SetJobs(v []*Job) *ListJobsByPipelineOutput { 5563 s.Jobs = v 5564 return s 5565} 5566 5567// SetNextPageToken sets the NextPageToken field's value. 5568func (s *ListJobsByPipelineOutput) SetNextPageToken(v string) *ListJobsByPipelineOutput { 5569 s.NextPageToken = &v 5570 return s 5571} 5572 5573// The ListJobsByStatusRequest structure. 5574type 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". 5598func (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". 5607func (s ListJobsByStatusInput) GoString() string { 5608 return s.String() 5609} 5610 5611// Validate inspects the fields of the type to determine if they are valid. 5612func (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. 5628func (s *ListJobsByStatusInput) SetAscending(v string) *ListJobsByStatusInput { 5629 s.Ascending = &v 5630 return s 5631} 5632 5633// SetPageToken sets the PageToken field's value. 5634func (s *ListJobsByStatusInput) SetPageToken(v string) *ListJobsByStatusInput { 5635 s.PageToken = &v 5636 return s 5637} 5638 5639// SetStatus sets the Status field's value. 5640func (s *ListJobsByStatusInput) SetStatus(v string) *ListJobsByStatusInput { 5641 s.Status = &v 5642 return s 5643} 5644 5645// The ListJobsByStatusResponse structure. 5646type 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". 5663func (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". 5672func (s ListJobsByStatusOutput) GoString() string { 5673 return s.String() 5674} 5675 5676// SetJobs sets the Jobs field's value. 5677func (s *ListJobsByStatusOutput) SetJobs(v []*Job) *ListJobsByStatusOutput { 5678 s.Jobs = v 5679 return s 5680} 5681 5682// SetNextPageToken sets the NextPageToken field's value. 5683func (s *ListJobsByStatusOutput) SetNextPageToken(v string) *ListJobsByStatusOutput { 5684 s.NextPageToken = &v 5685 return s 5686} 5687 5688// The ListPipelineRequest structure. 5689type 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". 5707func (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". 5716func (s ListPipelinesInput) GoString() string { 5717 return s.String() 5718} 5719 5720// SetAscending sets the Ascending field's value. 5721func (s *ListPipelinesInput) SetAscending(v string) *ListPipelinesInput { 5722 s.Ascending = &v 5723 return s 5724} 5725 5726// SetPageToken sets the PageToken field's value. 5727func (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. 5733type 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". 5750func (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". 5759func (s ListPipelinesOutput) GoString() string { 5760 return s.String() 5761} 5762 5763// SetNextPageToken sets the NextPageToken field's value. 5764func (s *ListPipelinesOutput) SetNextPageToken(v string) *ListPipelinesOutput { 5765 s.NextPageToken = &v 5766 return s 5767} 5768 5769// SetPipelines sets the Pipelines field's value. 5770func (s *ListPipelinesOutput) SetPipelines(v []*Pipeline) *ListPipelinesOutput { 5771 s.Pipelines = v 5772 return s 5773} 5774 5775// The ListPresetsRequest structure. 5776type 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". 5794func (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". 5803func (s ListPresetsInput) GoString() string { 5804 return s.String() 5805} 5806 5807// SetAscending sets the Ascending field's value. 5808func (s *ListPresetsInput) SetAscending(v string) *ListPresetsInput { 5809 s.Ascending = &v 5810 return s 5811} 5812 5813// SetPageToken sets the PageToken field's value. 5814func (s *ListPresetsInput) SetPageToken(v string) *ListPresetsInput { 5815 s.PageToken = &v 5816 return s 5817} 5818 5819// The ListPresetsResponse structure. 5820type 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". 5837func (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". 5846func (s ListPresetsOutput) GoString() string { 5847 return s.String() 5848} 5849 5850// SetNextPageToken sets the NextPageToken field's value. 5851func (s *ListPresetsOutput) SetNextPageToken(v string) *ListPresetsOutput { 5852 s.NextPageToken = &v 5853 return s 5854} 5855 5856// SetPresets sets the Presets field's value. 5857func (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. 5867type 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". 5892func (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". 5901func (s Notifications) GoString() string { 5902 return s.String() 5903} 5904 5905// SetCompleted sets the Completed field's value. 5906func (s *Notifications) SetCompleted(v string) *Notifications { 5907 s.Completed = &v 5908 return s 5909} 5910 5911// SetError sets the Error field's value. 5912func (s *Notifications) SetError(v string) *Notifications { 5913 s.Error = &v 5914 return s 5915} 5916 5917// SetProgressing sets the Progressing field's value. 5918func (s *Notifications) SetProgressing(v string) *Notifications { 5919 s.Progressing = &v 5920 return s 5921} 5922 5923// SetWarning sets the Warning field's value. 5924func (s *Notifications) SetWarning(v string) *Notifications { 5925 s.Warning = &v 5926 return s 5927} 5928 5929// The Permission structure. 5930type 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". 5974func (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". 5983func (s Permission) GoString() string { 5984 return s.String() 5985} 5986 5987// Validate inspects the fields of the type to determine if they are valid. 5988func (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. 6001func (s *Permission) SetAccess(v []*string) *Permission { 6002 s.Access = v 6003 return s 6004} 6005 6006// SetGrantee sets the Grantee field's value. 6007func (s *Permission) SetGrantee(v string) *Permission { 6008 s.Grantee = &v 6009 return s 6010} 6011 6012// SetGranteeType sets the GranteeType field's value. 6013func (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. 6019type 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". 6153func (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". 6162func (s Pipeline) GoString() string { 6163 return s.String() 6164} 6165 6166// SetArn sets the Arn field's value. 6167func (s *Pipeline) SetArn(v string) *Pipeline { 6168 s.Arn = &v 6169 return s 6170} 6171 6172// SetAwsKmsKeyArn sets the AwsKmsKeyArn field's value. 6173func (s *Pipeline) SetAwsKmsKeyArn(v string) *Pipeline { 6174 s.AwsKmsKeyArn = &v 6175 return s 6176} 6177 6178// SetContentConfig sets the ContentConfig field's value. 6179func (s *Pipeline) SetContentConfig(v *PipelineOutputConfig) *Pipeline { 6180 s.ContentConfig = v 6181 return s 6182} 6183 6184// SetId sets the Id field's value. 6185func (s *Pipeline) SetId(v string) *Pipeline { 6186 s.Id = &v 6187 return s 6188} 6189 6190// SetInputBucket sets the InputBucket field's value. 6191func (s *Pipeline) SetInputBucket(v string) *Pipeline { 6192 s.InputBucket = &v 6193 return s 6194} 6195 6196// SetName sets the Name field's value. 6197func (s *Pipeline) SetName(v string) *Pipeline { 6198 s.Name = &v 6199 return s 6200} 6201 6202// SetNotifications sets the Notifications field's value. 6203func (s *Pipeline) SetNotifications(v *Notifications) *Pipeline { 6204 s.Notifications = v 6205 return s 6206} 6207 6208// SetOutputBucket sets the OutputBucket field's value. 6209func (s *Pipeline) SetOutputBucket(v string) *Pipeline { 6210 s.OutputBucket = &v 6211 return s 6212} 6213 6214// SetRole sets the Role field's value. 6215func (s *Pipeline) SetRole(v string) *Pipeline { 6216 s.Role = &v 6217 return s 6218} 6219 6220// SetStatus sets the Status field's value. 6221func (s *Pipeline) SetStatus(v string) *Pipeline { 6222 s.Status = &v 6223 return s 6224} 6225 6226// SetThumbnailConfig sets the ThumbnailConfig field's value. 6227func (s *Pipeline) SetThumbnailConfig(v *PipelineOutputConfig) *Pipeline { 6228 s.ThumbnailConfig = v 6229 return s 6230} 6231 6232// The PipelineOutputConfig structure. 6233type 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". 6283func (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". 6292func (s PipelineOutputConfig) GoString() string { 6293 return s.String() 6294} 6295 6296// Validate inspects the fields of the type to determine if they are valid. 6297func (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. 6317func (s *PipelineOutputConfig) SetBucket(v string) *PipelineOutputConfig { 6318 s.Bucket = &v 6319 return s 6320} 6321 6322// SetPermissions sets the Permissions field's value. 6323func (s *PipelineOutputConfig) SetPermissions(v []*Permission) *PipelineOutputConfig { 6324 s.Permissions = v 6325 return s 6326} 6327 6328// SetStorageClass sets the StorageClass field's value. 6329func (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. 6340type 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". 6391func (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". 6400func (s PlayReadyDrm) GoString() string { 6401 return s.String() 6402} 6403 6404// Validate inspects the fields of the type to determine if they are valid. 6405func (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. 6418func (s *PlayReadyDrm) SetFormat(v string) *PlayReadyDrm { 6419 s.Format = &v 6420 return s 6421} 6422 6423// SetInitializationVector sets the InitializationVector field's value. 6424func (s *PlayReadyDrm) SetInitializationVector(v string) *PlayReadyDrm { 6425 s.InitializationVector = &v 6426 return s 6427} 6428 6429// SetKey sets the Key field's value. 6430func (s *PlayReadyDrm) SetKey(v string) *PlayReadyDrm { 6431 s.Key = &v 6432 return s 6433} 6434 6435// SetKeyId sets the KeyId field's value. 6436func (s *PlayReadyDrm) SetKeyId(v string) *PlayReadyDrm { 6437 s.KeyId = &v 6438 return s 6439} 6440 6441// SetKeyMd5 sets the KeyMd5 field's value. 6442func (s *PlayReadyDrm) SetKeyMd5(v string) *PlayReadyDrm { 6443 s.KeyMd5 = &v 6444 return s 6445} 6446 6447// SetLicenseAcquisitionUrl sets the LicenseAcquisitionUrl field's value. 6448func (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. 6458type 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". 6526func (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". 6535func (s Playlist) GoString() string { 6536 return s.String() 6537} 6538 6539// SetFormat sets the Format field's value. 6540func (s *Playlist) SetFormat(v string) *Playlist { 6541 s.Format = &v 6542 return s 6543} 6544 6545// SetHlsContentProtection sets the HlsContentProtection field's value. 6546func (s *Playlist) SetHlsContentProtection(v *HlsContentProtection) *Playlist { 6547 s.HlsContentProtection = v 6548 return s 6549} 6550 6551// SetName sets the Name field's value. 6552func (s *Playlist) SetName(v string) *Playlist { 6553 s.Name = &v 6554 return s 6555} 6556 6557// SetOutputKeys sets the OutputKeys field's value. 6558func (s *Playlist) SetOutputKeys(v []*string) *Playlist { 6559 s.OutputKeys = v 6560 return s 6561} 6562 6563// SetPlayReadyDrm sets the PlayReadyDrm field's value. 6564func (s *Playlist) SetPlayReadyDrm(v *PlayReadyDrm) *Playlist { 6565 s.PlayReadyDrm = v 6566 return s 6567} 6568 6569// SetStatus sets the Status field's value. 6570func (s *Playlist) SetStatus(v string) *Playlist { 6571 s.Status = &v 6572 return s 6573} 6574 6575// SetStatusDetail sets the StatusDetail field's value. 6576func (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. 6587type 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". 6629func (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". 6638func (s Preset) GoString() string { 6639 return s.String() 6640} 6641 6642// SetArn sets the Arn field's value. 6643func (s *Preset) SetArn(v string) *Preset { 6644 s.Arn = &v 6645 return s 6646} 6647 6648// SetAudio sets the Audio field's value. 6649func (s *Preset) SetAudio(v *AudioParameters) *Preset { 6650 s.Audio = v 6651 return s 6652} 6653 6654// SetContainer sets the Container field's value. 6655func (s *Preset) SetContainer(v string) *Preset { 6656 s.Container = &v 6657 return s 6658} 6659 6660// SetDescription sets the Description field's value. 6661func (s *Preset) SetDescription(v string) *Preset { 6662 s.Description = &v 6663 return s 6664} 6665 6666// SetId sets the Id field's value. 6667func (s *Preset) SetId(v string) *Preset { 6668 s.Id = &v 6669 return s 6670} 6671 6672// SetName sets the Name field's value. 6673func (s *Preset) SetName(v string) *Preset { 6674 s.Name = &v 6675 return s 6676} 6677 6678// SetThumbnails sets the Thumbnails field's value. 6679func (s *Preset) SetThumbnails(v *Thumbnails) *Preset { 6680 s.Thumbnails = v 6681 return s 6682} 6683 6684// SetType sets the Type field's value. 6685func (s *Preset) SetType(v string) *Preset { 6686 s.Type = &v 6687 return s 6688} 6689 6690// SetVideo sets the Video field's value. 6691func (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. 6710type 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". 6865func (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". 6874func (s PresetWatermark) GoString() string { 6875 return s.String() 6876} 6877 6878// Validate inspects the fields of the type to determine if they are valid. 6879func (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. 6892func (s *PresetWatermark) SetHorizontalAlign(v string) *PresetWatermark { 6893 s.HorizontalAlign = &v 6894 return s 6895} 6896 6897// SetHorizontalOffset sets the HorizontalOffset field's value. 6898func (s *PresetWatermark) SetHorizontalOffset(v string) *PresetWatermark { 6899 s.HorizontalOffset = &v 6900 return s 6901} 6902 6903// SetId sets the Id field's value. 6904func (s *PresetWatermark) SetId(v string) *PresetWatermark { 6905 s.Id = &v 6906 return s 6907} 6908 6909// SetMaxHeight sets the MaxHeight field's value. 6910func (s *PresetWatermark) SetMaxHeight(v string) *PresetWatermark { 6911 s.MaxHeight = &v 6912 return s 6913} 6914 6915// SetMaxWidth sets the MaxWidth field's value. 6916func (s *PresetWatermark) SetMaxWidth(v string) *PresetWatermark { 6917 s.MaxWidth = &v 6918 return s 6919} 6920 6921// SetOpacity sets the Opacity field's value. 6922func (s *PresetWatermark) SetOpacity(v string) *PresetWatermark { 6923 s.Opacity = &v 6924 return s 6925} 6926 6927// SetSizingPolicy sets the SizingPolicy field's value. 6928func (s *PresetWatermark) SetSizingPolicy(v string) *PresetWatermark { 6929 s.SizingPolicy = &v 6930 return s 6931} 6932 6933// SetTarget sets the Target field's value. 6934func (s *PresetWatermark) SetTarget(v string) *PresetWatermark { 6935 s.Target = &v 6936 return s 6937} 6938 6939// SetVerticalAlign sets the VerticalAlign field's value. 6940func (s *PresetWatermark) SetVerticalAlign(v string) *PresetWatermark { 6941 s.VerticalAlign = &v 6942 return s 6943} 6944 6945// SetVerticalOffset sets the VerticalOffset field's value. 6946func (s *PresetWatermark) SetVerticalOffset(v string) *PresetWatermark { 6947 s.VerticalOffset = &v 6948 return s 6949} 6950 6951// The ReadJobRequest structure. 6952type 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". 6966func (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". 6975func (s ReadJobInput) GoString() string { 6976 return s.String() 6977} 6978 6979// Validate inspects the fields of the type to determine if they are valid. 6980func (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. 6996func (s *ReadJobInput) SetId(v string) *ReadJobInput { 6997 s.Id = &v 6998 return s 6999} 7000 7001// The ReadJobResponse structure. 7002type 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". 7014func (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". 7023func (s ReadJobOutput) GoString() string { 7024 return s.String() 7025} 7026 7027// SetJob sets the Job field's value. 7028func (s *ReadJobOutput) SetJob(v *Job) *ReadJobOutput { 7029 s.Job = v 7030 return s 7031} 7032 7033// The ReadPipelineRequest structure. 7034type 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". 7048func (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". 7057func (s ReadPipelineInput) GoString() string { 7058 return s.String() 7059} 7060 7061// Validate inspects the fields of the type to determine if they are valid. 7062func (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. 7078func (s *ReadPipelineInput) SetId(v string) *ReadPipelineInput { 7079 s.Id = &v 7080 return s 7081} 7082 7083// The ReadPipelineResponse structure. 7084type 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". 7104func (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". 7113func (s ReadPipelineOutput) GoString() string { 7114 return s.String() 7115} 7116 7117// SetPipeline sets the Pipeline field's value. 7118func (s *ReadPipelineOutput) SetPipeline(v *Pipeline) *ReadPipelineOutput { 7119 s.Pipeline = v 7120 return s 7121} 7122 7123// SetWarnings sets the Warnings field's value. 7124func (s *ReadPipelineOutput) SetWarnings(v []*Warning) *ReadPipelineOutput { 7125 s.Warnings = v 7126 return s 7127} 7128 7129// The ReadPresetRequest structure. 7130type 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". 7144func (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". 7153func (s ReadPresetInput) GoString() string { 7154 return s.String() 7155} 7156 7157// Validate inspects the fields of the type to determine if they are valid. 7158func (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. 7174func (s *ReadPresetInput) SetId(v string) *ReadPresetInput { 7175 s.Id = &v 7176 return s 7177} 7178 7179// The ReadPresetResponse structure. 7180type 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". 7192func (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". 7201func (s ReadPresetOutput) GoString() string { 7202 return s.String() 7203} 7204 7205// SetPreset sets the Preset field's value. 7206func (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. 7213type 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". 7225func (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". 7234func (s ResourceInUseException) GoString() string { 7235 return s.String() 7236} 7237 7238func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 7239 return &ResourceInUseException{ 7240 RespMetadata: v, 7241 } 7242} 7243 7244// Code returns the exception type name. 7245func (s *ResourceInUseException) Code() string { 7246 return "ResourceInUseException" 7247} 7248 7249// Message returns the exception's message. 7250func (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. 7258func (s *ResourceInUseException) OrigErr() error { 7259 return nil 7260} 7261 7262func (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. 7267func (s *ResourceInUseException) StatusCode() int { 7268 return s.RespMetadata.StatusCode 7269} 7270 7271// RequestID returns the service's response RequestID for request. 7272func (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. 7279type 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". 7291func (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". 7300func (s ResourceNotFoundException) GoString() string { 7301 return s.String() 7302} 7303 7304func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 7305 return &ResourceNotFoundException{ 7306 RespMetadata: v, 7307 } 7308} 7309 7310// Code returns the exception type name. 7311func (s *ResourceNotFoundException) Code() string { 7312 return "ResourceNotFoundException" 7313} 7314 7315// Message returns the exception's message. 7316func (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. 7324func (s *ResourceNotFoundException) OrigErr() error { 7325 return nil 7326} 7327 7328func (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. 7333func (s *ResourceNotFoundException) StatusCode() int { 7334 return s.RespMetadata.StatusCode 7335} 7336 7337// RequestID returns the service's response RequestID for request. 7338func (s *ResourceNotFoundException) RequestID() string { 7339 return s.RespMetadata.RequestID 7340} 7341 7342// The TestRoleRequest structure. 7343// 7344// Deprecated: TestRoleInput has been deprecated 7345type 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". 7378func (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". 7387func (s TestRoleInput) GoString() string { 7388 return s.String() 7389} 7390 7391// Validate inspects the fields of the type to determine if they are valid. 7392func (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. 7414func (s *TestRoleInput) SetInputBucket(v string) *TestRoleInput { 7415 s.InputBucket = &v 7416 return s 7417} 7418 7419// SetOutputBucket sets the OutputBucket field's value. 7420func (s *TestRoleInput) SetOutputBucket(v string) *TestRoleInput { 7421 s.OutputBucket = &v 7422 return s 7423} 7424 7425// SetRole sets the Role field's value. 7426func (s *TestRoleInput) SetRole(v string) *TestRoleInput { 7427 s.Role = &v 7428 return s 7429} 7430 7431// SetTopics sets the Topics field's value. 7432func (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 7440type 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". 7457func (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". 7466func (s TestRoleOutput) GoString() string { 7467 return s.String() 7468} 7469 7470// SetMessages sets the Messages field's value. 7471func (s *TestRoleOutput) SetMessages(v []*string) *TestRoleOutput { 7472 s.Messages = v 7473 return s 7474} 7475 7476// SetSuccess sets the Success field's value. 7477func (s *TestRoleOutput) SetSuccess(v string) *TestRoleOutput { 7478 s.Success = &v 7479 return s 7480} 7481 7482// Thumbnails for videos. 7483type 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". 7574func (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". 7583func (s Thumbnails) GoString() string { 7584 return s.String() 7585} 7586 7587// SetAspectRatio sets the AspectRatio field's value. 7588func (s *Thumbnails) SetAspectRatio(v string) *Thumbnails { 7589 s.AspectRatio = &v 7590 return s 7591} 7592 7593// SetFormat sets the Format field's value. 7594func (s *Thumbnails) SetFormat(v string) *Thumbnails { 7595 s.Format = &v 7596 return s 7597} 7598 7599// SetInterval sets the Interval field's value. 7600func (s *Thumbnails) SetInterval(v string) *Thumbnails { 7601 s.Interval = &v 7602 return s 7603} 7604 7605// SetMaxHeight sets the MaxHeight field's value. 7606func (s *Thumbnails) SetMaxHeight(v string) *Thumbnails { 7607 s.MaxHeight = &v 7608 return s 7609} 7610 7611// SetMaxWidth sets the MaxWidth field's value. 7612func (s *Thumbnails) SetMaxWidth(v string) *Thumbnails { 7613 s.MaxWidth = &v 7614 return s 7615} 7616 7617// SetPaddingPolicy sets the PaddingPolicy field's value. 7618func (s *Thumbnails) SetPaddingPolicy(v string) *Thumbnails { 7619 s.PaddingPolicy = &v 7620 return s 7621} 7622 7623// SetResolution sets the Resolution field's value. 7624func (s *Thumbnails) SetResolution(v string) *Thumbnails { 7625 s.Resolution = &v 7626 return s 7627} 7628 7629// SetSizingPolicy sets the SizingPolicy field's value. 7630func (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. 7636type 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". 7660func (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". 7669func (s TimeSpan) GoString() string { 7670 return s.String() 7671} 7672 7673// SetDuration sets the Duration field's value. 7674func (s *TimeSpan) SetDuration(v string) *TimeSpan { 7675 s.Duration = &v 7676 return s 7677} 7678 7679// SetStartTime sets the StartTime field's value. 7680func (s *TimeSpan) SetStartTime(v string) *TimeSpan { 7681 s.StartTime = &v 7682 return s 7683} 7684 7685// Details about the timing of a job. 7686type 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". 7704func (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". 7713func (s Timing) GoString() string { 7714 return s.String() 7715} 7716 7717// SetFinishTimeMillis sets the FinishTimeMillis field's value. 7718func (s *Timing) SetFinishTimeMillis(v int64) *Timing { 7719 s.FinishTimeMillis = &v 7720 return s 7721} 7722 7723// SetStartTimeMillis sets the StartTimeMillis field's value. 7724func (s *Timing) SetStartTimeMillis(v int64) *Timing { 7725 s.StartTimeMillis = &v 7726 return s 7727} 7728 7729// SetSubmitTimeMillis sets the SubmitTimeMillis field's value. 7730func (s *Timing) SetSubmitTimeMillis(v int64) *Timing { 7731 s.SubmitTimeMillis = &v 7732 return s 7733} 7734 7735// The UpdatePipelineRequest structure. 7736type 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". 7904func (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". 7913func (s UpdatePipelineInput) GoString() string { 7914 return s.String() 7915} 7916 7917// Validate inspects the fields of the type to determine if they are valid. 7918func (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. 7947func (s *UpdatePipelineInput) SetAwsKmsKeyArn(v string) *UpdatePipelineInput { 7948 s.AwsKmsKeyArn = &v 7949 return s 7950} 7951 7952// SetContentConfig sets the ContentConfig field's value. 7953func (s *UpdatePipelineInput) SetContentConfig(v *PipelineOutputConfig) *UpdatePipelineInput { 7954 s.ContentConfig = v 7955 return s 7956} 7957 7958// SetId sets the Id field's value. 7959func (s *UpdatePipelineInput) SetId(v string) *UpdatePipelineInput { 7960 s.Id = &v 7961 return s 7962} 7963 7964// SetInputBucket sets the InputBucket field's value. 7965func (s *UpdatePipelineInput) SetInputBucket(v string) *UpdatePipelineInput { 7966 s.InputBucket = &v 7967 return s 7968} 7969 7970// SetName sets the Name field's value. 7971func (s *UpdatePipelineInput) SetName(v string) *UpdatePipelineInput { 7972 s.Name = &v 7973 return s 7974} 7975 7976// SetNotifications sets the Notifications field's value. 7977func (s *UpdatePipelineInput) SetNotifications(v *Notifications) *UpdatePipelineInput { 7978 s.Notifications = v 7979 return s 7980} 7981 7982// SetRole sets the Role field's value. 7983func (s *UpdatePipelineInput) SetRole(v string) *UpdatePipelineInput { 7984 s.Role = &v 7985 return s 7986} 7987 7988// SetThumbnailConfig sets the ThumbnailConfig field's value. 7989func (s *UpdatePipelineInput) SetThumbnailConfig(v *PipelineOutputConfig) *UpdatePipelineInput { 7990 s.ThumbnailConfig = v 7991 return s 7992} 7993 7994// The UpdatePipelineNotificationsRequest structure. 7995type 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". 8036func (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". 8045func (s UpdatePipelineNotificationsInput) GoString() string { 8046 return s.String() 8047} 8048 8049// Validate inspects the fields of the type to determine if they are valid. 8050func (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. 8069func (s *UpdatePipelineNotificationsInput) SetId(v string) *UpdatePipelineNotificationsInput { 8070 s.Id = &v 8071 return s 8072} 8073 8074// SetNotifications sets the Notifications field's value. 8075func (s *UpdatePipelineNotificationsInput) SetNotifications(v *Notifications) *UpdatePipelineNotificationsInput { 8076 s.Notifications = v 8077 return s 8078} 8079 8080// The UpdatePipelineNotificationsResponse structure. 8081type 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". 8094func (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". 8103func (s UpdatePipelineNotificationsOutput) GoString() string { 8104 return s.String() 8105} 8106 8107// SetPipeline sets the Pipeline field's value. 8108func (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. 8115type 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". 8135func (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". 8144func (s UpdatePipelineOutput) GoString() string { 8145 return s.String() 8146} 8147 8148// SetPipeline sets the Pipeline field's value. 8149func (s *UpdatePipelineOutput) SetPipeline(v *Pipeline) *UpdatePipelineOutput { 8150 s.Pipeline = v 8151 return s 8152} 8153 8154// SetWarnings sets the Warnings field's value. 8155func (s *UpdatePipelineOutput) SetWarnings(v []*Warning) *UpdatePipelineOutput { 8156 s.Warnings = v 8157 return s 8158} 8159 8160// The UpdatePipelineStatusRequest structure. 8161type 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". 8184func (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". 8193func (s UpdatePipelineStatusInput) GoString() string { 8194 return s.String() 8195} 8196 8197// Validate inspects the fields of the type to determine if they are valid. 8198func (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. 8217func (s *UpdatePipelineStatusInput) SetId(v string) *UpdatePipelineStatusInput { 8218 s.Id = &v 8219 return s 8220} 8221 8222// SetStatus sets the Status field's value. 8223func (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. 8230type 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". 8242func (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". 8251func (s UpdatePipelineStatusOutput) GoString() string { 8252 return s.String() 8253} 8254 8255// SetPipeline sets the Pipeline field's value. 8256func (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. 8262type 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". 8274func (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". 8283func (s ValidationException) GoString() string { 8284 return s.String() 8285} 8286 8287func newErrorValidationException(v protocol.ResponseMetadata) error { 8288 return &ValidationException{ 8289 RespMetadata: v, 8290 } 8291} 8292 8293// Code returns the exception type name. 8294func (s *ValidationException) Code() string { 8295 return "ValidationException" 8296} 8297 8298// Message returns the exception's message. 8299func (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. 8307func (s *ValidationException) OrigErr() error { 8308 return nil 8309} 8310 8311func (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. 8316func (s *ValidationException) StatusCode() int { 8317 return s.RespMetadata.StatusCode 8318} 8319 8320// RequestID returns the service's response RequestID for request. 8321func (s *ValidationException) RequestID() string { 8322 return s.RespMetadata.RequestID 8323} 8324 8325// The VideoParameters structure. 8326type 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". 8725func (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". 8734func (s VideoParameters) GoString() string { 8735 return s.String() 8736} 8737 8738// Validate inspects the fields of the type to determine if they are valid. 8739func (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. 8759func (s *VideoParameters) SetAspectRatio(v string) *VideoParameters { 8760 s.AspectRatio = &v 8761 return s 8762} 8763 8764// SetBitRate sets the BitRate field's value. 8765func (s *VideoParameters) SetBitRate(v string) *VideoParameters { 8766 s.BitRate = &v 8767 return s 8768} 8769 8770// SetCodec sets the Codec field's value. 8771func (s *VideoParameters) SetCodec(v string) *VideoParameters { 8772 s.Codec = &v 8773 return s 8774} 8775 8776// SetCodecOptions sets the CodecOptions field's value. 8777func (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. 8783func (s *VideoParameters) SetDisplayAspectRatio(v string) *VideoParameters { 8784 s.DisplayAspectRatio = &v 8785 return s 8786} 8787 8788// SetFixedGOP sets the FixedGOP field's value. 8789func (s *VideoParameters) SetFixedGOP(v string) *VideoParameters { 8790 s.FixedGOP = &v 8791 return s 8792} 8793 8794// SetFrameRate sets the FrameRate field's value. 8795func (s *VideoParameters) SetFrameRate(v string) *VideoParameters { 8796 s.FrameRate = &v 8797 return s 8798} 8799 8800// SetKeyframesMaxDist sets the KeyframesMaxDist field's value. 8801func (s *VideoParameters) SetKeyframesMaxDist(v string) *VideoParameters { 8802 s.KeyframesMaxDist = &v 8803 return s 8804} 8805 8806// SetMaxFrameRate sets the MaxFrameRate field's value. 8807func (s *VideoParameters) SetMaxFrameRate(v string) *VideoParameters { 8808 s.MaxFrameRate = &v 8809 return s 8810} 8811 8812// SetMaxHeight sets the MaxHeight field's value. 8813func (s *VideoParameters) SetMaxHeight(v string) *VideoParameters { 8814 s.MaxHeight = &v 8815 return s 8816} 8817 8818// SetMaxWidth sets the MaxWidth field's value. 8819func (s *VideoParameters) SetMaxWidth(v string) *VideoParameters { 8820 s.MaxWidth = &v 8821 return s 8822} 8823 8824// SetPaddingPolicy sets the PaddingPolicy field's value. 8825func (s *VideoParameters) SetPaddingPolicy(v string) *VideoParameters { 8826 s.PaddingPolicy = &v 8827 return s 8828} 8829 8830// SetResolution sets the Resolution field's value. 8831func (s *VideoParameters) SetResolution(v string) *VideoParameters { 8832 s.Resolution = &v 8833 return s 8834} 8835 8836// SetSizingPolicy sets the SizingPolicy field's value. 8837func (s *VideoParameters) SetSizingPolicy(v string) *VideoParameters { 8838 s.SizingPolicy = &v 8839 return s 8840} 8841 8842// SetWatermarks sets the Watermarks field's value. 8843func (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. 8854type 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". 8872func (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". 8881func (s Warning) GoString() string { 8882 return s.String() 8883} 8884 8885// SetCode sets the Code field's value. 8886func (s *Warning) SetCode(v string) *Warning { 8887 s.Code = &v 8888 return s 8889} 8890 8891// SetMessage sets the Message field's value. 8892func (s *Warning) SetMessage(v string) *Warning { 8893 s.Message = &v 8894 return s 8895} 8896