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