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