api.go 169 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package elastictranscoder provides a client for Amazon Elastic Transcoder.
  3. package elastictranscoder
  4. import (
  5. "github.com/aws/aws-sdk-go/aws/awsutil"
  6. "github.com/aws/aws-sdk-go/aws/request"
  7. )
  8. const opCancelJob = "CancelJob"
  9. // CancelJobRequest generates a request for the CancelJob operation.
  10. func (c *ElasticTranscoder) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) {
  11. op := &request.Operation{
  12. Name: opCancelJob,
  13. HTTPMethod: "DELETE",
  14. HTTPPath: "/2012-09-25/jobs/{Id}",
  15. }
  16. if input == nil {
  17. input = &CancelJobInput{}
  18. }
  19. req = c.newRequest(op, input, output)
  20. output = &CancelJobOutput{}
  21. req.Data = output
  22. return
  23. }
  24. // The CancelJob operation cancels an unfinished job.
  25. //
  26. // You can only cancel a job that has a status of Submitted. To prevent a pipeline
  27. // from starting to process a job while you're getting the job identifier, use
  28. // UpdatePipelineStatus to temporarily pause the pipeline.
  29. func (c *ElasticTranscoder) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) {
  30. req, out := c.CancelJobRequest(input)
  31. err := req.Send()
  32. return out, err
  33. }
  34. const opCreateJob = "CreateJob"
  35. // CreateJobRequest generates a request for the CreateJob operation.
  36. func (c *ElasticTranscoder) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobResponse) {
  37. op := &request.Operation{
  38. Name: opCreateJob,
  39. HTTPMethod: "POST",
  40. HTTPPath: "/2012-09-25/jobs",
  41. }
  42. if input == nil {
  43. input = &CreateJobInput{}
  44. }
  45. req = c.newRequest(op, input, output)
  46. output = &CreateJobResponse{}
  47. req.Data = output
  48. return
  49. }
  50. // When you create a job, Elastic Transcoder returns JSON data that includes
  51. // the values that you specified plus information about the job that is created.
  52. //
  53. // If you have specified more than one output for your jobs (for example, one
  54. // output for the Kindle Fire and another output for the Apple iPhone 4s), you
  55. // currently must use the Elastic Transcoder API to list the jobs (as opposed
  56. // to the AWS Console).
  57. func (c *ElasticTranscoder) CreateJob(input *CreateJobInput) (*CreateJobResponse, error) {
  58. req, out := c.CreateJobRequest(input)
  59. err := req.Send()
  60. return out, err
  61. }
  62. const opCreatePipeline = "CreatePipeline"
  63. // CreatePipelineRequest generates a request for the CreatePipeline operation.
  64. func (c *ElasticTranscoder) CreatePipelineRequest(input *CreatePipelineInput) (req *request.Request, output *CreatePipelineOutput) {
  65. op := &request.Operation{
  66. Name: opCreatePipeline,
  67. HTTPMethod: "POST",
  68. HTTPPath: "/2012-09-25/pipelines",
  69. }
  70. if input == nil {
  71. input = &CreatePipelineInput{}
  72. }
  73. req = c.newRequest(op, input, output)
  74. output = &CreatePipelineOutput{}
  75. req.Data = output
  76. return
  77. }
  78. // The CreatePipeline operation creates a pipeline with settings that you specify.
  79. func (c *ElasticTranscoder) CreatePipeline(input *CreatePipelineInput) (*CreatePipelineOutput, error) {
  80. req, out := c.CreatePipelineRequest(input)
  81. err := req.Send()
  82. return out, err
  83. }
  84. const opCreatePreset = "CreatePreset"
  85. // CreatePresetRequest generates a request for the CreatePreset operation.
  86. func (c *ElasticTranscoder) CreatePresetRequest(input *CreatePresetInput) (req *request.Request, output *CreatePresetOutput) {
  87. op := &request.Operation{
  88. Name: opCreatePreset,
  89. HTTPMethod: "POST",
  90. HTTPPath: "/2012-09-25/presets",
  91. }
  92. if input == nil {
  93. input = &CreatePresetInput{}
  94. }
  95. req = c.newRequest(op, input, output)
  96. output = &CreatePresetOutput{}
  97. req.Data = output
  98. return
  99. }
  100. // The CreatePreset operation creates a preset with settings that you specify.
  101. //
  102. // Elastic Transcoder checks the CreatePreset settings to ensure that they
  103. // meet Elastic Transcoder requirements and to determine whether they comply
  104. // with H.264 standards. If your settings are not valid for Elastic Transcoder,
  105. // Elastic Transcoder returns an HTTP 400 response (ValidationException) and
  106. // does not create the preset. If the settings are valid for Elastic Transcoder
  107. // but aren't strictly compliant with the H.264 standard, Elastic Transcoder
  108. // creates the preset and returns a warning message in the response. This helps
  109. // you determine whether your settings comply with the H.264 standard while
  110. // giving you greater flexibility with respect to the video that Elastic Transcoder
  111. // produces. Elastic Transcoder uses the H.264 video-compression format. For
  112. // more information, see the International Telecommunication Union publication
  113. // Recommendation ITU-T H.264: Advanced video coding for generic audiovisual
  114. // services.
  115. func (c *ElasticTranscoder) CreatePreset(input *CreatePresetInput) (*CreatePresetOutput, error) {
  116. req, out := c.CreatePresetRequest(input)
  117. err := req.Send()
  118. return out, err
  119. }
  120. const opDeletePipeline = "DeletePipeline"
  121. // DeletePipelineRequest generates a request for the DeletePipeline operation.
  122. func (c *ElasticTranscoder) DeletePipelineRequest(input *DeletePipelineInput) (req *request.Request, output *DeletePipelineOutput) {
  123. op := &request.Operation{
  124. Name: opDeletePipeline,
  125. HTTPMethod: "DELETE",
  126. HTTPPath: "/2012-09-25/pipelines/{Id}",
  127. }
  128. if input == nil {
  129. input = &DeletePipelineInput{}
  130. }
  131. req = c.newRequest(op, input, output)
  132. output = &DeletePipelineOutput{}
  133. req.Data = output
  134. return
  135. }
  136. // The DeletePipeline operation removes a pipeline.
  137. //
  138. // You can only delete a pipeline that has never been used or that is not
  139. // currently in use (doesn't contain any active jobs). If the pipeline is currently
  140. // in use, DeletePipeline returns an error.
  141. func (c *ElasticTranscoder) DeletePipeline(input *DeletePipelineInput) (*DeletePipelineOutput, error) {
  142. req, out := c.DeletePipelineRequest(input)
  143. err := req.Send()
  144. return out, err
  145. }
  146. const opDeletePreset = "DeletePreset"
  147. // DeletePresetRequest generates a request for the DeletePreset operation.
  148. func (c *ElasticTranscoder) DeletePresetRequest(input *DeletePresetInput) (req *request.Request, output *DeletePresetOutput) {
  149. op := &request.Operation{
  150. Name: opDeletePreset,
  151. HTTPMethod: "DELETE",
  152. HTTPPath: "/2012-09-25/presets/{Id}",
  153. }
  154. if input == nil {
  155. input = &DeletePresetInput{}
  156. }
  157. req = c.newRequest(op, input, output)
  158. output = &DeletePresetOutput{}
  159. req.Data = output
  160. return
  161. }
  162. // The DeletePreset operation removes a preset that you've added in an AWS region.
  163. //
  164. // You can't delete the default presets that are included with Elastic Transcoder.
  165. func (c *ElasticTranscoder) DeletePreset(input *DeletePresetInput) (*DeletePresetOutput, error) {
  166. req, out := c.DeletePresetRequest(input)
  167. err := req.Send()
  168. return out, err
  169. }
  170. const opListJobsByPipeline = "ListJobsByPipeline"
  171. // ListJobsByPipelineRequest generates a request for the ListJobsByPipeline operation.
  172. func (c *ElasticTranscoder) ListJobsByPipelineRequest(input *ListJobsByPipelineInput) (req *request.Request, output *ListJobsByPipelineOutput) {
  173. op := &request.Operation{
  174. Name: opListJobsByPipeline,
  175. HTTPMethod: "GET",
  176. HTTPPath: "/2012-09-25/jobsByPipeline/{PipelineId}",
  177. Paginator: &request.Paginator{
  178. InputTokens: []string{"PageToken"},
  179. OutputTokens: []string{"NextPageToken"},
  180. LimitToken: "",
  181. TruncationToken: "",
  182. },
  183. }
  184. if input == nil {
  185. input = &ListJobsByPipelineInput{}
  186. }
  187. req = c.newRequest(op, input, output)
  188. output = &ListJobsByPipelineOutput{}
  189. req.Data = output
  190. return
  191. }
  192. // The ListJobsByPipeline operation gets a list of the jobs currently in a pipeline.
  193. //
  194. // Elastic Transcoder returns all of the jobs currently in the specified pipeline.
  195. // The response body contains one element for each job that satisfies the search
  196. // criteria.
  197. func (c *ElasticTranscoder) ListJobsByPipeline(input *ListJobsByPipelineInput) (*ListJobsByPipelineOutput, error) {
  198. req, out := c.ListJobsByPipelineRequest(input)
  199. err := req.Send()
  200. return out, err
  201. }
  202. func (c *ElasticTranscoder) ListJobsByPipelinePages(input *ListJobsByPipelineInput, fn func(p *ListJobsByPipelineOutput, lastPage bool) (shouldContinue bool)) error {
  203. page, _ := c.ListJobsByPipelineRequest(input)
  204. return page.EachPage(func(p interface{}, lastPage bool) bool {
  205. return fn(p.(*ListJobsByPipelineOutput), lastPage)
  206. })
  207. }
  208. const opListJobsByStatus = "ListJobsByStatus"
  209. // ListJobsByStatusRequest generates a request for the ListJobsByStatus operation.
  210. func (c *ElasticTranscoder) ListJobsByStatusRequest(input *ListJobsByStatusInput) (req *request.Request, output *ListJobsByStatusOutput) {
  211. op := &request.Operation{
  212. Name: opListJobsByStatus,
  213. HTTPMethod: "GET",
  214. HTTPPath: "/2012-09-25/jobsByStatus/{Status}",
  215. Paginator: &request.Paginator{
  216. InputTokens: []string{"PageToken"},
  217. OutputTokens: []string{"NextPageToken"},
  218. LimitToken: "",
  219. TruncationToken: "",
  220. },
  221. }
  222. if input == nil {
  223. input = &ListJobsByStatusInput{}
  224. }
  225. req = c.newRequest(op, input, output)
  226. output = &ListJobsByStatusOutput{}
  227. req.Data = output
  228. return
  229. }
  230. // The ListJobsByStatus operation gets a list of jobs that have a specified
  231. // status. The response body contains one element for each job that satisfies
  232. // the search criteria.
  233. func (c *ElasticTranscoder) ListJobsByStatus(input *ListJobsByStatusInput) (*ListJobsByStatusOutput, error) {
  234. req, out := c.ListJobsByStatusRequest(input)
  235. err := req.Send()
  236. return out, err
  237. }
  238. func (c *ElasticTranscoder) ListJobsByStatusPages(input *ListJobsByStatusInput, fn func(p *ListJobsByStatusOutput, lastPage bool) (shouldContinue bool)) error {
  239. page, _ := c.ListJobsByStatusRequest(input)
  240. return page.EachPage(func(p interface{}, lastPage bool) bool {
  241. return fn(p.(*ListJobsByStatusOutput), lastPage)
  242. })
  243. }
  244. const opListPipelines = "ListPipelines"
  245. // ListPipelinesRequest generates a request for the ListPipelines operation.
  246. func (c *ElasticTranscoder) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Request, output *ListPipelinesOutput) {
  247. op := &request.Operation{
  248. Name: opListPipelines,
  249. HTTPMethod: "GET",
  250. HTTPPath: "/2012-09-25/pipelines",
  251. Paginator: &request.Paginator{
  252. InputTokens: []string{"PageToken"},
  253. OutputTokens: []string{"NextPageToken"},
  254. LimitToken: "",
  255. TruncationToken: "",
  256. },
  257. }
  258. if input == nil {
  259. input = &ListPipelinesInput{}
  260. }
  261. req = c.newRequest(op, input, output)
  262. output = &ListPipelinesOutput{}
  263. req.Data = output
  264. return
  265. }
  266. // The ListPipelines operation gets a list of the pipelines associated with
  267. // the current AWS account.
  268. func (c *ElasticTranscoder) ListPipelines(input *ListPipelinesInput) (*ListPipelinesOutput, error) {
  269. req, out := c.ListPipelinesRequest(input)
  270. err := req.Send()
  271. return out, err
  272. }
  273. func (c *ElasticTranscoder) ListPipelinesPages(input *ListPipelinesInput, fn func(p *ListPipelinesOutput, lastPage bool) (shouldContinue bool)) error {
  274. page, _ := c.ListPipelinesRequest(input)
  275. return page.EachPage(func(p interface{}, lastPage bool) bool {
  276. return fn(p.(*ListPipelinesOutput), lastPage)
  277. })
  278. }
  279. const opListPresets = "ListPresets"
  280. // ListPresetsRequest generates a request for the ListPresets operation.
  281. func (c *ElasticTranscoder) ListPresetsRequest(input *ListPresetsInput) (req *request.Request, output *ListPresetsOutput) {
  282. op := &request.Operation{
  283. Name: opListPresets,
  284. HTTPMethod: "GET",
  285. HTTPPath: "/2012-09-25/presets",
  286. Paginator: &request.Paginator{
  287. InputTokens: []string{"PageToken"},
  288. OutputTokens: []string{"NextPageToken"},
  289. LimitToken: "",
  290. TruncationToken: "",
  291. },
  292. }
  293. if input == nil {
  294. input = &ListPresetsInput{}
  295. }
  296. req = c.newRequest(op, input, output)
  297. output = &ListPresetsOutput{}
  298. req.Data = output
  299. return
  300. }
  301. // The ListPresets operation gets a list of the default presets included with
  302. // Elastic Transcoder and the presets that you've added in an AWS region.
  303. func (c *ElasticTranscoder) ListPresets(input *ListPresetsInput) (*ListPresetsOutput, error) {
  304. req, out := c.ListPresetsRequest(input)
  305. err := req.Send()
  306. return out, err
  307. }
  308. func (c *ElasticTranscoder) ListPresetsPages(input *ListPresetsInput, fn func(p *ListPresetsOutput, lastPage bool) (shouldContinue bool)) error {
  309. page, _ := c.ListPresetsRequest(input)
  310. return page.EachPage(func(p interface{}, lastPage bool) bool {
  311. return fn(p.(*ListPresetsOutput), lastPage)
  312. })
  313. }
  314. const opReadJob = "ReadJob"
  315. // ReadJobRequest generates a request for the ReadJob operation.
  316. func (c *ElasticTranscoder) ReadJobRequest(input *ReadJobInput) (req *request.Request, output *ReadJobOutput) {
  317. op := &request.Operation{
  318. Name: opReadJob,
  319. HTTPMethod: "GET",
  320. HTTPPath: "/2012-09-25/jobs/{Id}",
  321. }
  322. if input == nil {
  323. input = &ReadJobInput{}
  324. }
  325. req = c.newRequest(op, input, output)
  326. output = &ReadJobOutput{}
  327. req.Data = output
  328. return
  329. }
  330. // The ReadJob operation returns detailed information about a job.
  331. func (c *ElasticTranscoder) ReadJob(input *ReadJobInput) (*ReadJobOutput, error) {
  332. req, out := c.ReadJobRequest(input)
  333. err := req.Send()
  334. return out, err
  335. }
  336. const opReadPipeline = "ReadPipeline"
  337. // ReadPipelineRequest generates a request for the ReadPipeline operation.
  338. func (c *ElasticTranscoder) ReadPipelineRequest(input *ReadPipelineInput) (req *request.Request, output *ReadPipelineOutput) {
  339. op := &request.Operation{
  340. Name: opReadPipeline,
  341. HTTPMethod: "GET",
  342. HTTPPath: "/2012-09-25/pipelines/{Id}",
  343. }
  344. if input == nil {
  345. input = &ReadPipelineInput{}
  346. }
  347. req = c.newRequest(op, input, output)
  348. output = &ReadPipelineOutput{}
  349. req.Data = output
  350. return
  351. }
  352. // The ReadPipeline operation gets detailed information about a pipeline.
  353. func (c *ElasticTranscoder) ReadPipeline(input *ReadPipelineInput) (*ReadPipelineOutput, error) {
  354. req, out := c.ReadPipelineRequest(input)
  355. err := req.Send()
  356. return out, err
  357. }
  358. const opReadPreset = "ReadPreset"
  359. // ReadPresetRequest generates a request for the ReadPreset operation.
  360. func (c *ElasticTranscoder) ReadPresetRequest(input *ReadPresetInput) (req *request.Request, output *ReadPresetOutput) {
  361. op := &request.Operation{
  362. Name: opReadPreset,
  363. HTTPMethod: "GET",
  364. HTTPPath: "/2012-09-25/presets/{Id}",
  365. }
  366. if input == nil {
  367. input = &ReadPresetInput{}
  368. }
  369. req = c.newRequest(op, input, output)
  370. output = &ReadPresetOutput{}
  371. req.Data = output
  372. return
  373. }
  374. // The ReadPreset operation gets detailed information about a preset.
  375. func (c *ElasticTranscoder) ReadPreset(input *ReadPresetInput) (*ReadPresetOutput, error) {
  376. req, out := c.ReadPresetRequest(input)
  377. err := req.Send()
  378. return out, err
  379. }
  380. const opTestRole = "TestRole"
  381. // TestRoleRequest generates a request for the TestRole operation.
  382. func (c *ElasticTranscoder) TestRoleRequest(input *TestRoleInput) (req *request.Request, output *TestRoleOutput) {
  383. op := &request.Operation{
  384. Name: opTestRole,
  385. HTTPMethod: "POST",
  386. HTTPPath: "/2012-09-25/roleTests",
  387. }
  388. if input == nil {
  389. input = &TestRoleInput{}
  390. }
  391. req = c.newRequest(op, input, output)
  392. output = &TestRoleOutput{}
  393. req.Data = output
  394. return
  395. }
  396. // The TestRole operation tests the IAM role used to create the pipeline.
  397. //
  398. // The TestRole action lets you determine whether the IAM role you are using
  399. // has sufficient permissions to let Elastic Transcoder perform tasks associated
  400. // with the transcoding process. The action attempts to assume the specified
  401. // IAM role, checks read access to the input and output buckets, and tries to
  402. // send a test notification to Amazon SNS topics that you specify.
  403. func (c *ElasticTranscoder) TestRole(input *TestRoleInput) (*TestRoleOutput, error) {
  404. req, out := c.TestRoleRequest(input)
  405. err := req.Send()
  406. return out, err
  407. }
  408. const opUpdatePipeline = "UpdatePipeline"
  409. // UpdatePipelineRequest generates a request for the UpdatePipeline operation.
  410. func (c *ElasticTranscoder) UpdatePipelineRequest(input *UpdatePipelineInput) (req *request.Request, output *UpdatePipelineOutput) {
  411. op := &request.Operation{
  412. Name: opUpdatePipeline,
  413. HTTPMethod: "PUT",
  414. HTTPPath: "/2012-09-25/pipelines/{Id}",
  415. }
  416. if input == nil {
  417. input = &UpdatePipelineInput{}
  418. }
  419. req = c.newRequest(op, input, output)
  420. output = &UpdatePipelineOutput{}
  421. req.Data = output
  422. return
  423. }
  424. // Use the UpdatePipeline operation to update settings for a pipeline. When
  425. // you change pipeline settings, your changes take effect immediately. Jobs
  426. // that you have already submitted and that Elastic Transcoder has not started
  427. // to process are affected in addition to jobs that you submit after you change
  428. // settings.
  429. func (c *ElasticTranscoder) UpdatePipeline(input *UpdatePipelineInput) (*UpdatePipelineOutput, error) {
  430. req, out := c.UpdatePipelineRequest(input)
  431. err := req.Send()
  432. return out, err
  433. }
  434. const opUpdatePipelineNotifications = "UpdatePipelineNotifications"
  435. // UpdatePipelineNotificationsRequest generates a request for the UpdatePipelineNotifications operation.
  436. func (c *ElasticTranscoder) UpdatePipelineNotificationsRequest(input *UpdatePipelineNotificationsInput) (req *request.Request, output *UpdatePipelineNotificationsOutput) {
  437. op := &request.Operation{
  438. Name: opUpdatePipelineNotifications,
  439. HTTPMethod: "POST",
  440. HTTPPath: "/2012-09-25/pipelines/{Id}/notifications",
  441. }
  442. if input == nil {
  443. input = &UpdatePipelineNotificationsInput{}
  444. }
  445. req = c.newRequest(op, input, output)
  446. output = &UpdatePipelineNotificationsOutput{}
  447. req.Data = output
  448. return
  449. }
  450. // With the UpdatePipelineNotifications operation, you can update Amazon Simple
  451. // Notification Service (Amazon SNS) notifications for a pipeline.
  452. //
  453. // When you update notifications for a pipeline, Elastic Transcoder returns
  454. // the values that you specified in the request.
  455. func (c *ElasticTranscoder) UpdatePipelineNotifications(input *UpdatePipelineNotificationsInput) (*UpdatePipelineNotificationsOutput, error) {
  456. req, out := c.UpdatePipelineNotificationsRequest(input)
  457. err := req.Send()
  458. return out, err
  459. }
  460. const opUpdatePipelineStatus = "UpdatePipelineStatus"
  461. // UpdatePipelineStatusRequest generates a request for the UpdatePipelineStatus operation.
  462. func (c *ElasticTranscoder) UpdatePipelineStatusRequest(input *UpdatePipelineStatusInput) (req *request.Request, output *UpdatePipelineStatusOutput) {
  463. op := &request.Operation{
  464. Name: opUpdatePipelineStatus,
  465. HTTPMethod: "POST",
  466. HTTPPath: "/2012-09-25/pipelines/{Id}/status",
  467. }
  468. if input == nil {
  469. input = &UpdatePipelineStatusInput{}
  470. }
  471. req = c.newRequest(op, input, output)
  472. output = &UpdatePipelineStatusOutput{}
  473. req.Data = output
  474. return
  475. }
  476. // The UpdatePipelineStatus operation pauses or reactivates a pipeline, so that
  477. // the pipeline stops or restarts the processing of jobs.
  478. //
  479. // Changing the pipeline status is useful if you want to cancel one or more
  480. // jobs. You can't cancel jobs after Elastic Transcoder has started processing
  481. // them; if you pause the pipeline to which you submitted the jobs, you have
  482. // more time to get the job IDs for the jobs that you want to cancel, and to
  483. // send a CancelJob request.
  484. func (c *ElasticTranscoder) UpdatePipelineStatus(input *UpdatePipelineStatusInput) (*UpdatePipelineStatusOutput, error) {
  485. req, out := c.UpdatePipelineStatusRequest(input)
  486. err := req.Send()
  487. return out, err
  488. }
  489. // The file to be used as album art. There can be multiple artworks associated
  490. // with an audio file, to a maximum of 20.
  491. //
  492. // To remove artwork or leave the artwork empty, you can either set Artwork
  493. // to null, or set the Merge Policy to "Replace" and use an empty Artwork array.
  494. //
  495. // To pass through existing artwork unchanged, set the Merge Policy to "Prepend",
  496. // "Append", or "Fallback", and use an empty Artwork array.
  497. type Artwork struct {
  498. // The format of album art, if any. Valid formats are .jpg and .png.
  499. AlbumArtFormat *string `type:"string"`
  500. // The encryption settings, if any, that you want Elastic Transcoder to apply
  501. // to your artwork.
  502. Encryption *Encryption `type:"structure"`
  503. // The name of the file to be used as album art. To determine which Amazon S3
  504. // bucket contains the specified file, Elastic Transcoder checks the pipeline
  505. // specified by PipelineId; the InputBucket object in that pipeline identifies
  506. // the bucket.
  507. //
  508. // If the file name includes a prefix, for example, cooking/pie.jpg, include
  509. // the prefix in the key. If the file isn't in the specified bucket, Elastic
  510. // Transcoder returns an error.
  511. InputKey *string `type:"string"`
  512. // The maximum height of the output album art in pixels. If you specify auto,
  513. // Elastic Transcoder uses 600 as the default value. If you specify a numeric
  514. // value, enter an even integer between 32 and 3072, inclusive.
  515. MaxHeight *string `type:"string"`
  516. // The maximum width of the output album art in pixels. If you specify auto,
  517. // Elastic Transcoder uses 600 as the default value. If you specify a numeric
  518. // value, enter an even integer between 32 and 4096, inclusive.
  519. MaxWidth *string `type:"string"`
  520. // When you set PaddingPolicy to Pad, Elastic Transcoder may add white bars
  521. // to the top and bottom and/or left and right sides of the output album art
  522. // to make the total size of the output art match the values that you specified
  523. // for MaxWidth and MaxHeight.
  524. PaddingPolicy *string `type:"string"`
  525. // Specify one of the following values to control scaling of the output album
  526. // art:
  527. //
  528. // Fit: Elastic Transcoder scales the output art so it matches the value
  529. // that you specified in either MaxWidth or MaxHeight without exceeding the
  530. // other value. Fill: Elastic Transcoder scales the output art so it matches
  531. // the value that you specified in either MaxWidth or MaxHeight and matches
  532. // or exceeds the other value. Elastic Transcoder centers the output art and
  533. // then crops it in the dimension (if any) that exceeds the maximum value.
  534. // Stretch: Elastic Transcoder stretches the output art to match the values
  535. // that you specified for MaxWidth and MaxHeight. If the relative proportions
  536. // of the input art and the output art are different, the output art will be
  537. // distorted. Keep: Elastic Transcoder does not scale the output art. If either
  538. // dimension of the input art exceeds the values that you specified for MaxWidth
  539. // and MaxHeight, Elastic Transcoder crops the output art. ShrinkToFit: Elastic
  540. // Transcoder scales the output art down so that its dimensions match the values
  541. // that you specified for at least one of MaxWidth and MaxHeight without exceeding
  542. // either value. If you specify this option, Elastic Transcoder does not scale
  543. // the art up. ShrinkToFill Elastic Transcoder scales the output art down so
  544. // that its dimensions match the values that you specified for at least one
  545. // of MaxWidth and MaxHeight without dropping below either value. If you specify
  546. // this option, Elastic Transcoder does not scale the art up.
  547. SizingPolicy *string `type:"string"`
  548. metadataArtwork `json:"-" xml:"-"`
  549. }
  550. type metadataArtwork struct {
  551. SDKShapeTraits bool `type:"structure"`
  552. }
  553. // String returns the string representation
  554. func (s Artwork) String() string {
  555. return awsutil.Prettify(s)
  556. }
  557. // GoString returns the string representation
  558. func (s Artwork) GoString() string {
  559. return s.String()
  560. }
  561. // Options associated with your audio codec.
  562. type AudioCodecOptions struct {
  563. // You can only choose an audio bit depth when you specify flac or pcm for the
  564. // value of Audio:Codec.
  565. //
  566. // The bit depth of a sample is how many bits of information are included in
  567. // the audio samples. The higher the bit depth, the better the audio, but the
  568. // larger the file.
  569. //
  570. // Valid values are 16 and 24.
  571. //
  572. // The most common bit depth is 24.
  573. BitDepth *string `type:"string"`
  574. // You can only choose an audio bit order when you specify pcm for the value
  575. // of Audio:Codec.
  576. //
  577. // The order the bits of a PCM sample are stored in.
  578. //
  579. // The supported value is LittleEndian.
  580. BitOrder *string `type:"string"`
  581. // You can only choose an audio profile when you specify AAC for the value of
  582. // Audio:Codec.
  583. //
  584. // Specify the AAC profile for the output file. Elastic Transcoder supports
  585. // the following profiles:
  586. //
  587. // auto: If you specify auto, Elastic Transcoder will select the profile
  588. // based on the bit rate selected for the output file. AAC-LC: The most common
  589. // AAC profile. Use for bit rates larger than 64 kbps. HE-AAC: Not supported
  590. // on some older players and devices. Use for bit rates between 40 and 80 kbps.
  591. // HE-AACv2: Not supported on some players and devices. Use for bit rates less
  592. // than 48 kbps. All outputs in a Smooth playlist must have the same value
  593. // for Profile.
  594. //
  595. // If you created any presets before AAC profiles were added, Elastic Transcoder
  596. // automatically updated your presets to use AAC-LC. You can change the value
  597. // as required.
  598. Profile *string `type:"string"`
  599. // You can only choose whether an audio sample is signed when you specify pcm
  600. // for the value of Audio:Codec.
  601. //
  602. // Whether audio samples are represented with negative and positive numbers
  603. // (signed) or only positive numbers (unsigned).
  604. //
  605. // The supported value is Signed.
  606. Signed *string `type:"string"`
  607. metadataAudioCodecOptions `json:"-" xml:"-"`
  608. }
  609. type metadataAudioCodecOptions struct {
  610. SDKShapeTraits bool `type:"structure"`
  611. }
  612. // String returns the string representation
  613. func (s AudioCodecOptions) String() string {
  614. return awsutil.Prettify(s)
  615. }
  616. // GoString returns the string representation
  617. func (s AudioCodecOptions) GoString() string {
  618. return s.String()
  619. }
  620. // Parameters required for transcoding audio.
  621. type AudioParameters struct {
  622. // The method of organizing audio channels and tracks. Use Audio:Channels to
  623. // specify the number of channels in your output, and Audio:AudioPackingMode
  624. // to specify the number of tracks and their relation to the channels. If you
  625. // do not specify an Audio:AudioPackingMode, Elastic Transcoder uses SingleTrack.
  626. //
  627. // The following values are valid:
  628. //
  629. // SingleTrack, OneChannelPerTrack, and OneChannelPerTrackWithMosTo8Tracks
  630. //
  631. // When you specify SingleTrack, Elastic Transcoder creates a single track
  632. // for your output. The track can have up to eight channels. Use SingleTrack
  633. // for all non-mxf containers.
  634. //
  635. // The outputs of SingleTrack for a specific channel value and inputs are as
  636. // follows:
  637. //
  638. // 0 channels with any input: Audio omitted from the output 1, 2, or auto
  639. // channels with no audio input: Audio omitted from the output 1 channel
  640. // with any input with audio: One track with one channel, downmixed if necessary
  641. // 2 channels with one track with one channel: One track with two identical
  642. // channels 2 or auto channels with two tracks with one channel each: One
  643. // track with two channels 2 or auto channels with one track with two channels:
  644. // One track with two channels 2 channels with one track with multiple channels:
  645. // One track with two channels auto channels with one track with one channel:
  646. // One track with one channel auto channels with one track with multiple channels:
  647. // One track with multiple channels When you specify OneChannelPerTrack, Elastic
  648. // Transcoder creates a new track for every channel in your output. Your output
  649. // can have up to eight single-channel tracks.
  650. //
  651. // The outputs of OneChannelPerTrack for a specific channel value and inputs
  652. // are as follows:
  653. //
  654. // 0 channels with any input: Audio omitted from the output 1, 2, or auto
  655. // channels with no audio input: Audio omitted from the output 1 channel
  656. // with any input with audio: One track with one channel, downmixed if necessary
  657. // 2 channels with one track with one channel: Two tracks with one identical
  658. // channel each 2 or auto channels with two tracks with one channel each:
  659. // Two tracks with one channel each 2 or auto channels with one track with
  660. // two channels: Two tracks with one channel each 2 channels with one track
  661. // with multiple channels: Two tracks with one channel each auto channels
  662. // with one track with one channel: One track with one channel auto channels
  663. // with one track with multiple channels: Up to eight tracks with one channel
  664. // each When you specify OneChannelPerTrackWithMosTo8Tracks, Elastic Transcoder
  665. // creates eight single-channel tracks for your output. All tracks that do not
  666. // contain audio data from an input channel are MOS, or Mit Out Sound, tracks.
  667. //
  668. // The outputs of OneChannelPerTrackWithMosTo8Tracks for a specific channel
  669. // value and inputs are as follows:
  670. //
  671. // 0 channels with any input: Audio omitted from the output 1, 2, or auto
  672. // channels with no audio input: Audio omitted from the output 1 channel
  673. // with any input with audio: One track with one channel, downmixed if necessary,
  674. // plus six MOS tracks 2 channels with one track with one channel: Two tracks
  675. // with one identical channel each, plus six MOS tracks 2 or auto channels
  676. // with two tracks with one channel each: Two tracks with one channel each,
  677. // plus six MOS tracks 2 or auto channels with one track with two channels:
  678. // Two tracks with one channel each, plus six MOS tracks 2 channels with one
  679. // track with multiple channels: Two tracks with one channel each, plus six
  680. // MOS tracks auto channels with one track with one channel: One track with
  681. // one channel, plus seven MOS tracks auto channels with one track with multiple
  682. // channels: Up to eight tracks with one channel each, plus MOS tracks until
  683. // there are eight tracks in all
  684. AudioPackingMode *string `type:"string"`
  685. // The bit rate of the audio stream in the output file, in kilobits/second.
  686. // Enter an integer between 64 and 320, inclusive.
  687. BitRate *string `type:"string"`
  688. // The number of audio channels in the output file. The following values are
  689. // valid:
  690. //
  691. // auto, 0, 1, 2
  692. //
  693. // One channel carries the information played by a single speaker. For example,
  694. // a stereo track with two channels sends one channel to the left speaker, and
  695. // the other channel to the right speaker. The output channels are organized
  696. // into tracks. If you want Elastic Transcoder to automatically detect the number
  697. // of audio channels in the input file and use that value for the output file,
  698. // select auto.
  699. //
  700. // The output of a specific channel value and inputs are as follows:
  701. //
  702. // auto channel specified, with any input: Pass through up to eight input
  703. // channels. 0 channels specified, with any input: Audio omitted from the output.
  704. // 1 channel specified, with at least one input channel: Mono sound. 2 channels
  705. // specified, with any input: Two identical mono channels or stereo. For more
  706. // information about tracks, see Audio:AudioPackingMode. For more information
  707. // about how Elastic Transcoder organizes channels and tracks, see Audio:AudioPackingMode.
  708. Channels *string `type:"string"`
  709. // The audio codec for the output file. Valid values include aac, flac, mp2,
  710. // mp3, pcm, and vorbis.
  711. Codec *string `type:"string"`
  712. // If you specified AAC for Audio:Codec, this is the AAC compression profile
  713. // to use. Valid values include:
  714. //
  715. // auto, AAC-LC, HE-AAC, HE-AACv2
  716. //
  717. // If you specify auto, Elastic Transcoder chooses a profile based on the bit
  718. // rate of the output file.
  719. CodecOptions *AudioCodecOptions `type:"structure"`
  720. // The sample rate of the audio stream in the output file, in Hertz. Valid values
  721. // include:
  722. //
  723. // auto, 22050, 32000, 44100, 48000, 96000
  724. //
  725. // If you specify auto, Elastic Transcoder automatically detects the sample
  726. // rate.
  727. SampleRate *string `type:"string"`
  728. metadataAudioParameters `json:"-" xml:"-"`
  729. }
  730. type metadataAudioParameters struct {
  731. SDKShapeTraits bool `type:"structure"`
  732. }
  733. // String returns the string representation
  734. func (s AudioParameters) String() string {
  735. return awsutil.Prettify(s)
  736. }
  737. // GoString returns the string representation
  738. func (s AudioParameters) GoString() string {
  739. return s.String()
  740. }
  741. // The CancelJobRequest structure.
  742. type CancelJobInput struct {
  743. // The identifier of the job that you want to cancel.
  744. //
  745. // To get a list of the jobs (including their jobId) that have a status of
  746. // Submitted, use the ListJobsByStatus API action.
  747. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  748. metadataCancelJobInput `json:"-" xml:"-"`
  749. }
  750. type metadataCancelJobInput struct {
  751. SDKShapeTraits bool `type:"structure"`
  752. }
  753. // String returns the string representation
  754. func (s CancelJobInput) String() string {
  755. return awsutil.Prettify(s)
  756. }
  757. // GoString returns the string representation
  758. func (s CancelJobInput) GoString() string {
  759. return s.String()
  760. }
  761. // The response body contains a JSON object. If the job is successfully canceled,
  762. // the value of Success is true.
  763. type CancelJobOutput struct {
  764. metadataCancelJobOutput `json:"-" xml:"-"`
  765. }
  766. type metadataCancelJobOutput struct {
  767. SDKShapeTraits bool `type:"structure"`
  768. }
  769. // String returns the string representation
  770. func (s CancelJobOutput) String() string {
  771. return awsutil.Prettify(s)
  772. }
  773. // GoString returns the string representation
  774. func (s CancelJobOutput) GoString() string {
  775. return s.String()
  776. }
  777. // The file format of the output captions. If you leave this value blank, Elastic
  778. // Transcoder returns an error.
  779. type CaptionFormat struct {
  780. // The encryption settings, if any, that you want Elastic Transcoder to apply
  781. // to your caption formats.
  782. Encryption *Encryption `type:"structure"`
  783. // The format you specify determines whether Elastic Transcoder generates an
  784. // embedded or sidecar caption for this output.
  785. //
  786. // Valid Embedded Caption Formats:
  787. //
  788. // for FLAC: None
  789. //
  790. // For MP3: None
  791. //
  792. // For MP4: mov-text
  793. //
  794. // For MPEG-TS: None
  795. //
  796. // For ogg: None
  797. //
  798. // For webm: None
  799. //
  800. // Valid Sidecar Caption Formats: Elastic Transcoder supports dfxp (first
  801. // div element only), scc, srt, and webvtt. If you want ttml or smpte-tt compatible
  802. // captions, specify dfxp as your output format.
  803. //
  804. // For FMP4: dfxp
  805. //
  806. // Non-FMP4 outputs: All sidecar types
  807. //
  808. // fmp4 captions have an extension of .ismt
  809. Format *string `type:"string"`
  810. // The prefix for caption filenames, in the form description-{language}, where:
  811. //
  812. // description is a description of the video. {language} is a literal value
  813. // that Elastic Transcoder replaces with the two- or three-letter code for the
  814. // language of the caption in the output file names. If you don't include {language}
  815. // in the file name pattern, Elastic Transcoder automatically appends "{language}"
  816. // to the value that you specify for the description. In addition, Elastic Transcoder
  817. // automatically appends the count to the end of the segment files.
  818. //
  819. // For example, suppose you're transcoding into srt format. When you enter
  820. // "Sydney-{language}-sunrise", and the language of the captions is English
  821. // (en), the name of the first caption file will be Sydney-en-sunrise00000.srt.
  822. Pattern *string `type:"string"`
  823. metadataCaptionFormat `json:"-" xml:"-"`
  824. }
  825. type metadataCaptionFormat struct {
  826. SDKShapeTraits bool `type:"structure"`
  827. }
  828. // String returns the string representation
  829. func (s CaptionFormat) String() string {
  830. return awsutil.Prettify(s)
  831. }
  832. // GoString returns the string representation
  833. func (s CaptionFormat) GoString() string {
  834. return s.String()
  835. }
  836. // A source file for the input sidecar captions used during the transcoding
  837. // process.
  838. type CaptionSource struct {
  839. // The encryption settings, if any, that you want Elastic Transcoder to apply
  840. // to your caption sources.
  841. Encryption *Encryption `type:"structure"`
  842. // The name of the sidecar caption file that you want Elastic Transcoder to
  843. // include in the output file.
  844. Key *string `type:"string"`
  845. // The label of the caption shown in the player when choosing a language. We
  846. // recommend that you put the caption language name here, in the language of
  847. // the captions.
  848. Label *string `type:"string"`
  849. // A string that specifies the language of the caption. Specify this as one
  850. // of:
  851. //
  852. // 2-character ISO 639-1 code
  853. //
  854. // 3-character ISO 639-2 code
  855. //
  856. // For more information on ISO language codes and language names, see the
  857. // List of ISO 639-1 codes.
  858. Language *string `type:"string"`
  859. // For clip generation or captions that do not start at the same time as the
  860. // associated video file, the TimeOffset tells Elastic Transcoder how much of
  861. // the video to encode before including captions.
  862. //
  863. // Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss.
  864. TimeOffset *string `type:"string"`
  865. metadataCaptionSource `json:"-" xml:"-"`
  866. }
  867. type metadataCaptionSource struct {
  868. SDKShapeTraits bool `type:"structure"`
  869. }
  870. // String returns the string representation
  871. func (s CaptionSource) String() string {
  872. return awsutil.Prettify(s)
  873. }
  874. // GoString returns the string representation
  875. func (s CaptionSource) GoString() string {
  876. return s.String()
  877. }
  878. // The captions to be created, if any.
  879. type Captions struct {
  880. // The array of file formats for the output captions. If you leave this value
  881. // blank, Elastic Transcoder returns an error.
  882. CaptionFormats []*CaptionFormat `type:"list"`
  883. // Source files for the input sidecar captions used during the transcoding process.
  884. // To omit all sidecar captions, leave CaptionSources blank.
  885. CaptionSources []*CaptionSource `type:"list"`
  886. // A policy that determines how Elastic Transcoder handles the existence of
  887. // multiple captions.
  888. //
  889. // MergeOverride: Elastic Transcoder transcodes both embedded and sidecar
  890. // captions into outputs. If captions for a language are embedded in the input
  891. // file and also appear in a sidecar file, Elastic Transcoder uses the sidecar
  892. // captions and ignores the embedded captions for that language.
  893. //
  894. // MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions
  895. // into outputs. If captions for a language are embedded in the input file and
  896. // also appear in a sidecar file, Elastic Transcoder uses the embedded captions
  897. // and ignores the sidecar captions for that language. If CaptionSources is
  898. // empty, Elastic Transcoder omits all sidecar captions from the output files.
  899. //
  900. // Override: Elastic Transcoder transcodes only the sidecar captions that you
  901. // specify in CaptionSources.
  902. //
  903. // MergePolicy cannot be null.
  904. MergePolicy *string `type:"string"`
  905. metadataCaptions `json:"-" xml:"-"`
  906. }
  907. type metadataCaptions struct {
  908. SDKShapeTraits bool `type:"structure"`
  909. }
  910. // String returns the string representation
  911. func (s Captions) String() string {
  912. return awsutil.Prettify(s)
  913. }
  914. // GoString returns the string representation
  915. func (s Captions) GoString() string {
  916. return s.String()
  917. }
  918. // Settings for one clip in a composition. All jobs in a playlist must have
  919. // the same clip settings.
  920. type Clip struct {
  921. // Settings that determine when a clip begins and how long it lasts.
  922. TimeSpan *TimeSpan `type:"structure"`
  923. metadataClip `json:"-" xml:"-"`
  924. }
  925. type metadataClip struct {
  926. SDKShapeTraits bool `type:"structure"`
  927. }
  928. // String returns the string representation
  929. func (s Clip) String() string {
  930. return awsutil.Prettify(s)
  931. }
  932. // GoString returns the string representation
  933. func (s Clip) GoString() string {
  934. return s.String()
  935. }
  936. // The CreateJobRequest structure.
  937. type CreateJobInput struct {
  938. // A section of the request body that provides information about the file that
  939. // is being transcoded.
  940. Input *JobInput `type:"structure" required:"true"`
  941. // The CreateJobOutput structure.
  942. Output *CreateJobOutput `type:"structure"`
  943. // The value, if any, that you want Elastic Transcoder to prepend to the names
  944. // of all files that this job creates, including output files, thumbnails, and
  945. // playlists.
  946. OutputKeyPrefix *string `type:"string"`
  947. // A section of the request body that provides information about the transcoded
  948. // (target) files. We recommend that you use the Outputs syntax instead of the
  949. // Output syntax.
  950. Outputs []*CreateJobOutput `type:"list"`
  951. // The Id of the pipeline that you want Elastic Transcoder to use for transcoding.
  952. // The pipeline determines several settings, including the Amazon S3 bucket
  953. // from which Elastic Transcoder gets the files to transcode and the bucket
  954. // into which Elastic Transcoder puts the transcoded files.
  955. PipelineId *string `type:"string" required:"true"`
  956. // If you specify a preset in PresetId for which the value of Container is fmp4
  957. // (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the
  958. // master playlists that you want Elastic Transcoder to create.
  959. //
  960. // The maximum number of master playlists in a job is 30.
  961. Playlists []*CreateJobPlaylist `type:"list"`
  962. // User-defined metadata that you want to associate with an Elastic Transcoder
  963. // job. You specify metadata in key/value pairs, and you can add up to 10 key/value
  964. // pairs per job. Elastic Transcoder does not guarantee that key/value pairs
  965. // will be returned in the same order in which you specify them.
  966. UserMetadata map[string]*string `type:"map"`
  967. metadataCreateJobInput `json:"-" xml:"-"`
  968. }
  969. type metadataCreateJobInput struct {
  970. SDKShapeTraits bool `type:"structure"`
  971. }
  972. // String returns the string representation
  973. func (s CreateJobInput) String() string {
  974. return awsutil.Prettify(s)
  975. }
  976. // GoString returns the string representation
  977. func (s CreateJobInput) GoString() string {
  978. return s.String()
  979. }
  980. // The CreateJobOutput structure.
  981. type CreateJobOutput struct {
  982. // Information about the album art that you want Elastic Transcoder to add to
  983. // the file during transcoding. You can specify up to twenty album artworks
  984. // for each output. Settings for each artwork must be defined in the job for
  985. // the current output.
  986. AlbumArt *JobAlbumArt `type:"structure"`
  987. // You can configure Elastic Transcoder to transcode captions, or subtitles,
  988. // from one format to another. All captions must be in UTF-8. Elastic Transcoder
  989. // supports two types of captions:
  990. //
  991. // Embedded: Embedded captions are included in the same file as the audio
  992. // and video. Elastic Transcoder supports only one embedded caption per language,
  993. // to a maximum of 300 embedded captions per file.
  994. //
  995. // Valid input values include: CEA-608 (EIA-608, first non-empty channel only),
  996. // CEA-708 (EIA-708, first non-empty channel only), and mov-text
  997. //
  998. // Valid outputs include: mov-text
  999. //
  1000. // Elastic Transcoder supports a maximum of one embedded format per output.
  1001. //
  1002. // Sidecar: Sidecar captions are kept in a separate metadata file from the
  1003. // audio and video data. Sidecar captions require a player that is capable of
  1004. // understanding the relationship between the video file and the sidecar file.
  1005. // Elastic Transcoder supports only one sidecar caption per language, to a maximum
  1006. // of 20 sidecar captions per file.
  1007. //
  1008. // Valid input values include: dfxp (first div element only), ebu-tt, scc,
  1009. // smpt, srt, ttml (first div element only), and webvtt
  1010. //
  1011. // Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.
  1012. //
  1013. // If you want ttml or smpte-tt compatible captions, specify dfxp as your
  1014. // output format.
  1015. //
  1016. // Elastic Transcoder does not support OCR (Optical Character Recognition),
  1017. // does not accept pictures as a valid input for captions, and is not available
  1018. // for audio-only transcoding. Elastic Transcoder does not preserve text formatting
  1019. // (for example, italics) during the transcoding process.
  1020. //
  1021. // To remove captions or leave the captions empty, set Captions to null. To
  1022. // pass through existing captions unchanged, set the MergePolicy to MergeRetain,
  1023. // and pass in a null CaptionSources array.
  1024. //
  1025. // For more information on embedded files, see the Subtitles Wikipedia page.
  1026. //
  1027. // For more information on sidecar files, see the Extensible Metadata Platform
  1028. // and Sidecar file Wikipedia pages.
  1029. Captions *Captions `type:"structure"`
  1030. // You can create an output file that contains an excerpt from the input file.
  1031. // This excerpt, called a clip, can come from the beginning, middle, or end
  1032. // of the file. The Composition object contains settings for the clips that
  1033. // make up an output file. For the current release, you can only specify settings
  1034. // for a single clip per output file. The Composition object cannot be null.
  1035. Composition []*Clip `type:"list"`
  1036. // You can specify encryption settings for any output files that you want to
  1037. // use for a transcoding job. This includes the output file and any watermarks,
  1038. // thumbnails, album art, or captions that you want to use. You must specify
  1039. // encryption settings for each file individually.
  1040. Encryption *Encryption `type:"structure"`
  1041. // The name to assign to the transcoded file. Elastic Transcoder saves the file
  1042. // in the Amazon S3 bucket specified by the OutputBucket object in the pipeline
  1043. // that is specified by the pipeline ID. If a file with the specified name already
  1044. // exists in the output bucket, the job fails.
  1045. Key *string `type:"string"`
  1046. // The Id of the preset to use for this job. The preset determines the audio,
  1047. // video, and thumbnail settings that Elastic Transcoder uses for transcoding.
  1048. PresetId *string `type:"string"`
  1049. // The number of degrees clockwise by which you want Elastic Transcoder to rotate
  1050. // the output relative to the input. Enter one of the following values: auto,
  1051. // 0, 90, 180, 270. The value auto generally works only if the file that you're
  1052. // transcoding contains rotation metadata.
  1053. Rotate *string `type:"string"`
  1054. // (Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset
  1055. // in PresetId for which the value of Container is fmp4 (Fragmented MP4) or
  1056. // ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment
  1057. // in seconds. For HLSv3 format playlists, each media segment is stored in a
  1058. // separate .ts file. For HLSv4 and Smooth playlists, all media segments for
  1059. // an output are stored in a single file. Each segment is approximately the
  1060. // length of the SegmentDuration, though individual segments might be shorter
  1061. // or longer.
  1062. //
  1063. // The range of valid values is 1 to 60 seconds. If the duration of the video
  1064. // is not evenly divisible by SegmentDuration, the duration of the last segment
  1065. // is the remainder of total length/SegmentDuration.
  1066. //
  1067. // Elastic Transcoder creates an output-specific playlist for each output HLS
  1068. // output that you specify in OutputKeys. To add an output to the master playlist
  1069. // for this job, include it in the OutputKeys of the associated playlist.
  1070. SegmentDuration *string `type:"string"`
  1071. // The encryption settings, if any, that you want Elastic Transcoder to apply
  1072. // to your thumbnail.
  1073. ThumbnailEncryption *Encryption `type:"structure"`
  1074. // Whether you want Elastic Transcoder to create thumbnails for your videos
  1075. // and, if so, how you want Elastic Transcoder to name the files.
  1076. //
  1077. // If you don't want Elastic Transcoder to create thumbnails, specify "".
  1078. //
  1079. // If you do want Elastic Transcoder to create thumbnails, specify the information
  1080. // that you want to include in the file name for each thumbnail. You can specify
  1081. // the following values in any sequence:
  1082. //
  1083. // {count} (Required): If you want to create thumbnails, you must include
  1084. // {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic
  1085. // Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail
  1086. // file names. The number indicates where a given thumbnail appears in the sequence
  1087. // of thumbnails for a transcoded file.
  1088. //
  1089. // If you specify a literal value and/or {resolution} but you omit {count},
  1090. // Elastic Transcoder returns a validation error and does not create the job.
  1091. // Literal values (Optional): You can specify literal values anywhere in
  1092. // the ThumbnailPattern object. For example, you can include them as a file
  1093. // name prefix or as a delimiter between {resolution} and {count}.
  1094. //
  1095. // {resolution} (Optional): If you want Elastic Transcoder to include the
  1096. // resolution in the file name, include {resolution} in the ThumbnailPattern
  1097. // object.
  1098. //
  1099. // When creating thumbnails, Elastic Transcoder automatically saves the files
  1100. // in the format (.jpg or .png) that appears in the preset that you specified
  1101. // in the PresetID value of CreateJobOutput. Elastic Transcoder also appends
  1102. // the applicable file name extension.
  1103. ThumbnailPattern *string `type:"string"`
  1104. // Information about the watermarks that you want Elastic Transcoder to add
  1105. // to the video during transcoding. You can specify up to four watermarks for
  1106. // each output. Settings for each watermark must be defined in the preset for
  1107. // the current output.
  1108. Watermarks []*JobWatermark `type:"list"`
  1109. metadataCreateJobOutput `json:"-" xml:"-"`
  1110. }
  1111. type metadataCreateJobOutput struct {
  1112. SDKShapeTraits bool `type:"structure"`
  1113. }
  1114. // String returns the string representation
  1115. func (s CreateJobOutput) String() string {
  1116. return awsutil.Prettify(s)
  1117. }
  1118. // GoString returns the string representation
  1119. func (s CreateJobOutput) GoString() string {
  1120. return s.String()
  1121. }
  1122. // Information about the master playlist.
  1123. type CreateJobPlaylist struct {
  1124. // The format of the output playlist. Valid formats include HLSv3, HLSv4, and
  1125. // Smooth.
  1126. Format *string `type:"string"`
  1127. // The HLS content protection settings, if any, that you want Elastic Transcoder
  1128. // to apply to the output files associated with this playlist.
  1129. HlsContentProtection *HlsContentProtection `type:"structure"`
  1130. // The name that you want Elastic Transcoder to assign to the master playlist,
  1131. // for example, nyc-vacation.m3u8. If the name includes a / character, the section
  1132. // of the name before the last / must be identical for all Name objects. If
  1133. // you create more than one master playlist, the values of all Name objects
  1134. // must be unique.
  1135. //
  1136. // Note: Elastic Transcoder automatically appends the relevant file extension
  1137. // to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc
  1138. // for Smooth playlists). If you include a file extension in Name, the file
  1139. // name will have two extensions.
  1140. Name *string `type:"string"`
  1141. // For each output in this job that you want to include in a master playlist,
  1142. // the value of the Outputs:Key object.
  1143. //
  1144. // If your output is not HLS or does not have a segment duration set, the
  1145. // name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:
  1146. //
  1147. // OutputKeyPrefixOutputs:Key
  1148. //
  1149. // If your output is HLSv3 and has a segment duration set, or is not included
  1150. // in a playlist, Elastic Transcoder creates an output playlist file with a
  1151. // file extension of .m3u8, and a series of .ts files that include a five-digit
  1152. // sequential counter beginning with 00000:
  1153. //
  1154. // OutputKeyPrefixOutputs:Key.m3u8
  1155. //
  1156. // OutputKeyPrefixOutputs:Key00000.ts
  1157. //
  1158. // If your output is HLSv4, has a segment duration set, and is included in
  1159. // an HLSv4 playlist, Elastic Transcoder creates an output playlist file with
  1160. // a file extension of _v4.m3u8. If the output is video, Elastic Transcoder
  1161. // also creates an output file with an extension of _iframe.m3u8:
  1162. //
  1163. // OutputKeyPrefixOutputs:Key_v4.m3u8
  1164. //
  1165. // OutputKeyPrefixOutputs:Key_iframe.m3u8
  1166. //
  1167. // OutputKeyPrefixOutputs:Key.ts
  1168. //
  1169. // Elastic Transcoder automatically appends the relevant file extension to
  1170. // the file name. If you include a file extension in Output Key, the file name
  1171. // will have two extensions.
  1172. //
  1173. // If you include more than one output in a playlist, any segment duration
  1174. // settings, clip settings, or caption settings must be the same for all outputs
  1175. // in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile,
  1176. // and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for
  1177. // all outputs.
  1178. OutputKeys []*string `type:"list"`
  1179. // The DRM settings, if any, that you want Elastic Transcoder to apply to the
  1180. // output files associated with this playlist.
  1181. PlayReadyDrm *PlayReadyDrm `type:"structure"`
  1182. metadataCreateJobPlaylist `json:"-" xml:"-"`
  1183. }
  1184. type metadataCreateJobPlaylist struct {
  1185. SDKShapeTraits bool `type:"structure"`
  1186. }
  1187. // String returns the string representation
  1188. func (s CreateJobPlaylist) String() string {
  1189. return awsutil.Prettify(s)
  1190. }
  1191. // GoString returns the string representation
  1192. func (s CreateJobPlaylist) GoString() string {
  1193. return s.String()
  1194. }
  1195. // The CreateJobResponse structure.
  1196. type CreateJobResponse struct {
  1197. // A section of the response body that provides information about the job that
  1198. // is created.
  1199. Job *Job `type:"structure"`
  1200. metadataCreateJobResponse `json:"-" xml:"-"`
  1201. }
  1202. type metadataCreateJobResponse struct {
  1203. SDKShapeTraits bool `type:"structure"`
  1204. }
  1205. // String returns the string representation
  1206. func (s CreateJobResponse) String() string {
  1207. return awsutil.Prettify(s)
  1208. }
  1209. // GoString returns the string representation
  1210. func (s CreateJobResponse) GoString() string {
  1211. return s.String()
  1212. }
  1213. // The CreatePipelineRequest structure.
  1214. type CreatePipelineInput struct {
  1215. // The AWS Key Management Service (AWS KMS) key that you want to use with this
  1216. // pipeline.
  1217. //
  1218. // If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need
  1219. // to provide a key with your job because a default key, known as an AWS-KMS
  1220. // key, is created for you automatically. You need to provide an AWS-KMS key
  1221. // only if you want to use a non-default AWS-KMS key, or if you are using an
  1222. // Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.
  1223. AwsKmsKeyArn *string `type:"string"`
  1224. // The optional ContentConfig object specifies information about the Amazon
  1225. // S3 bucket in which you want Elastic Transcoder to save transcoded files and
  1226. // playlists: which bucket to use, which users you want to have access to the
  1227. // files, the type of access you want users to have, and the storage class that
  1228. // you want to assign to the files.
  1229. //
  1230. // If you specify values for ContentConfig, you must also specify values for
  1231. // ThumbnailConfig.
  1232. //
  1233. // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket
  1234. // object.
  1235. //
  1236. // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save
  1237. // transcoded files and playlists. Permissions (Optional): The Permissions
  1238. // object specifies which users you want to have access to transcoded files
  1239. // and the type of access you want them to have. You can grant permissions to
  1240. // a maximum of 30 users and/or predefined Amazon S3 groups. Grantee Type:
  1241. // Specify the type of value that appears in the Grantee object: Canonical:
  1242. // The value in the Grantee object is either the canonical user ID for an AWS
  1243. // account or an origin access identity for an Amazon CloudFront distribution.
  1244. // For more information about canonical user IDs, see Access Control List (ACL)
  1245. // Overview in the Amazon Simple Storage Service Developer Guide. For more information
  1246. // about using CloudFront origin access identities to require that users use
  1247. // CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity
  1248. // to Restrict Access to Your Amazon S3 Content. A canonical user ID is not
  1249. // the same as an AWS account number. Email: The value in the Grantee object
  1250. // is the registered email address of an AWS account. Group: The value in the
  1251. // Grantee object is one of the following predefined Amazon S3 groups: AllUsers,
  1252. // AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or group that
  1253. // you want to have access to transcoded files and playlists. To identify the
  1254. // user or group, you can specify the canonical user ID for an AWS account,
  1255. // an origin access identity for a CloudFront distribution, the registered email
  1256. // address of an AWS account, or a predefined Amazon S3 group Access: The
  1257. // permission that you want to give to the AWS user that you specified in Grantee.
  1258. // Permissions are granted on the files that Elastic Transcoder adds to the
  1259. // bucket, including playlists and video files. Valid values include: READ:
  1260. // The grantee can read the objects and metadata for objects that Elastic Transcoder
  1261. // adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object
  1262. // ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP:
  1263. // The grantee can write the ACL for the objects that Elastic Transcoder adds
  1264. // to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and
  1265. // WRITE_ACP permissions for the objects that Elastic Transcoder adds to the
  1266. // Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard
  1267. // or ReducedRedundancy, that you want Elastic Transcoder to assign to the video
  1268. // files and playlists that it stores in your Amazon S3 bucket.
  1269. ContentConfig *PipelineOutputConfig `type:"structure"`
  1270. // The Amazon S3 bucket in which you saved the media files that you want to
  1271. // transcode.
  1272. InputBucket *string `type:"string" required:"true"`
  1273. // The name of the pipeline. We recommend that the name be unique within the
  1274. // AWS account, but uniqueness is not enforced.
  1275. //
  1276. // Constraints: Maximum 40 characters.
  1277. Name *string `type:"string" required:"true"`
  1278. // The Amazon Simple Notification Service (Amazon SNS) topic that you want to
  1279. // notify to report job status.
  1280. //
  1281. // To receive notifications, you must also subscribe to the new topic in the
  1282. // Amazon SNS console. Progressing: The topic ARN for the Amazon Simple Notification
  1283. // Service (Amazon SNS) topic that you want to notify when Elastic Transcoder
  1284. // has started to process a job in this pipeline. This is the ARN that Amazon
  1285. // SNS returned when you created the topic. For more information, see Create
  1286. // a Topic in the Amazon Simple Notification Service Developer Guide. Completed:
  1287. // The topic ARN for the Amazon SNS topic that you want to notify when Elastic
  1288. // Transcoder has finished processing a job in this pipeline. This is the ARN
  1289. // that Amazon SNS returned when you created the topic. Warning: The topic
  1290. // ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
  1291. // encounters a warning condition while processing a job in this pipeline. This
  1292. // is the ARN that Amazon SNS returned when you created the topic. Error: The
  1293. // topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
  1294. // encounters an error condition while processing a job in this pipeline. This
  1295. // is the ARN that Amazon SNS returned when you created the topic.
  1296. Notifications *Notifications `type:"structure"`
  1297. // The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded
  1298. // files. (Use this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.)
  1299. //
  1300. // Specify this value when all of the following are true: You want to save
  1301. // transcoded files, thumbnails (if any), and playlists (if any) together in
  1302. // one bucket. You do not want to specify the users or groups who have access
  1303. // to the transcoded files, thumbnails, and playlists. You do not want to specify
  1304. // the permissions that Elastic Transcoder grants to the files. When Elastic
  1305. // Transcoder saves files in OutputBucket, it grants full control over the files
  1306. // only to the AWS account that owns the role that is specified by Role. You
  1307. // want to associate the transcoded files and thumbnails with the Amazon S3
  1308. // Standard storage class.
  1309. //
  1310. // If you want to save transcoded files and playlists in one bucket and thumbnails
  1311. // in another bucket, specify which users can access the transcoded files or
  1312. // the permissions the users have, or change the Amazon S3 storage class, omit
  1313. // OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.
  1314. OutputBucket *string `type:"string"`
  1315. // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder
  1316. // to use to create the pipeline.
  1317. Role *string `type:"string" required:"true"`
  1318. // The ThumbnailConfig object specifies several values, including the Amazon
  1319. // S3 bucket in which you want Elastic Transcoder to save thumbnail files, which
  1320. // users you want to have access to the files, the type of access you want users
  1321. // to have, and the storage class that you want to assign to the files.
  1322. //
  1323. // If you specify values for ContentConfig, you must also specify values for
  1324. // ThumbnailConfig even if you don't want to create thumbnails.
  1325. //
  1326. // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket
  1327. // object.
  1328. //
  1329. // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save
  1330. // thumbnail files. Permissions (Optional): The Permissions object specifies
  1331. // which users and/or predefined Amazon S3 groups you want to have access to
  1332. // thumbnail files, and the type of access you want them to have. You can grant
  1333. // permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
  1334. // GranteeType: Specify the type of value that appears in the Grantee object:
  1335. // Canonical: The value in the Grantee object is either the canonical user
  1336. // ID for an AWS account or an origin access identity for an Amazon CloudFront
  1337. // distribution. A canonical user ID is not the same as an AWS account number.
  1338. // Email: The value in the Grantee object is the registered email address
  1339. // of an AWS account. Group: The value in the Grantee object is one of the
  1340. // following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
  1341. // Grantee: The AWS user or group that you want to have access to thumbnail
  1342. // files. To identify the user or group, you can specify the canonical user
  1343. // ID for an AWS account, an origin access identity for a CloudFront distribution,
  1344. // the registered email address of an AWS account, or a predefined Amazon S3
  1345. // group. Access: The permission that you want to give to the AWS user that
  1346. // you specified in Grantee. Permissions are granted on the thumbnail files
  1347. // that Elastic Transcoder adds to the bucket. Valid values include: READ:
  1348. // The grantee can read the thumbnails and metadata for objects that Elastic
  1349. // Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read
  1350. // the object ACL for thumbnails that Elastic Transcoder adds to the Amazon
  1351. // S3 bucket. WRITE_ACP: The grantee can write the ACL for the thumbnails
  1352. // that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The
  1353. // grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails
  1354. // that Elastic Transcoder adds to the Amazon S3 bucket. StorageClass: The
  1355. // Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic
  1356. // Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.
  1357. ThumbnailConfig *PipelineOutputConfig `type:"structure"`
  1358. metadataCreatePipelineInput `json:"-" xml:"-"`
  1359. }
  1360. type metadataCreatePipelineInput struct {
  1361. SDKShapeTraits bool `type:"structure"`
  1362. }
  1363. // String returns the string representation
  1364. func (s CreatePipelineInput) String() string {
  1365. return awsutil.Prettify(s)
  1366. }
  1367. // GoString returns the string representation
  1368. func (s CreatePipelineInput) GoString() string {
  1369. return s.String()
  1370. }
  1371. // When you create a pipeline, Elastic Transcoder returns the values that you
  1372. // specified in the request.
  1373. type CreatePipelineOutput struct {
  1374. // A section of the response body that provides information about the pipeline
  1375. // that is created.
  1376. Pipeline *Pipeline `type:"structure"`
  1377. // Elastic Transcoder returns a warning if the resources used by your pipeline
  1378. // are not in the same region as the pipeline.
  1379. //
  1380. // Using resources in the same region, such as your Amazon S3 buckets, Amazon
  1381. // SNS notification topics, and AWS KMS key, reduces processing time and prevents
  1382. // cross-regional charges.
  1383. Warnings []*Warning `type:"list"`
  1384. metadataCreatePipelineOutput `json:"-" xml:"-"`
  1385. }
  1386. type metadataCreatePipelineOutput struct {
  1387. SDKShapeTraits bool `type:"structure"`
  1388. }
  1389. // String returns the string representation
  1390. func (s CreatePipelineOutput) String() string {
  1391. return awsutil.Prettify(s)
  1392. }
  1393. // GoString returns the string representation
  1394. func (s CreatePipelineOutput) GoString() string {
  1395. return s.String()
  1396. }
  1397. // The CreatePresetRequest structure.
  1398. type CreatePresetInput struct {
  1399. // A section of the request body that specifies the audio parameters.
  1400. Audio *AudioParameters `type:"structure"`
  1401. // The container type for the output file. Valid values include flac, flv, fmp4,
  1402. // gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm.
  1403. Container *string `type:"string" required:"true"`
  1404. // A description of the preset.
  1405. Description *string `type:"string"`
  1406. // The name of the preset. We recommend that the name be unique within the AWS
  1407. // account, but uniqueness is not enforced.
  1408. Name *string `type:"string" required:"true"`
  1409. // A section of the request body that specifies the thumbnail parameters, if
  1410. // any.
  1411. Thumbnails *Thumbnails `type:"structure"`
  1412. // A section of the request body that specifies the video parameters.
  1413. Video *VideoParameters `type:"structure"`
  1414. metadataCreatePresetInput `json:"-" xml:"-"`
  1415. }
  1416. type metadataCreatePresetInput struct {
  1417. SDKShapeTraits bool `type:"structure"`
  1418. }
  1419. // String returns the string representation
  1420. func (s CreatePresetInput) String() string {
  1421. return awsutil.Prettify(s)
  1422. }
  1423. // GoString returns the string representation
  1424. func (s CreatePresetInput) GoString() string {
  1425. return s.String()
  1426. }
  1427. // The CreatePresetResponse structure.
  1428. type CreatePresetOutput struct {
  1429. // A section of the response body that provides information about the preset
  1430. // that is created.
  1431. Preset *Preset `type:"structure"`
  1432. // If the preset settings don't comply with the standards for the video codec
  1433. // but Elastic Transcoder created the preset, this message explains the reason
  1434. // the preset settings don't meet the standard. Elastic Transcoder created the
  1435. // preset because the settings might produce acceptable output.
  1436. Warning *string `type:"string"`
  1437. metadataCreatePresetOutput `json:"-" xml:"-"`
  1438. }
  1439. type metadataCreatePresetOutput struct {
  1440. SDKShapeTraits bool `type:"structure"`
  1441. }
  1442. // String returns the string representation
  1443. func (s CreatePresetOutput) String() string {
  1444. return awsutil.Prettify(s)
  1445. }
  1446. // GoString returns the string representation
  1447. func (s CreatePresetOutput) GoString() string {
  1448. return s.String()
  1449. }
  1450. // The DeletePipelineRequest structure.
  1451. type DeletePipelineInput struct {
  1452. // The identifier of the pipeline that you want to delete.
  1453. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  1454. metadataDeletePipelineInput `json:"-" xml:"-"`
  1455. }
  1456. type metadataDeletePipelineInput struct {
  1457. SDKShapeTraits bool `type:"structure"`
  1458. }
  1459. // String returns the string representation
  1460. func (s DeletePipelineInput) String() string {
  1461. return awsutil.Prettify(s)
  1462. }
  1463. // GoString returns the string representation
  1464. func (s DeletePipelineInput) GoString() string {
  1465. return s.String()
  1466. }
  1467. // The DeletePipelineResponse structure.
  1468. type DeletePipelineOutput struct {
  1469. metadataDeletePipelineOutput `json:"-" xml:"-"`
  1470. }
  1471. type metadataDeletePipelineOutput struct {
  1472. SDKShapeTraits bool `type:"structure"`
  1473. }
  1474. // String returns the string representation
  1475. func (s DeletePipelineOutput) String() string {
  1476. return awsutil.Prettify(s)
  1477. }
  1478. // GoString returns the string representation
  1479. func (s DeletePipelineOutput) GoString() string {
  1480. return s.String()
  1481. }
  1482. // The DeletePresetRequest structure.
  1483. type DeletePresetInput struct {
  1484. // The identifier of the preset for which you want to get detailed information.
  1485. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  1486. metadataDeletePresetInput `json:"-" xml:"-"`
  1487. }
  1488. type metadataDeletePresetInput struct {
  1489. SDKShapeTraits bool `type:"structure"`
  1490. }
  1491. // String returns the string representation
  1492. func (s DeletePresetInput) String() string {
  1493. return awsutil.Prettify(s)
  1494. }
  1495. // GoString returns the string representation
  1496. func (s DeletePresetInput) GoString() string {
  1497. return s.String()
  1498. }
  1499. // The DeletePresetResponse structure.
  1500. type DeletePresetOutput struct {
  1501. metadataDeletePresetOutput `json:"-" xml:"-"`
  1502. }
  1503. type metadataDeletePresetOutput struct {
  1504. SDKShapeTraits bool `type:"structure"`
  1505. }
  1506. // String returns the string representation
  1507. func (s DeletePresetOutput) String() string {
  1508. return awsutil.Prettify(s)
  1509. }
  1510. // GoString returns the string representation
  1511. func (s DeletePresetOutput) GoString() string {
  1512. return s.String()
  1513. }
  1514. // The detected properties of the input file. Elastic Transcoder identifies
  1515. // these values from the input file.
  1516. type DetectedProperties struct {
  1517. // The detected duration of the input file, in milliseconds.
  1518. DurationMillis *int64 `type:"long"`
  1519. // The detected file size of the input file, in bytes.
  1520. FileSize *int64 `type:"long"`
  1521. // The detected frame rate of the input file, in frames per second.
  1522. FrameRate *string `type:"string"`
  1523. // The detected height of the input file, in pixels.
  1524. Height *int64 `type:"integer"`
  1525. // The detected width of the input file, in pixels.
  1526. Width *int64 `type:"integer"`
  1527. metadataDetectedProperties `json:"-" xml:"-"`
  1528. }
  1529. type metadataDetectedProperties struct {
  1530. SDKShapeTraits bool `type:"structure"`
  1531. }
  1532. // String returns the string representation
  1533. func (s DetectedProperties) String() string {
  1534. return awsutil.Prettify(s)
  1535. }
  1536. // GoString returns the string representation
  1537. func (s DetectedProperties) GoString() string {
  1538. return s.String()
  1539. }
  1540. // The encryption settings, if any, that are used for decrypting your input
  1541. // files or encrypting your output files. If your input file is encrypted, you
  1542. // must specify the mode that Elastic Transcoder will use to decrypt your file,
  1543. // otherwise you must specify the mode you want Elastic Transcoder to use to
  1544. // encrypt your output files.
  1545. type Encryption struct {
  1546. // The series of random bits created by a random bit generator, unique for every
  1547. // encryption operation, that you used to encrypt your input files or that you
  1548. // want Elastic Transcoder to use to encrypt your output files. The initialization
  1549. // vector must be base64-encoded, and it must be exactly 16 bytes long before
  1550. // being base64-encoded.
  1551. InitializationVector *string `type:"string"`
  1552. // The data encryption key that you want Elastic Transcoder to use to encrypt
  1553. // your output file, or that was used to encrypt your input file. The key must
  1554. // be base64-encoded and it must be one of the following bit lengths before
  1555. // being base64-encoded:
  1556. //
  1557. // 128, 192, or 256.
  1558. //
  1559. // The key must also be encrypted by using the Amazon Key Management Service.
  1560. Key *string `type:"string"`
  1561. // The MD5 digest of the key that you used to encrypt your input file, or that
  1562. // you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder
  1563. // uses the key digest as a checksum to make sure your key was not corrupted
  1564. // in transit. The key MD5 must be base64-encoded, and it must be exactly 16
  1565. // bytes long before being base64-encoded.
  1566. KeyMd5 *string `type:"string"`
  1567. // The specific server-side encryption mode that you want Elastic Transcoder
  1568. // to use when decrypting your input files or encrypting your output files.
  1569. // Elastic Transcoder supports the following options:
  1570. //
  1571. // S3: Amazon S3 creates and manages the keys used for encrypting your files.
  1572. //
  1573. // S3-AWS-KMS: Amazon S3 calls the Amazon Key Management Service, which creates
  1574. // and manages the keys that are used for encrypting your files. If you specify
  1575. // S3-AWS-KMS and you don't want to use the default key, you must add the AWS-KMS
  1576. // key that you want to use to your pipeline.
  1577. //
  1578. // AES-CBC-PKCS7: A padded cipher-block mode of operation originally used for
  1579. // HLS files.
  1580. //
  1581. // AES-CTR: AES Counter Mode.
  1582. //
  1583. // AES-GCM: AES Galois Counter Mode, a mode of operation that is an authenticated
  1584. // encryption format, meaning that a file, key, or initialization vector that
  1585. // has been tampered with will fail the decryption process.
  1586. //
  1587. // For all three AES options, you must provide the following settings, which
  1588. // must be base64-encoded:
  1589. //
  1590. // Key
  1591. //
  1592. // Key MD5
  1593. //
  1594. // Initialization Vector
  1595. //
  1596. // For the AES modes, your private encryption keys and your unencrypted data
  1597. // are never stored by AWS; therefore, it is important that you safely manage
  1598. // your encryption keys. If you lose them, you won't be able to unencrypt your
  1599. // data.
  1600. Mode *string `type:"string"`
  1601. metadataEncryption `json:"-" xml:"-"`
  1602. }
  1603. type metadataEncryption struct {
  1604. SDKShapeTraits bool `type:"structure"`
  1605. }
  1606. // String returns the string representation
  1607. func (s Encryption) String() string {
  1608. return awsutil.Prettify(s)
  1609. }
  1610. // GoString returns the string representation
  1611. func (s Encryption) GoString() string {
  1612. return s.String()
  1613. }
  1614. // The HLS content protection settings, if any, that you want Elastic Transcoder
  1615. // to apply to your output files.
  1616. type HlsContentProtection struct {
  1617. // If Elastic Transcoder is generating your key for you, you must leave this
  1618. // field blank.
  1619. //
  1620. // The series of random bits created by a random bit generator, unique for
  1621. // every encryption operation, that you want Elastic Transcoder to use to encrypt
  1622. // your output files. The initialization vector must be base64-encoded, and
  1623. // it must be exactly 16 bytes before being base64-encoded.
  1624. InitializationVector *string `type:"string"`
  1625. // If you want Elastic Transcoder to generate a key for you, leave this field
  1626. // blank.
  1627. //
  1628. // If you choose to supply your own key, you must encrypt the key by using
  1629. // AWS KMS. The key must be base64-encoded, and it must be one of the following
  1630. // bit lengths before being base64-encoded:
  1631. //
  1632. // 128, 192, or 256.
  1633. Key *string `type:"string"`
  1634. // If Elastic Transcoder is generating your key for you, you must leave this
  1635. // field blank.
  1636. //
  1637. // The MD5 digest of the key that you want Elastic Transcoder to use to encrypt
  1638. // your output file, and that you want Elastic Transcoder to use as a checksum
  1639. // to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded,
  1640. // and it must be exactly 16 bytes before being base64- encoded.
  1641. KeyMd5 *string `type:"string"`
  1642. // Specify whether you want Elastic Transcoder to write your HLS license key
  1643. // to an Amazon S3 bucket. If you choose WithVariantPlaylists, LicenseAcquisitionUrl
  1644. // must be left blank and Elastic Transcoder writes your data key into the same
  1645. // bucket as the associated playlist.
  1646. KeyStoragePolicy *string `type:"string"`
  1647. // The location of the license key required to decrypt your HLS playlist. The
  1648. // URL must be an absolute path, and is referenced in the URI attribute of the
  1649. // EXT-X-KEY metadata tag in the playlist file.
  1650. LicenseAcquisitionUrl *string `type:"string"`
  1651. // The content protection method for your output. The only valid value is: aes-128.
  1652. //
  1653. // This value will be written into the method attribute of the EXT-X-KEY metadata
  1654. // tag in the output playlist.
  1655. Method *string `type:"string"`
  1656. metadataHlsContentProtection `json:"-" xml:"-"`
  1657. }
  1658. type metadataHlsContentProtection struct {
  1659. SDKShapeTraits bool `type:"structure"`
  1660. }
  1661. // String returns the string representation
  1662. func (s HlsContentProtection) String() string {
  1663. return awsutil.Prettify(s)
  1664. }
  1665. // GoString returns the string representation
  1666. func (s HlsContentProtection) GoString() string {
  1667. return s.String()
  1668. }
  1669. // A section of the response body that provides information about the job that
  1670. // is created.
  1671. type Job struct {
  1672. // The Amazon Resource Name (ARN) for the job.
  1673. Arn *string `type:"string"`
  1674. // The identifier that Elastic Transcoder assigned to the job. You use this
  1675. // value to get settings for the job or to delete the job.
  1676. Id *string `type:"string"`
  1677. // A section of the request or response body that provides information about
  1678. // the file that is being transcoded.
  1679. Input *JobInput `type:"structure"`
  1680. // If you specified one output for a job, information about that output. If
  1681. // you specified multiple outputs for a job, the Output object lists information
  1682. // about the first output. This duplicates the information that is listed for
  1683. // the first output in the Outputs object.
  1684. //
  1685. // Outputs recommended instead. A section of the request or response body that
  1686. // provides information about the transcoded (target) file.
  1687. Output *JobOutput `type:"structure"`
  1688. // The value, if any, that you want Elastic Transcoder to prepend to the names
  1689. // of all files that this job creates, including output files, thumbnails, and
  1690. // playlists. We recommend that you add a / or some other delimiter to the end
  1691. // of the OutputKeyPrefix.
  1692. OutputKeyPrefix *string `type:"string"`
  1693. // Information about the output files. We recommend that you use the Outputs
  1694. // syntax for all jobs, even when you want Elastic Transcoder to transcode a
  1695. // file into only one format. Do not use both the Outputs and Output syntaxes
  1696. // in the same request. You can create a maximum of 30 outputs per job.
  1697. //
  1698. // If you specify more than one output for a job, Elastic Transcoder creates
  1699. // the files for each output in the order in which you specify them in the job.
  1700. Outputs []*JobOutput `type:"list"`
  1701. // The Id of the pipeline that you want Elastic Transcoder to use for transcoding.
  1702. // The pipeline determines several settings, including the Amazon S3 bucket
  1703. // from which Elastic Transcoder gets the files to transcode and the bucket
  1704. // into which Elastic Transcoder puts the transcoded files.
  1705. PipelineId *string `type:"string"`
  1706. // Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset
  1707. // in PresetId for which the value of Container is fmp4 (Fragmented MP4) or
  1708. // ts (MPEG-TS), Playlists contains information about the master playlists that
  1709. // you want Elastic Transcoder to create.
  1710. //
  1711. // The maximum number of master playlists in a job is 30.
  1712. Playlists []*Playlist `type:"list"`
  1713. // The status of the job: Submitted, Progressing, Complete, Canceled, or Error.
  1714. Status *string `type:"string"`
  1715. // Details about the timing of a job.
  1716. Timing *Timing `type:"structure"`
  1717. // User-defined metadata that you want to associate with an Elastic Transcoder
  1718. // job. You specify metadata in key/value pairs, and you can add up to 10 key/value
  1719. // pairs per job. Elastic Transcoder does not guarantee that key/value pairs
  1720. // will be returned in the same order in which you specify them.
  1721. //
  1722. // Metadata keys and values must use characters from the following list:
  1723. //
  1724. // 0-9
  1725. //
  1726. // A-Z and a-z
  1727. //
  1728. // Space
  1729. //
  1730. // The following symbols: _.:/=+-%@
  1731. UserMetadata map[string]*string `type:"map"`
  1732. metadataJob `json:"-" xml:"-"`
  1733. }
  1734. type metadataJob struct {
  1735. SDKShapeTraits bool `type:"structure"`
  1736. }
  1737. // String returns the string representation
  1738. func (s Job) String() string {
  1739. return awsutil.Prettify(s)
  1740. }
  1741. // GoString returns the string representation
  1742. func (s Job) GoString() string {
  1743. return s.String()
  1744. }
  1745. // The .jpg or .png file associated with an audio file.
  1746. type JobAlbumArt struct {
  1747. // The file to be used as album art. There can be multiple artworks associated
  1748. // with an audio file, to a maximum of 20. Valid formats are .jpg and .png
  1749. Artwork []*Artwork `type:"list"`
  1750. // A policy that determines how Elastic Transcoder will handle the existence
  1751. // of multiple album artwork files.
  1752. //
  1753. // Replace: The specified album art will replace any existing album art.
  1754. // Prepend: The specified album art will be placed in front of any existing
  1755. // album art. Append: The specified album art will be placed after any existing
  1756. // album art. Fallback: If the original input file contains artwork, Elastic
  1757. // Transcoder will use that artwork for the output. If the original input does
  1758. // not contain artwork, Elastic Transcoder will use the specified album art
  1759. // file.
  1760. MergePolicy *string `type:"string"`
  1761. metadataJobAlbumArt `json:"-" xml:"-"`
  1762. }
  1763. type metadataJobAlbumArt struct {
  1764. SDKShapeTraits bool `type:"structure"`
  1765. }
  1766. // String returns the string representation
  1767. func (s JobAlbumArt) String() string {
  1768. return awsutil.Prettify(s)
  1769. }
  1770. // GoString returns the string representation
  1771. func (s JobAlbumArt) GoString() string {
  1772. return s.String()
  1773. }
  1774. // Information about the file that you're transcoding.
  1775. type JobInput struct {
  1776. // The aspect ratio of the input file. If you want Elastic Transcoder to automatically
  1777. // detect the aspect ratio of the input file, specify auto. If you want to specify
  1778. // the aspect ratio for the output file, enter one of the following values:
  1779. //
  1780. // 1:1, 4:3, 3:2, 16:9
  1781. //
  1782. // If you specify a value other than auto, Elastic Transcoder disables automatic
  1783. // detection of the aspect ratio.
  1784. AspectRatio *string `type:"string"`
  1785. // The container type for the input file. If you want Elastic Transcoder to
  1786. // automatically detect the container type of the input file, specify auto.
  1787. // If you want to specify the container type for the input file, enter one of
  1788. // the following values:
  1789. //
  1790. // 3gp, aac, asf, avi, divx, flv, m4a, mkv, mov, mp3, mp4, mpeg, mpeg-ps,
  1791. // mpeg-ts, mxf, ogg, vob, wav, webm
  1792. Container *string `type:"string"`
  1793. // The detected properties of the input file.
  1794. DetectedProperties *DetectedProperties `type:"structure"`
  1795. // The encryption settings, if any, that are used for decrypting your input
  1796. // files. If your input file is encrypted, you must specify the mode that Elastic
  1797. // Transcoder will use to decrypt your file.
  1798. Encryption *Encryption `type:"structure"`
  1799. // The frame rate of the input file. If you want Elastic Transcoder to automatically
  1800. // detect the frame rate of the input file, specify auto. If you want to specify
  1801. // the frame rate for the input file, enter one of the following values:
  1802. //
  1803. // 10, 15, 23.97, 24, 25, 29.97, 30, 60
  1804. //
  1805. // If you specify a value other than auto, Elastic Transcoder disables automatic
  1806. // detection of the frame rate.
  1807. FrameRate *string `type:"string"`
  1808. // Whether the input file is interlaced. If you want Elastic Transcoder to automatically
  1809. // detect whether the input file is interlaced, specify auto. If you want to
  1810. // specify whether the input file is interlaced, enter one of the following
  1811. // values:
  1812. //
  1813. // true, false
  1814. //
  1815. // If you specify a value other than auto, Elastic Transcoder disables automatic
  1816. // detection of interlacing.
  1817. Interlaced *string `type:"string"`
  1818. // The name of the file to transcode. Elsewhere in the body of the JSON block
  1819. // is the the ID of the pipeline to use for processing the job. The InputBucket
  1820. // object in that pipeline tells Elastic Transcoder which Amazon S3 bucket to
  1821. // get the file from.
  1822. //
  1823. // If the file name includes a prefix, such as cooking/lasagna.mpg, include
  1824. // the prefix in the key. If the file isn't in the specified bucket, Elastic
  1825. // Transcoder returns an error.
  1826. Key *string `type:"string"`
  1827. // This value must be auto, which causes Elastic Transcoder to automatically
  1828. // detect the resolution of the input file.
  1829. Resolution *string `type:"string"`
  1830. metadataJobInput `json:"-" xml:"-"`
  1831. }
  1832. type metadataJobInput struct {
  1833. SDKShapeTraits bool `type:"structure"`
  1834. }
  1835. // String returns the string representation
  1836. func (s JobInput) String() string {
  1837. return awsutil.Prettify(s)
  1838. }
  1839. // GoString returns the string representation
  1840. func (s JobInput) GoString() string {
  1841. return s.String()
  1842. }
  1843. // Outputs recommended instead.If you specified one output for a job, information
  1844. // about that output. If you specified multiple outputs for a job, the Output
  1845. // object lists information about the first output. This duplicates the information
  1846. // that is listed for the first output in the Outputs object.
  1847. type JobOutput struct {
  1848. // The album art to be associated with the output file, if any.
  1849. AlbumArt *JobAlbumArt `type:"structure"`
  1850. // If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode
  1851. // the output file, the AppliedColorSpaceConversion parameter shows the conversion
  1852. // used. If no ColorSpaceConversionMode was defined in the preset, this parameter
  1853. // will not be included in the job response.
  1854. AppliedColorSpaceConversion *string `type:"string"`
  1855. // You can configure Elastic Transcoder to transcode captions, or subtitles,
  1856. // from one format to another. All captions must be in UTF-8. Elastic Transcoder
  1857. // supports two types of captions:
  1858. //
  1859. // Embedded: Embedded captions are included in the same file as the audio
  1860. // and video. Elastic Transcoder supports only one embedded caption per language,
  1861. // to a maximum of 300 embedded captions per file.
  1862. //
  1863. // Valid input values include: CEA-608 (EIA-608, first non-empty channel only),
  1864. // CEA-708 (EIA-708, first non-empty channel only), and mov-text
  1865. //
  1866. // Valid outputs include: mov-text
  1867. //
  1868. // Elastic Transcoder supports a maximum of one embedded format per output.
  1869. //
  1870. // Sidecar: Sidecar captions are kept in a separate metadata file from the
  1871. // audio and video data. Sidecar captions require a player that is capable of
  1872. // understanding the relationship between the video file and the sidecar file.
  1873. // Elastic Transcoder supports only one sidecar caption per language, to a maximum
  1874. // of 20 sidecar captions per file.
  1875. //
  1876. // Valid input values include: dfxp (first div element only), ebu-tt, scc,
  1877. // smpt, srt, ttml (first div element only), and webvtt
  1878. //
  1879. // Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.
  1880. //
  1881. // If you want ttml or smpte-tt compatible captions, specify dfxp as your
  1882. // output format.
  1883. //
  1884. // Elastic Transcoder does not support OCR (Optical Character Recognition),
  1885. // does not accept pictures as a valid input for captions, and is not available
  1886. // for audio-only transcoding. Elastic Transcoder does not preserve text formatting
  1887. // (for example, italics) during the transcoding process.
  1888. //
  1889. // To remove captions or leave the captions empty, set Captions to null. To
  1890. // pass through existing captions unchanged, set the MergePolicy to MergeRetain,
  1891. // and pass in a null CaptionSources array.
  1892. //
  1893. // For more information on embedded files, see the Subtitles Wikipedia page.
  1894. //
  1895. // For more information on sidecar files, see the Extensible Metadata Platform
  1896. // and Sidecar file Wikipedia pages.
  1897. Captions *Captions `type:"structure"`
  1898. // You can create an output file that contains an excerpt from the input file.
  1899. // This excerpt, called a clip, can come from the beginning, middle, or end
  1900. // of the file. The Composition object contains settings for the clips that
  1901. // make up an output file. For the current release, you can only specify settings
  1902. // for a single clip per output file. The Composition object cannot be null.
  1903. Composition []*Clip `type:"list"`
  1904. // Duration of the output file, in seconds.
  1905. Duration *int64 `type:"long"`
  1906. // Duration of the output file, in milliseconds.
  1907. DurationMillis *int64 `type:"long"`
  1908. // The encryption settings, if any, that you want Elastic Transcoder to apply
  1909. // to your output files. If you choose to use encryption, you must specify a
  1910. // mode to use. If you choose not to use encryption, Elastic Transcoder will
  1911. // write an unencrypted file to your Amazon S3 bucket.
  1912. Encryption *Encryption `type:"structure"`
  1913. // File size of the output file, in bytes.
  1914. FileSize *int64 `type:"long"`
  1915. // Frame rate of the output file, in frames per second.
  1916. FrameRate *string `type:"string"`
  1917. // Height of the output file, in pixels.
  1918. Height *int64 `type:"integer"`
  1919. // A sequential counter, starting with 1, that identifies an output among the
  1920. // outputs from the current job. In the Output syntax, this value is always
  1921. // 1.
  1922. Id *string `type:"string"`
  1923. // The name to assign to the transcoded file. Elastic Transcoder saves the file
  1924. // in the Amazon S3 bucket specified by the OutputBucket object in the pipeline
  1925. // that is specified by the pipeline ID.
  1926. Key *string `type:"string"`
  1927. // The value of the Id object for the preset that you want to use for this job.
  1928. // The preset determines the audio, video, and thumbnail settings that Elastic
  1929. // Transcoder uses for transcoding. To use a preset that you created, specify
  1930. // the preset ID that Elastic Transcoder returned in the response when you created
  1931. // the preset. You can also use the Elastic Transcoder system presets, which
  1932. // you can get with ListPresets.
  1933. PresetId *string `type:"string"`
  1934. // The number of degrees clockwise by which you want Elastic Transcoder to rotate
  1935. // the output relative to the input. Enter one of the following values:
  1936. //
  1937. // auto, 0, 90, 180, 270
  1938. //
  1939. // The value auto generally works only if the file that you're transcoding
  1940. // contains rotation metadata.
  1941. Rotate *string `type:"string"`
  1942. // (Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset
  1943. // in PresetId for which the value of Container is fmp4 (Fragmented MP4) or
  1944. // ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment
  1945. // in seconds. For HLSv3 format playlists, each media segment is stored in a
  1946. // separate .ts file. For HLSv4 and Smooth playlists, all media segments for
  1947. // an output are stored in a single file. Each segment is approximately the
  1948. // length of the SegmentDuration, though individual segments might be shorter
  1949. // or longer.
  1950. //
  1951. // The range of valid values is 1 to 60 seconds. If the duration of the video
  1952. // is not evenly divisible by SegmentDuration, the duration of the last segment
  1953. // is the remainder of total length/SegmentDuration.
  1954. //
  1955. // Elastic Transcoder creates an output-specific playlist for each output HLS
  1956. // output that you specify in OutputKeys. To add an output to the master playlist
  1957. // for this job, include it in the OutputKeys of the associated playlist.
  1958. SegmentDuration *string `type:"string"`
  1959. // The status of one output in a job. If you specified only one output for the
  1960. // job, Outputs:Status is always the same as Job:Status. If you specified more
  1961. // than one output: Job:Status and Outputs:Status for all of the outputs is
  1962. // Submitted until Elastic Transcoder starts to process the first output. When
  1963. // Elastic Transcoder starts to process the first output, Outputs:Status for
  1964. // that output and Job:Status both change to Progressing. For each output, the
  1965. // value of Outputs:Status remains Submitted until Elastic Transcoder starts
  1966. // to process the output. Job:Status remains Progressing until all of the outputs
  1967. // reach a terminal status, either Complete or Error. When all of the outputs
  1968. // reach a terminal status, Job:Status changes to Complete only if Outputs:Status
  1969. // for all of the outputs is Complete. If Outputs:Status for one or more outputs
  1970. // is Error, the terminal status for Job:Status is also Error. The value of
  1971. // Status is one of the following: Submitted, Progressing, Complete, Canceled,
  1972. // or Error.
  1973. Status *string `type:"string"`
  1974. // Information that further explains Status.
  1975. StatusDetail *string `type:"string"`
  1976. // The encryption settings, if any, that you want Elastic Transcoder to apply
  1977. // to your thumbnail.
  1978. ThumbnailEncryption *Encryption `type:"structure"`
  1979. // Whether you want Elastic Transcoder to create thumbnails for your videos
  1980. // and, if so, how you want Elastic Transcoder to name the files.
  1981. //
  1982. // If you don't want Elastic Transcoder to create thumbnails, specify "".
  1983. //
  1984. // If you do want Elastic Transcoder to create thumbnails, specify the information
  1985. // that you want to include in the file name for each thumbnail. You can specify
  1986. // the following values in any sequence:
  1987. //
  1988. // {count} (Required): If you want to create thumbnails, you must include
  1989. // {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic
  1990. // Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail
  1991. // file names. The number indicates where a given thumbnail appears in the sequence
  1992. // of thumbnails for a transcoded file.
  1993. //
  1994. // If you specify a literal value and/or {resolution} but you omit {count},
  1995. // Elastic Transcoder returns a validation error and does not create the job.
  1996. // Literal values (Optional): You can specify literal values anywhere in
  1997. // the ThumbnailPattern object. For example, you can include them as a file
  1998. // name prefix or as a delimiter between {resolution} and {count}.
  1999. //
  2000. // {resolution} (Optional): If you want Elastic Transcoder to include the
  2001. // resolution in the file name, include {resolution} in the ThumbnailPattern
  2002. // object.
  2003. //
  2004. // When creating thumbnails, Elastic Transcoder automatically saves the files
  2005. // in the format (.jpg or .png) that appears in the preset that you specified
  2006. // in the PresetID value of CreateJobOutput. Elastic Transcoder also appends
  2007. // the applicable file name extension.
  2008. ThumbnailPattern *string `type:"string"`
  2009. // Information about the watermarks that you want Elastic Transcoder to add
  2010. // to the video during transcoding. You can specify up to four watermarks for
  2011. // each output. Settings for each watermark must be defined in the preset that
  2012. // you specify in Preset for the current output.
  2013. //
  2014. // Watermarks are added to the output video in the sequence in which you list
  2015. // them in the job output—the first watermark in the list is added to the output
  2016. // video first, the second watermark in the list is added next, and so on. As
  2017. // a result, if the settings in a preset cause Elastic Transcoder to place all
  2018. // watermarks in the same location, the second watermark that you add will cover
  2019. // the first one, the third one will cover the second, and the fourth one will
  2020. // cover the third.
  2021. Watermarks []*JobWatermark `type:"list"`
  2022. // Specifies the width of the output file in pixels.
  2023. Width *int64 `type:"integer"`
  2024. metadataJobOutput `json:"-" xml:"-"`
  2025. }
  2026. type metadataJobOutput struct {
  2027. SDKShapeTraits bool `type:"structure"`
  2028. }
  2029. // String returns the string representation
  2030. func (s JobOutput) String() string {
  2031. return awsutil.Prettify(s)
  2032. }
  2033. // GoString returns the string representation
  2034. func (s JobOutput) GoString() string {
  2035. return s.String()
  2036. }
  2037. // Watermarks can be in .png or .jpg format. If you want to display a watermark
  2038. // that is not rectangular, use the .png format, which supports transparency.
  2039. type JobWatermark struct {
  2040. // The encryption settings, if any, that you want Elastic Transcoder to apply
  2041. // to your watermarks.
  2042. Encryption *Encryption `type:"structure"`
  2043. // The name of the .png or .jpg file that you want to use for the watermark.
  2044. // To determine which Amazon S3 bucket contains the specified file, Elastic
  2045. // Transcoder checks the pipeline specified by Pipeline; the Input Bucket object
  2046. // in that pipeline identifies the bucket.
  2047. //
  2048. // If the file name includes a prefix, for example, logos/128x64.png, include
  2049. // the prefix in the key. If the file isn't in the specified bucket, Elastic
  2050. // Transcoder returns an error.
  2051. InputKey *string `type:"string"`
  2052. // The ID of the watermark settings that Elastic Transcoder uses to add watermarks
  2053. // to the video during transcoding. The settings are in the preset specified
  2054. // by Preset for the current output. In that preset, the value of Watermarks
  2055. // Id tells Elastic Transcoder which settings to use.
  2056. PresetWatermarkId *string `type:"string"`
  2057. metadataJobWatermark `json:"-" xml:"-"`
  2058. }
  2059. type metadataJobWatermark struct {
  2060. SDKShapeTraits bool `type:"structure"`
  2061. }
  2062. // String returns the string representation
  2063. func (s JobWatermark) String() string {
  2064. return awsutil.Prettify(s)
  2065. }
  2066. // GoString returns the string representation
  2067. func (s JobWatermark) GoString() string {
  2068. return s.String()
  2069. }
  2070. // The ListJobsByPipelineRequest structure.
  2071. type ListJobsByPipelineInput struct {
  2072. // To list jobs in chronological order by the date and time that they were submitted,
  2073. // enter true. To list jobs in reverse chronological order, enter false.
  2074. Ascending *string `location:"querystring" locationName:"Ascending" type:"string"`
  2075. // When Elastic Transcoder returns more than one page of results, use pageToken
  2076. // in subsequent GET requests to get each successive page of results.
  2077. PageToken *string `location:"querystring" locationName:"PageToken" type:"string"`
  2078. // The ID of the pipeline for which you want to get job information.
  2079. PipelineId *string `location:"uri" locationName:"PipelineId" type:"string" required:"true"`
  2080. metadataListJobsByPipelineInput `json:"-" xml:"-"`
  2081. }
  2082. type metadataListJobsByPipelineInput struct {
  2083. SDKShapeTraits bool `type:"structure"`
  2084. }
  2085. // String returns the string representation
  2086. func (s ListJobsByPipelineInput) String() string {
  2087. return awsutil.Prettify(s)
  2088. }
  2089. // GoString returns the string representation
  2090. func (s ListJobsByPipelineInput) GoString() string {
  2091. return s.String()
  2092. }
  2093. // The ListJobsByPipelineResponse structure.
  2094. type ListJobsByPipelineOutput struct {
  2095. // An array of Job objects that are in the specified pipeline.
  2096. Jobs []*Job `type:"list"`
  2097. // A value that you use to access the second and subsequent pages of results,
  2098. // if any. When the jobs in the specified pipeline fit on one page or when you've
  2099. // reached the last page of results, the value of NextPageToken is null.
  2100. NextPageToken *string `type:"string"`
  2101. metadataListJobsByPipelineOutput `json:"-" xml:"-"`
  2102. }
  2103. type metadataListJobsByPipelineOutput struct {
  2104. SDKShapeTraits bool `type:"structure"`
  2105. }
  2106. // String returns the string representation
  2107. func (s ListJobsByPipelineOutput) String() string {
  2108. return awsutil.Prettify(s)
  2109. }
  2110. // GoString returns the string representation
  2111. func (s ListJobsByPipelineOutput) GoString() string {
  2112. return s.String()
  2113. }
  2114. // The ListJobsByStatusRequest structure.
  2115. type ListJobsByStatusInput struct {
  2116. // To list jobs in chronological order by the date and time that they were submitted,
  2117. // enter true. To list jobs in reverse chronological order, enter false.
  2118. Ascending *string `location:"querystring" locationName:"Ascending" type:"string"`
  2119. // When Elastic Transcoder returns more than one page of results, use pageToken
  2120. // in subsequent GET requests to get each successive page of results.
  2121. PageToken *string `location:"querystring" locationName:"PageToken" type:"string"`
  2122. // To get information about all of the jobs associated with the current AWS
  2123. // account that have a given status, specify the following status: Submitted,
  2124. // Progressing, Complete, Canceled, or Error.
  2125. Status *string `location:"uri" locationName:"Status" type:"string" required:"true"`
  2126. metadataListJobsByStatusInput `json:"-" xml:"-"`
  2127. }
  2128. type metadataListJobsByStatusInput struct {
  2129. SDKShapeTraits bool `type:"structure"`
  2130. }
  2131. // String returns the string representation
  2132. func (s ListJobsByStatusInput) String() string {
  2133. return awsutil.Prettify(s)
  2134. }
  2135. // GoString returns the string representation
  2136. func (s ListJobsByStatusInput) GoString() string {
  2137. return s.String()
  2138. }
  2139. // The ListJobsByStatusResponse structure.
  2140. type ListJobsByStatusOutput struct {
  2141. // An array of Job objects that have the specified status.
  2142. Jobs []*Job `type:"list"`
  2143. // A value that you use to access the second and subsequent pages of results,
  2144. // if any. When the jobs in the specified pipeline fit on one page or when you've
  2145. // reached the last page of results, the value of NextPageToken is null.
  2146. NextPageToken *string `type:"string"`
  2147. metadataListJobsByStatusOutput `json:"-" xml:"-"`
  2148. }
  2149. type metadataListJobsByStatusOutput struct {
  2150. SDKShapeTraits bool `type:"structure"`
  2151. }
  2152. // String returns the string representation
  2153. func (s ListJobsByStatusOutput) String() string {
  2154. return awsutil.Prettify(s)
  2155. }
  2156. // GoString returns the string representation
  2157. func (s ListJobsByStatusOutput) GoString() string {
  2158. return s.String()
  2159. }
  2160. // The ListPipelineRequest structure.
  2161. type ListPipelinesInput struct {
  2162. // To list pipelines in chronological order by the date and time that they were
  2163. // created, enter true. To list pipelines in reverse chronological order, enter
  2164. // false.
  2165. Ascending *string `location:"querystring" locationName:"Ascending" type:"string"`
  2166. // When Elastic Transcoder returns more than one page of results, use pageToken
  2167. // in subsequent GET requests to get each successive page of results.
  2168. PageToken *string `location:"querystring" locationName:"PageToken" type:"string"`
  2169. metadataListPipelinesInput `json:"-" xml:"-"`
  2170. }
  2171. type metadataListPipelinesInput struct {
  2172. SDKShapeTraits bool `type:"structure"`
  2173. }
  2174. // String returns the string representation
  2175. func (s ListPipelinesInput) String() string {
  2176. return awsutil.Prettify(s)
  2177. }
  2178. // GoString returns the string representation
  2179. func (s ListPipelinesInput) GoString() string {
  2180. return s.String()
  2181. }
  2182. // A list of the pipelines associated with the current AWS account.
  2183. type ListPipelinesOutput struct {
  2184. // A value that you use to access the second and subsequent pages of results,
  2185. // if any. When the pipelines fit on one page or when you've reached the last
  2186. // page of results, the value of NextPageToken is null.
  2187. NextPageToken *string `type:"string"`
  2188. // An array of Pipeline objects.
  2189. Pipelines []*Pipeline `type:"list"`
  2190. metadataListPipelinesOutput `json:"-" xml:"-"`
  2191. }
  2192. type metadataListPipelinesOutput struct {
  2193. SDKShapeTraits bool `type:"structure"`
  2194. }
  2195. // String returns the string representation
  2196. func (s ListPipelinesOutput) String() string {
  2197. return awsutil.Prettify(s)
  2198. }
  2199. // GoString returns the string representation
  2200. func (s ListPipelinesOutput) GoString() string {
  2201. return s.String()
  2202. }
  2203. // The ListPresetsRequest structure.
  2204. type ListPresetsInput struct {
  2205. // To list presets in chronological order by the date and time that they were
  2206. // created, enter true. To list presets in reverse chronological order, enter
  2207. // false.
  2208. Ascending *string `location:"querystring" locationName:"Ascending" type:"string"`
  2209. // When Elastic Transcoder returns more than one page of results, use pageToken
  2210. // in subsequent GET requests to get each successive page of results.
  2211. PageToken *string `location:"querystring" locationName:"PageToken" type:"string"`
  2212. metadataListPresetsInput `json:"-" xml:"-"`
  2213. }
  2214. type metadataListPresetsInput struct {
  2215. SDKShapeTraits bool `type:"structure"`
  2216. }
  2217. // String returns the string representation
  2218. func (s ListPresetsInput) String() string {
  2219. return awsutil.Prettify(s)
  2220. }
  2221. // GoString returns the string representation
  2222. func (s ListPresetsInput) GoString() string {
  2223. return s.String()
  2224. }
  2225. // The ListPresetsResponse structure.
  2226. type ListPresetsOutput struct {
  2227. // A value that you use to access the second and subsequent pages of results,
  2228. // if any. When the presets fit on one page or when you've reached the last
  2229. // page of results, the value of NextPageToken is null.
  2230. NextPageToken *string `type:"string"`
  2231. // An array of Preset objects.
  2232. Presets []*Preset `type:"list"`
  2233. metadataListPresetsOutput `json:"-" xml:"-"`
  2234. }
  2235. type metadataListPresetsOutput struct {
  2236. SDKShapeTraits bool `type:"structure"`
  2237. }
  2238. // String returns the string representation
  2239. func (s ListPresetsOutput) String() string {
  2240. return awsutil.Prettify(s)
  2241. }
  2242. // GoString returns the string representation
  2243. func (s ListPresetsOutput) GoString() string {
  2244. return s.String()
  2245. }
  2246. // The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify
  2247. // in order to report job status.
  2248. //
  2249. // To receive notifications, you must also subscribe to the new topic in the
  2250. // Amazon SNS console.
  2251. type Notifications struct {
  2252. // The Amazon SNS topic that you want to notify when Elastic Transcoder has
  2253. // finished processing the job.
  2254. Completed *string `type:"string"`
  2255. // The Amazon SNS topic that you want to notify when Elastic Transcoder encounters
  2256. // an error condition.
  2257. Error *string `type:"string"`
  2258. // The Amazon Simple Notification Service (Amazon SNS) topic that you want to
  2259. // notify when Elastic Transcoder has started to process the job.
  2260. Progressing *string `type:"string"`
  2261. // The Amazon SNS topic that you want to notify when Elastic Transcoder encounters
  2262. // a warning condition.
  2263. Warning *string `type:"string"`
  2264. metadataNotifications `json:"-" xml:"-"`
  2265. }
  2266. type metadataNotifications struct {
  2267. SDKShapeTraits bool `type:"structure"`
  2268. }
  2269. // String returns the string representation
  2270. func (s Notifications) String() string {
  2271. return awsutil.Prettify(s)
  2272. }
  2273. // GoString returns the string representation
  2274. func (s Notifications) GoString() string {
  2275. return s.String()
  2276. }
  2277. // The Permission structure.
  2278. type Permission struct {
  2279. // The permission that you want to give to the AWS user that is listed in Grantee.
  2280. // Valid values include: READ: The grantee can read the thumbnails and metadata
  2281. // for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP:
  2282. // The grantee can read the object ACL for thumbnails that Elastic Transcoder
  2283. // adds to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL for
  2284. // the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL:
  2285. // The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails
  2286. // that Elastic Transcoder adds to the Amazon S3 bucket.
  2287. Access []*string `type:"list"`
  2288. // The AWS user or group that you want to have access to transcoded files and
  2289. // playlists. To identify the user or group, you can specify the canonical user
  2290. // ID for an AWS account, an origin access identity for a CloudFront distribution,
  2291. // the registered email address of an AWS account, or a predefined Amazon S3
  2292. // group.
  2293. Grantee *string `type:"string"`
  2294. // The type of value that appears in the Grantee object: Canonical: Either
  2295. // the canonical user ID for an AWS account or an origin access identity for
  2296. // an Amazon CloudFront distribution. A canonical user ID is not the same as
  2297. // an AWS account number. Email: The registered email address of an AWS account.
  2298. // Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers,
  2299. // or LogDelivery.
  2300. GranteeType *string `type:"string"`
  2301. metadataPermission `json:"-" xml:"-"`
  2302. }
  2303. type metadataPermission struct {
  2304. SDKShapeTraits bool `type:"structure"`
  2305. }
  2306. // String returns the string representation
  2307. func (s Permission) String() string {
  2308. return awsutil.Prettify(s)
  2309. }
  2310. // GoString returns the string representation
  2311. func (s Permission) GoString() string {
  2312. return s.String()
  2313. }
  2314. // The pipeline (queue) that is used to manage jobs.
  2315. type Pipeline struct {
  2316. // The Amazon Resource Name (ARN) for the pipeline.
  2317. Arn *string `type:"string"`
  2318. // The AWS Key Management Service (AWS KMS) key that you want to use with this
  2319. // pipeline.
  2320. //
  2321. // If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need
  2322. // to provide a key with your job because a default key, known as an AWS-KMS
  2323. // key, is created for you automatically. You need to provide an AWS-KMS key
  2324. // only if you want to use a non-default AWS-KMS key, or if you are using an
  2325. // Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.
  2326. AwsKmsKeyArn *string `type:"string"`
  2327. // Information about the Amazon S3 bucket in which you want Elastic Transcoder
  2328. // to save transcoded files and playlists. Either you specify both ContentConfig
  2329. // and ThumbnailConfig, or you specify OutputBucket.
  2330. //
  2331. // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save
  2332. // transcoded files and playlists. Permissions: A list of the users and/or
  2333. // predefined Amazon S3 groups you want to have access to transcoded files and
  2334. // playlists, and the type of access that you want them to have. GranteeType:
  2335. // The type of value that appears in the Grantee object: Canonical: Either
  2336. // the canonical user ID for an AWS account or an origin access identity for
  2337. // an Amazon CloudFront distribution. Email: The registered email address of
  2338. // an AWS account. Group: One of the following predefined Amazon S3 groups:
  2339. // AllUsers, AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or
  2340. // group that you want to have access to transcoded files and playlists. Access:
  2341. // The permission that you want to give to the AWS user that is listed in Grantee.
  2342. // Valid values include: READ: The grantee can read the objects and metadata
  2343. // for objects that Elastic Transcoder adds to the Amazon S3 bucket. READ_ACP:
  2344. // The grantee can read the object ACL for objects that Elastic Transcoder adds
  2345. // to the Amazon S3 bucket. WRITE_ACP: The grantee can write the ACL for the
  2346. // objects that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL:
  2347. // The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects
  2348. // that Elastic Transcoder adds to the Amazon S3 bucket. StorageClass:
  2349. // The Amazon S3 storage class, Standard or ReducedRedundancy, that you want
  2350. // Elastic Transcoder to assign to the video files and playlists that it stores
  2351. // in your Amazon S3 bucket.
  2352. ContentConfig *PipelineOutputConfig `type:"structure"`
  2353. // The identifier for the pipeline. You use this value to identify the pipeline
  2354. // in which you want to perform a variety of operations, such as creating a
  2355. // job or a preset.
  2356. Id *string `type:"string"`
  2357. // The Amazon S3 bucket from which Elastic Transcoder gets media files for transcoding
  2358. // and the graphics files, if any, that you want to use for watermarks.
  2359. InputBucket *string `type:"string"`
  2360. // The name of the pipeline. We recommend that the name be unique within the
  2361. // AWS account, but uniqueness is not enforced.
  2362. //
  2363. // Constraints: Maximum 40 characters
  2364. Name *string `type:"string"`
  2365. // The Amazon Simple Notification Service (Amazon SNS) topic that you want to
  2366. // notify to report job status.
  2367. //
  2368. // To receive notifications, you must also subscribe to the new topic in the
  2369. // Amazon SNS console. Progressing (optional): The Amazon Simple Notification
  2370. // Service (Amazon SNS) topic that you want to notify when Elastic Transcoder
  2371. // has started to process the job. Completed (optional): The Amazon SNS topic
  2372. // that you want to notify when Elastic Transcoder has finished processing the
  2373. // job. Warning (optional): The Amazon SNS topic that you want to notify when
  2374. // Elastic Transcoder encounters a warning condition. Error (optional): The
  2375. // Amazon SNS topic that you want to notify when Elastic Transcoder encounters
  2376. // an error condition.
  2377. Notifications *Notifications `type:"structure"`
  2378. // The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded
  2379. // files, thumbnails, and playlists. Either you specify this value, or you specify
  2380. // both ContentConfig and ThumbnailConfig.
  2381. OutputBucket *string `type:"string"`
  2382. // The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses
  2383. // to transcode jobs for this pipeline.
  2384. Role *string `type:"string"`
  2385. // The current status of the pipeline:
  2386. //
  2387. // Active: The pipeline is processing jobs. Paused: The pipeline is not
  2388. // currently processing jobs.
  2389. Status *string `type:"string"`
  2390. // Information about the Amazon S3 bucket in which you want Elastic Transcoder
  2391. // to save thumbnail files. Either you specify both ContentConfig and ThumbnailConfig,
  2392. // or you specify OutputBucket.
  2393. //
  2394. // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save
  2395. // thumbnail files. Permissions: A list of the users and/or predefined Amazon
  2396. // S3 groups you want to have access to thumbnail files, and the type of access
  2397. // that you want them to have. GranteeType: The type of value that appears
  2398. // in the Grantee object: Canonical: Either the canonical user ID for an AWS
  2399. // account or an origin access identity for an Amazon CloudFront distribution.
  2400. // A canonical user ID is not the same as an AWS account number. Email: The
  2401. // registered email address of an AWS account. Group: One of the following
  2402. // predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
  2403. // Grantee: The AWS user or group that you want to have access to thumbnail
  2404. // files. Access: The permission that you want to give to the AWS user that
  2405. // is listed in Grantee. Valid values include: READ: The grantee can read
  2406. // the thumbnails and metadata for thumbnails that Elastic Transcoder adds to
  2407. // the Amazon S3 bucket. READ_ACP: The grantee can read the object ACL for
  2408. // thumbnails that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP:
  2409. // The grantee can write the ACL for the thumbnails that Elastic Transcoder
  2410. // adds to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP,
  2411. // and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds
  2412. // to the Amazon S3 bucket. StorageClass: The Amazon S3 storage class,
  2413. // Standard or ReducedRedundancy, that you want Elastic Transcoder to assign
  2414. // to the thumbnails that it stores in your Amazon S3 bucket.
  2415. ThumbnailConfig *PipelineOutputConfig `type:"structure"`
  2416. metadataPipeline `json:"-" xml:"-"`
  2417. }
  2418. type metadataPipeline struct {
  2419. SDKShapeTraits bool `type:"structure"`
  2420. }
  2421. // String returns the string representation
  2422. func (s Pipeline) String() string {
  2423. return awsutil.Prettify(s)
  2424. }
  2425. // GoString returns the string representation
  2426. func (s Pipeline) GoString() string {
  2427. return s.String()
  2428. }
  2429. // The PipelineOutputConfig structure.
  2430. type PipelineOutputConfig struct {
  2431. // The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded
  2432. // files. Specify this value when all of the following are true: You want to
  2433. // save transcoded files, thumbnails (if any), and playlists (if any) together
  2434. // in one bucket. You do not want to specify the users or groups who have access
  2435. // to the transcoded files, thumbnails, and playlists. You do not want to specify
  2436. // the permissions that Elastic Transcoder grants to the files. You want to
  2437. // associate the transcoded files and thumbnails with the Amazon S3 Standard
  2438. // storage class. If you want to save transcoded files and playlists in one
  2439. // bucket and thumbnails in another bucket, specify which users can access the
  2440. // transcoded files or the permissions the users have, or change the Amazon
  2441. // S3 storage class, omit OutputBucket and specify values for ContentConfig
  2442. // and ThumbnailConfig instead.
  2443. Bucket *string `type:"string"`
  2444. // Optional. The Permissions object specifies which users and/or predefined
  2445. // Amazon S3 groups you want to have access to transcoded files and playlists,
  2446. // and the type of access you want them to have. You can grant permissions to
  2447. // a maximum of 30 users and/or predefined Amazon S3 groups.
  2448. //
  2449. // If you include Permissions, Elastic Transcoder grants only the permissions
  2450. // that you specify. It does not grant full permissions to the owner of the
  2451. // role specified by Role. If you want that user to have full control, you must
  2452. // explicitly grant full control to the user.
  2453. //
  2454. // If you omit Permissions, Elastic Transcoder grants full control over the
  2455. // transcoded files and playlists to the owner of the role specified by Role,
  2456. // and grants no other permissions to any other user or group.
  2457. Permissions []*Permission `type:"list"`
  2458. // The Amazon S3 storage class, Standard or ReducedRedundancy, that you want
  2459. // Elastic Transcoder to assign to the video files and playlists that it stores
  2460. // in your Amazon S3 bucket.
  2461. StorageClass *string `type:"string"`
  2462. metadataPipelineOutputConfig `json:"-" xml:"-"`
  2463. }
  2464. type metadataPipelineOutputConfig struct {
  2465. SDKShapeTraits bool `type:"structure"`
  2466. }
  2467. // String returns the string representation
  2468. func (s PipelineOutputConfig) String() string {
  2469. return awsutil.Prettify(s)
  2470. }
  2471. // GoString returns the string representation
  2472. func (s PipelineOutputConfig) GoString() string {
  2473. return s.String()
  2474. }
  2475. // The PlayReady DRM settings, if any, that you want Elastic Transcoder to apply
  2476. // to the output files associated with this playlist.
  2477. //
  2478. // PlayReady DRM encrypts your media files using AES-CTR encryption.
  2479. //
  2480. // If you use DRM for an HLSv3 playlist, your outputs must have a master playlist.
  2481. type PlayReadyDrm struct {
  2482. // The type of DRM, if any, that you want Elastic Transcoder to apply to the
  2483. // output files associated with this playlist.
  2484. Format *string `type:"string"`
  2485. // The series of random bits created by a random bit generator, unique for every
  2486. // encryption operation, that you want Elastic Transcoder to use to encrypt
  2487. // your files. The initialization vector must be base64-encoded, and it must
  2488. // be exactly 8 bytes long before being base64-encoded. If no initialization
  2489. // vector is provided, Elastic Transcoder generates one for you.
  2490. InitializationVector *string `type:"string"`
  2491. // The DRM key for your file, provided by your DRM license provider. The key
  2492. // must be base64-encoded, and it must be one of the following bit lengths before
  2493. // being base64-encoded:
  2494. //
  2495. // 128, 192, or 256.
  2496. //
  2497. // The key must also be encrypted by using AWS KMS.
  2498. Key *string `type:"string"`
  2499. // The ID for your DRM key, so that your DRM license provider knows which key
  2500. // to provide.
  2501. //
  2502. // The key ID must be provided in big endian, and Elastic Transcoder will convert
  2503. // it to little endian before inserting it into the PlayReady DRM headers. If
  2504. // you are unsure whether your license server provides your key ID in big or
  2505. // little endian, check with your DRM provider.
  2506. KeyId *string `type:"string"`
  2507. // The MD5 digest of the key used for DRM on your file, and that you want Elastic
  2508. // Transcoder to use as a checksum to make sure your key was not corrupted in
  2509. // transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes
  2510. // before being base64-encoded.
  2511. KeyMd5 *string `type:"string"`
  2512. // The location of the license key required to play DRM content. The URL must
  2513. // be an absolute path, and is referenced by the PlayReady header. The PlayReady
  2514. // header is referenced in the protection header of the client manifest for
  2515. // Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata
  2516. // tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/
  2517. LicenseAcquisitionUrl *string `type:"string"`
  2518. metadataPlayReadyDrm `json:"-" xml:"-"`
  2519. }
  2520. type metadataPlayReadyDrm struct {
  2521. SDKShapeTraits bool `type:"structure"`
  2522. }
  2523. // String returns the string representation
  2524. func (s PlayReadyDrm) String() string {
  2525. return awsutil.Prettify(s)
  2526. }
  2527. // GoString returns the string representation
  2528. func (s PlayReadyDrm) GoString() string {
  2529. return s.String()
  2530. }
  2531. // Use Only for Fragmented MP4 or MPEG-TS Outputs. If you specify a preset for
  2532. // which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists
  2533. // contains information about the master playlists that you want Elastic Transcoder
  2534. // to create. We recommend that you create only one master playlist per output
  2535. // format. The maximum number of master playlists in a job is 30.
  2536. type Playlist struct {
  2537. // The format of the output playlist. Valid formats include HLSv3, HLSv4, and
  2538. // Smooth.
  2539. Format *string `type:"string"`
  2540. // The HLS content protection settings, if any, that you want Elastic Transcoder
  2541. // to apply to the output files associated with this playlist.
  2542. HlsContentProtection *HlsContentProtection `type:"structure"`
  2543. // The name that you want Elastic Transcoder to assign to the master playlist,
  2544. // for example, nyc-vacation.m3u8. If the name includes a / character, the section
  2545. // of the name before the last / must be identical for all Name objects. If
  2546. // you create more than one master playlist, the values of all Name objects
  2547. // must be unique.
  2548. //
  2549. // Note: Elastic Transcoder automatically appends the relevant file extension
  2550. // to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc
  2551. // for Smooth playlists). If you include a file extension in Name, the file
  2552. // name will have two extensions.
  2553. Name *string `type:"string"`
  2554. // For each output in this job that you want to include in a master playlist,
  2555. // the value of the Outputs:Key object.
  2556. //
  2557. // If your output is not HLS or does not have a segment duration set, the
  2558. // name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:
  2559. //
  2560. // OutputKeyPrefixOutputs:Key
  2561. //
  2562. // If your output is HLSv3 and has a segment duration set, or is not included
  2563. // in a playlist, Elastic Transcoder creates an output playlist file with a
  2564. // file extension of .m3u8, and a series of .ts files that include a five-digit
  2565. // sequential counter beginning with 00000:
  2566. //
  2567. // OutputKeyPrefixOutputs:Key.m3u8
  2568. //
  2569. // OutputKeyPrefixOutputs:Key00000.ts
  2570. //
  2571. // If your output is HLSv4, has a segment duration set, and is included in
  2572. // an HLSv4 playlist, Elastic Transcoder creates an output playlist file with
  2573. // a file extension of _v4.m3u8. If the output is video, Elastic Transcoder
  2574. // also creates an output file with an extension of _iframe.m3u8:
  2575. //
  2576. // OutputKeyPrefixOutputs:Key_v4.m3u8
  2577. //
  2578. // OutputKeyPrefixOutputs:Key_iframe.m3u8
  2579. //
  2580. // OutputKeyPrefixOutputs:Key.ts
  2581. //
  2582. // Elastic Transcoder automatically appends the relevant file extension to
  2583. // the file name. If you include a file extension in Output Key, the file name
  2584. // will have two extensions.
  2585. //
  2586. // If you include more than one output in a playlist, any segment duration
  2587. // settings, clip settings, or caption settings must be the same for all outputs
  2588. // in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile,
  2589. // and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for
  2590. // all outputs.
  2591. OutputKeys []*string `type:"list"`
  2592. // The DRM settings, if any, that you want Elastic Transcoder to apply to the
  2593. // output files associated with this playlist.
  2594. PlayReadyDrm *PlayReadyDrm `type:"structure"`
  2595. // The status of the job with which the playlist is associated.
  2596. Status *string `type:"string"`
  2597. // Information that further explains the status.
  2598. StatusDetail *string `type:"string"`
  2599. metadataPlaylist `json:"-" xml:"-"`
  2600. }
  2601. type metadataPlaylist struct {
  2602. SDKShapeTraits bool `type:"structure"`
  2603. }
  2604. // String returns the string representation
  2605. func (s Playlist) String() string {
  2606. return awsutil.Prettify(s)
  2607. }
  2608. // GoString returns the string representation
  2609. func (s Playlist) GoString() string {
  2610. return s.String()
  2611. }
  2612. // Presets are templates that contain most of the settings for transcoding media
  2613. // files from one format to another. Elastic Transcoder includes some default
  2614. // presets for common formats, for example, several iPod and iPhone versions.
  2615. // You can also create your own presets for formats that aren't included among
  2616. // the default presets. You specify which preset you want to use when you create
  2617. // a job.
  2618. type Preset struct {
  2619. // The Amazon Resource Name (ARN) for the preset.
  2620. Arn *string `type:"string"`
  2621. // A section of the response body that provides information about the audio
  2622. // preset values.
  2623. Audio *AudioParameters `type:"structure"`
  2624. // The container type for the output file. Valid values include flac, flv, fmp4,
  2625. // gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm.
  2626. Container *string `type:"string"`
  2627. // A description of the preset.
  2628. Description *string `type:"string"`
  2629. // Identifier for the new preset. You use this value to get settings for the
  2630. // preset or to delete it.
  2631. Id *string `type:"string"`
  2632. // The name of the preset.
  2633. Name *string `type:"string"`
  2634. // A section of the response body that provides information about the thumbnail
  2635. // preset values, if any.
  2636. Thumbnails *Thumbnails `type:"structure"`
  2637. // Whether the preset is a default preset provided by Elastic Transcoder (System)
  2638. // or a preset that you have defined (Custom).
  2639. Type *string `type:"string"`
  2640. // A section of the response body that provides information about the video
  2641. // preset values.
  2642. Video *VideoParameters `type:"structure"`
  2643. metadataPreset `json:"-" xml:"-"`
  2644. }
  2645. type metadataPreset struct {
  2646. SDKShapeTraits bool `type:"structure"`
  2647. }
  2648. // String returns the string representation
  2649. func (s Preset) String() string {
  2650. return awsutil.Prettify(s)
  2651. }
  2652. // GoString returns the string representation
  2653. func (s Preset) GoString() string {
  2654. return s.String()
  2655. }
  2656. // Settings for the size, location, and opacity of graphics that you want Elastic
  2657. // Transcoder to overlay over videos that are transcoded using this preset.
  2658. // You can specify settings for up to four watermarks. Watermarks appear in
  2659. // the specified size and location, and with the specified opacity for the duration
  2660. // of the transcoded video.
  2661. //
  2662. // Watermarks can be in .png or .jpg format. If you want to display a watermark
  2663. // that is not rectangular, use the .png format, which supports transparency.
  2664. //
  2665. // When you create a job that uses this preset, you specify the .png or .jpg
  2666. // graphics that you want Elastic Transcoder to include in the transcoded videos.
  2667. // You can specify fewer graphics in the job than you specify watermark settings
  2668. // in the preset, which allows you to use the same preset for up to four watermarks
  2669. // that have different dimensions.
  2670. type PresetWatermark struct {
  2671. // The horizontal position of the watermark unless you specify a non-zero value
  2672. // for HorizontalOffset: Left: The left edge of the watermark is aligned with
  2673. // the left border of the video. Right: The right edge of the watermark is
  2674. // aligned with the right border of the video. Center: The watermark is centered
  2675. // between the left and right borders.
  2676. HorizontalAlign *string `type:"string"`
  2677. // The amount by which you want the horizontal position of the watermark to
  2678. // be offset from the position specified by HorizontalAlign: number of pixels
  2679. // (px): The minimum value is 0 pixels, and the maximum value is the value of
  2680. // MaxWidth. integer percentage (%): The range of valid values is 0 to 100.
  2681. // For example, if you specify Left for HorizontalAlign and 5px for HorizontalOffset,
  2682. // the left side of the watermark appears 5 pixels from the left border of the
  2683. // output video.
  2684. //
  2685. // HorizontalOffset is only valid when the value of HorizontalAlign is Left
  2686. // or Right. If you specify an offset that causes the watermark to extend beyond
  2687. // the left or right border and Elastic Transcoder has not added black bars,
  2688. // the watermark is cropped. If Elastic Transcoder has added black bars, the
  2689. // watermark extends into the black bars. If the watermark extends beyond the
  2690. // black bars, it is cropped.
  2691. //
  2692. // Use the value of Target to specify whether you want to include the black
  2693. // bars that are added by Elastic Transcoder, if any, in the offset calculation.
  2694. HorizontalOffset *string `type:"string"`
  2695. // A unique identifier for the settings for one watermark. The value of Id can
  2696. // be up to 40 characters long.
  2697. Id *string `type:"string"`
  2698. // The maximum height of the watermark in one of the following formats: number
  2699. // of pixels (px): The minimum value is 16 pixels, and the maximum value is
  2700. // the value of MaxHeight. integer percentage (%): The range of valid values
  2701. // is 0 to 100. Use the value of Target to specify whether you want Elastic
  2702. // Transcoder to include the black bars that are added by Elastic Transcoder,
  2703. // if any, in the calculation. If you specify the value in pixels, it must
  2704. // be less than or equal to the value of MaxHeight.
  2705. MaxHeight *string `type:"string"`
  2706. // The maximum width of the watermark in one of the following formats: number
  2707. // of pixels (px): The minimum value is 16 pixels, and the maximum value is
  2708. // the value of MaxWidth. integer percentage (%): The range of valid values
  2709. // is 0 to 100. Use the value of Target to specify whether you want Elastic
  2710. // Transcoder to include the black bars that are added by Elastic Transcoder,
  2711. // if any, in the calculation. If you specify the value in pixels, it must be
  2712. // less than or equal to the value of MaxWidth.
  2713. MaxWidth *string `type:"string"`
  2714. // A percentage that indicates how much you want a watermark to obscure the
  2715. // video in the location where it appears. Valid values are 0 (the watermark
  2716. // is invisible) to 100 (the watermark completely obscures the video in the
  2717. // specified location). The datatype of Opacity is float.
  2718. //
  2719. // Elastic Transcoder supports transparent .png graphics. If you use a transparent
  2720. // .png, the transparent portion of the video appears as if you had specified
  2721. // a value of 0 for Opacity. The .jpg file format doesn't support transparency.
  2722. Opacity *string `type:"string"`
  2723. // A value that controls scaling of the watermark: Fit: Elastic Transcoder
  2724. // scales the watermark so it matches the value that you specified in either
  2725. // MaxWidth or MaxHeight without exceeding the other value. Stretch: Elastic
  2726. // Transcoder stretches the watermark to match the values that you specified
  2727. // for MaxWidth and MaxHeight. If the relative proportions of the watermark
  2728. // and the values of MaxWidth and MaxHeight are different, the watermark will
  2729. // be distorted. ShrinkToFit: Elastic Transcoder scales the watermark down
  2730. // so that its dimensions match the values that you specified for at least one
  2731. // of MaxWidth and MaxHeight without exceeding either value. If you specify
  2732. // this option, Elastic Transcoder does not scale the watermark up.
  2733. SizingPolicy *string `type:"string"`
  2734. // A value that determines how Elastic Transcoder interprets values that you
  2735. // specified for HorizontalOffset, VerticalOffset, MaxWidth, and MaxHeight:
  2736. // Content: HorizontalOffset and VerticalOffset values are calculated based
  2737. // on the borders of the video excluding black bars added by Elastic Transcoder,
  2738. // if any. In addition, MaxWidth and MaxHeight, if specified as a percentage,
  2739. // are calculated based on the borders of the video excluding black bars added
  2740. // by Elastic Transcoder, if any. Frame: HorizontalOffset and VerticalOffset
  2741. // values are calculated based on the borders of the video including black bars
  2742. // added by Elastic Transcoder, if any. In addition, MaxWidth and MaxHeight,
  2743. // if specified as a percentage, are calculated based on the borders of the
  2744. // video including black bars added by Elastic Transcoder, if any.
  2745. Target *string `type:"string"`
  2746. // The vertical position of the watermark unless you specify a non-zero value
  2747. // for VerticalOffset: Top: The top edge of the watermark is aligned with
  2748. // the top border of the video. Bottom: The bottom edge of the watermark is
  2749. // aligned with the bottom border of the video. Center: The watermark is centered
  2750. // between the top and bottom borders.
  2751. VerticalAlign *string `type:"string"`
  2752. // VerticalOffset The amount by which you want the vertical position of the
  2753. // watermark to be offset from the position specified by VerticalAlign: number
  2754. // of pixels (px): The minimum value is 0 pixels, and the maximum value is the
  2755. // value of MaxHeight. integer percentage (%): The range of valid values is
  2756. // 0 to 100. For example, if you specify Top for VerticalAlign and 5px for
  2757. // VerticalOffset, the top of the watermark appears 5 pixels from the top border
  2758. // of the output video.
  2759. //
  2760. // VerticalOffset is only valid when the value of VerticalAlign is Top or Bottom.
  2761. //
  2762. // If you specify an offset that causes the watermark to extend beyond the
  2763. // top or bottom border and Elastic Transcoder has not added black bars, the
  2764. // watermark is cropped. If Elastic Transcoder has added black bars, the watermark
  2765. // extends into the black bars. If the watermark extends beyond the black bars,
  2766. // it is cropped.
  2767. //
  2768. // Use the value of Target to specify whether you want Elastic Transcoder to
  2769. // include the black bars that are added by Elastic Transcoder, if any, in the
  2770. // offset calculation.
  2771. VerticalOffset *string `type:"string"`
  2772. metadataPresetWatermark `json:"-" xml:"-"`
  2773. }
  2774. type metadataPresetWatermark struct {
  2775. SDKShapeTraits bool `type:"structure"`
  2776. }
  2777. // String returns the string representation
  2778. func (s PresetWatermark) String() string {
  2779. return awsutil.Prettify(s)
  2780. }
  2781. // GoString returns the string representation
  2782. func (s PresetWatermark) GoString() string {
  2783. return s.String()
  2784. }
  2785. // The ReadJobRequest structure.
  2786. type ReadJobInput struct {
  2787. // The identifier of the job for which you want to get detailed information.
  2788. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  2789. metadataReadJobInput `json:"-" xml:"-"`
  2790. }
  2791. type metadataReadJobInput struct {
  2792. SDKShapeTraits bool `type:"structure"`
  2793. }
  2794. // String returns the string representation
  2795. func (s ReadJobInput) String() string {
  2796. return awsutil.Prettify(s)
  2797. }
  2798. // GoString returns the string representation
  2799. func (s ReadJobInput) GoString() string {
  2800. return s.String()
  2801. }
  2802. // The ReadJobResponse structure.
  2803. type ReadJobOutput struct {
  2804. // A section of the response body that provides information about the job.
  2805. Job *Job `type:"structure"`
  2806. metadataReadJobOutput `json:"-" xml:"-"`
  2807. }
  2808. type metadataReadJobOutput struct {
  2809. SDKShapeTraits bool `type:"structure"`
  2810. }
  2811. // String returns the string representation
  2812. func (s ReadJobOutput) String() string {
  2813. return awsutil.Prettify(s)
  2814. }
  2815. // GoString returns the string representation
  2816. func (s ReadJobOutput) GoString() string {
  2817. return s.String()
  2818. }
  2819. // The ReadPipelineRequest structure.
  2820. type ReadPipelineInput struct {
  2821. // The identifier of the pipeline to read.
  2822. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  2823. metadataReadPipelineInput `json:"-" xml:"-"`
  2824. }
  2825. type metadataReadPipelineInput struct {
  2826. SDKShapeTraits bool `type:"structure"`
  2827. }
  2828. // String returns the string representation
  2829. func (s ReadPipelineInput) String() string {
  2830. return awsutil.Prettify(s)
  2831. }
  2832. // GoString returns the string representation
  2833. func (s ReadPipelineInput) GoString() string {
  2834. return s.String()
  2835. }
  2836. // The ReadPipelineResponse structure.
  2837. type ReadPipelineOutput struct {
  2838. // A section of the response body that provides information about the pipeline.
  2839. Pipeline *Pipeline `type:"structure"`
  2840. // Elastic Transcoder returns a warning if the resources used by your pipeline
  2841. // are not in the same region as the pipeline.
  2842. //
  2843. // Using resources in the same region, such as your Amazon S3 buckets, Amazon
  2844. // SNS notification topics, and AWS KMS key, reduces processing time and prevents
  2845. // cross-regional charges.
  2846. Warnings []*Warning `type:"list"`
  2847. metadataReadPipelineOutput `json:"-" xml:"-"`
  2848. }
  2849. type metadataReadPipelineOutput struct {
  2850. SDKShapeTraits bool `type:"structure"`
  2851. }
  2852. // String returns the string representation
  2853. func (s ReadPipelineOutput) String() string {
  2854. return awsutil.Prettify(s)
  2855. }
  2856. // GoString returns the string representation
  2857. func (s ReadPipelineOutput) GoString() string {
  2858. return s.String()
  2859. }
  2860. // The ReadPresetRequest structure.
  2861. type ReadPresetInput struct {
  2862. // The identifier of the preset for which you want to get detailed information.
  2863. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  2864. metadataReadPresetInput `json:"-" xml:"-"`
  2865. }
  2866. type metadataReadPresetInput struct {
  2867. SDKShapeTraits bool `type:"structure"`
  2868. }
  2869. // String returns the string representation
  2870. func (s ReadPresetInput) String() string {
  2871. return awsutil.Prettify(s)
  2872. }
  2873. // GoString returns the string representation
  2874. func (s ReadPresetInput) GoString() string {
  2875. return s.String()
  2876. }
  2877. // The ReadPresetResponse structure.
  2878. type ReadPresetOutput struct {
  2879. // A section of the response body that provides information about the preset.
  2880. Preset *Preset `type:"structure"`
  2881. metadataReadPresetOutput `json:"-" xml:"-"`
  2882. }
  2883. type metadataReadPresetOutput struct {
  2884. SDKShapeTraits bool `type:"structure"`
  2885. }
  2886. // String returns the string representation
  2887. func (s ReadPresetOutput) String() string {
  2888. return awsutil.Prettify(s)
  2889. }
  2890. // GoString returns the string representation
  2891. func (s ReadPresetOutput) GoString() string {
  2892. return s.String()
  2893. }
  2894. // The TestRoleRequest structure.
  2895. type TestRoleInput struct {
  2896. // The Amazon S3 bucket that contains media files to be transcoded. The action
  2897. // attempts to read from this bucket.
  2898. InputBucket *string `type:"string" required:"true"`
  2899. // The Amazon S3 bucket that Elastic Transcoder will write transcoded media
  2900. // files to. The action attempts to read from this bucket.
  2901. OutputBucket *string `type:"string" required:"true"`
  2902. // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder
  2903. // to test.
  2904. Role *string `type:"string" required:"true"`
  2905. // The ARNs of one or more Amazon Simple Notification Service (Amazon SNS) topics
  2906. // that you want the action to send a test notification to.
  2907. Topics []*string `type:"list" required:"true"`
  2908. metadataTestRoleInput `json:"-" xml:"-"`
  2909. }
  2910. type metadataTestRoleInput struct {
  2911. SDKShapeTraits bool `type:"structure"`
  2912. }
  2913. // String returns the string representation
  2914. func (s TestRoleInput) String() string {
  2915. return awsutil.Prettify(s)
  2916. }
  2917. // GoString returns the string representation
  2918. func (s TestRoleInput) GoString() string {
  2919. return s.String()
  2920. }
  2921. // The TestRoleResponse structure.
  2922. type TestRoleOutput struct {
  2923. // If the Success element contains false, this value is an array of one or more
  2924. // error messages that were generated during the test process.
  2925. Messages []*string `type:"list"`
  2926. // If the operation is successful, this value is true; otherwise, the value
  2927. // is false.
  2928. Success *string `type:"string"`
  2929. metadataTestRoleOutput `json:"-" xml:"-"`
  2930. }
  2931. type metadataTestRoleOutput struct {
  2932. SDKShapeTraits bool `type:"structure"`
  2933. }
  2934. // String returns the string representation
  2935. func (s TestRoleOutput) String() string {
  2936. return awsutil.Prettify(s)
  2937. }
  2938. // GoString returns the string representation
  2939. func (s TestRoleOutput) GoString() string {
  2940. return s.String()
  2941. }
  2942. // Thumbnails for videos.
  2943. type Thumbnails struct {
  2944. // To better control resolution and aspect ratio of thumbnails, we recommend
  2945. // that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy
  2946. // instead of Resolution and AspectRatio. The two groups of settings are mutually
  2947. // exclusive. Do not use them together.
  2948. //
  2949. // The aspect ratio of thumbnails. Valid values include:
  2950. //
  2951. // auto, 1:1, 4:3, 3:2, 16:9
  2952. //
  2953. // If you specify auto, Elastic Transcoder tries to preserve the aspect ratio
  2954. // of the video in the output file.
  2955. AspectRatio *string `type:"string"`
  2956. // The format of thumbnails, if any. Valid values are jpg and png.
  2957. //
  2958. // You specify whether you want Elastic Transcoder to create thumbnails when
  2959. // you create a job.
  2960. Format *string `type:"string"`
  2961. // The approximate number of seconds between thumbnails. Specify an integer
  2962. // value.
  2963. Interval *string `type:"string"`
  2964. // The maximum height of thumbnails in pixels. If you specify auto, Elastic
  2965. // Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric
  2966. // value, enter an even integer between 32 and 3072.
  2967. MaxHeight *string `type:"string"`
  2968. // The maximum width of thumbnails in pixels. If you specify auto, Elastic Transcoder
  2969. // uses 1920 (Full HD) as the default value. If you specify a numeric value,
  2970. // enter an even integer between 32 and 4096.
  2971. MaxWidth *string `type:"string"`
  2972. // When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars
  2973. // to the top and bottom and/or left and right sides of thumbnails to make the
  2974. // total size of the thumbnails match the values that you specified for thumbnail
  2975. // MaxWidth and MaxHeight settings.
  2976. PaddingPolicy *string `type:"string"`
  2977. // To better control resolution and aspect ratio of thumbnails, we recommend
  2978. // that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy
  2979. // instead of Resolution and AspectRatio. The two groups of settings are mutually
  2980. // exclusive. Do not use them together.
  2981. //
  2982. // The width and height of thumbnail files in pixels. Specify a value in the
  2983. // format width x height where both values are even integers. The values cannot
  2984. // exceed the width and height that you specified in the Video:Resolution object.
  2985. Resolution *string `type:"string"`
  2986. // Specify one of the following values to control scaling of thumbnails:
  2987. //
  2988. // Fit: Elastic Transcoder scales thumbnails so they match the value that
  2989. // you specified in thumbnail MaxWidth or MaxHeight settings without exceeding
  2990. // the other value. Fill: Elastic Transcoder scales thumbnails so they match
  2991. // the value that you specified in thumbnail MaxWidth or MaxHeight settings
  2992. // and matches or exceeds the other value. Elastic Transcoder centers the image
  2993. // in thumbnails and then crops in the dimension (if any) that exceeds the maximum
  2994. // value. Stretch: Elastic Transcoder stretches thumbnails to match the values
  2995. // that you specified for thumbnail MaxWidth and MaxHeight settings. If the
  2996. // relative proportions of the input video and thumbnails are different, the
  2997. // thumbnails will be distorted. Keep: Elastic Transcoder does not scale thumbnails.
  2998. // If either dimension of the input video exceeds the values that you specified
  2999. // for thumbnail MaxWidth and MaxHeight settings, Elastic Transcoder crops the
  3000. // thumbnails. ShrinkToFit: Elastic Transcoder scales thumbnails down so that
  3001. // their dimensions match the values that you specified for at least one of
  3002. // thumbnail MaxWidth and MaxHeight without exceeding either value. If you specify
  3003. // this option, Elastic Transcoder does not scale thumbnails up. ShrinkToFill:
  3004. // Elastic Transcoder scales thumbnails down so that their dimensions match
  3005. // the values that you specified for at least one of MaxWidth and MaxHeight
  3006. // without dropping below either value. If you specify this option, Elastic
  3007. // Transcoder does not scale thumbnails up.
  3008. SizingPolicy *string `type:"string"`
  3009. metadataThumbnails `json:"-" xml:"-"`
  3010. }
  3011. type metadataThumbnails struct {
  3012. SDKShapeTraits bool `type:"structure"`
  3013. }
  3014. // String returns the string representation
  3015. func (s Thumbnails) String() string {
  3016. return awsutil.Prettify(s)
  3017. }
  3018. // GoString returns the string representation
  3019. func (s Thumbnails) GoString() string {
  3020. return s.String()
  3021. }
  3022. // Settings that determine when a clip begins and how long it lasts.
  3023. type TimeSpan struct {
  3024. // The duration of the clip. The format can be either HH:mm:ss.SSS (maximum
  3025. // value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum
  3026. // value: 86399.999). If you don't specify a value, Elastic Transcoder creates
  3027. // an output file from StartTime to the end of the file.
  3028. //
  3029. // If you specify a value longer than the duration of the input file, Elastic
  3030. // Transcoder transcodes the file and returns a warning message.
  3031. Duration *string `type:"string"`
  3032. // The place in the input file where you want a clip to start. The format can
  3033. // be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of
  3034. // a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a
  3035. // value, Elastic Transcoder starts at the beginning of the input file.
  3036. StartTime *string `type:"string"`
  3037. metadataTimeSpan `json:"-" xml:"-"`
  3038. }
  3039. type metadataTimeSpan struct {
  3040. SDKShapeTraits bool `type:"structure"`
  3041. }
  3042. // String returns the string representation
  3043. func (s TimeSpan) String() string {
  3044. return awsutil.Prettify(s)
  3045. }
  3046. // GoString returns the string representation
  3047. func (s TimeSpan) GoString() string {
  3048. return s.String()
  3049. }
  3050. // Details about the timing of a job.
  3051. type Timing struct {
  3052. // The time the job finished transcoding, in epoch milliseconds.
  3053. FinishTimeMillis *int64 `type:"long"`
  3054. // The time the job began transcoding, in epoch milliseconds.
  3055. StartTimeMillis *int64 `type:"long"`
  3056. // The time the job was submitted to Elastic Transcoder, in epoch milliseconds.
  3057. SubmitTimeMillis *int64 `type:"long"`
  3058. metadataTiming `json:"-" xml:"-"`
  3059. }
  3060. type metadataTiming struct {
  3061. SDKShapeTraits bool `type:"structure"`
  3062. }
  3063. // String returns the string representation
  3064. func (s Timing) String() string {
  3065. return awsutil.Prettify(s)
  3066. }
  3067. // GoString returns the string representation
  3068. func (s Timing) GoString() string {
  3069. return s.String()
  3070. }
  3071. // The UpdatePipelineRequest structure.
  3072. type UpdatePipelineInput struct {
  3073. // The AWS Key Management Service (AWS KMS) key that you want to use with this
  3074. // pipeline.
  3075. //
  3076. // If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need
  3077. // to provide a key with your job because a default key, known as an AWS-KMS
  3078. // key, is created for you automatically. You need to provide an AWS-KMS key
  3079. // only if you want to use a non-default AWS-KMS key, or if you are using an
  3080. // Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.
  3081. AwsKmsKeyArn *string `type:"string"`
  3082. // The optional ContentConfig object specifies information about the Amazon
  3083. // S3 bucket in which you want Elastic Transcoder to save transcoded files and
  3084. // playlists: which bucket to use, which users you want to have access to the
  3085. // files, the type of access you want users to have, and the storage class that
  3086. // you want to assign to the files.
  3087. //
  3088. // If you specify values for ContentConfig, you must also specify values for
  3089. // ThumbnailConfig.
  3090. //
  3091. // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket
  3092. // object.
  3093. //
  3094. // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save
  3095. // transcoded files and playlists. Permissions (Optional): The Permissions
  3096. // object specifies which users you want to have access to transcoded files
  3097. // and the type of access you want them to have. You can grant permissions to
  3098. // a maximum of 30 users and/or predefined Amazon S3 groups. Grantee Type:
  3099. // Specify the type of value that appears in the Grantee object: Canonical:
  3100. // The value in the Grantee object is either the canonical user ID for an AWS
  3101. // account or an origin access identity for an Amazon CloudFront distribution.
  3102. // For more information about canonical user IDs, see Access Control List (ACL)
  3103. // Overview in the Amazon Simple Storage Service Developer Guide. For more information
  3104. // about using CloudFront origin access identities to require that users use
  3105. // CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity
  3106. // to Restrict Access to Your Amazon S3 Content. A canonical user ID is not
  3107. // the same as an AWS account number. Email: The value in the Grantee object
  3108. // is the registered email address of an AWS account. Group: The value in the
  3109. // Grantee object is one of the following predefined Amazon S3 groups: AllUsers,
  3110. // AuthenticatedUsers, or LogDelivery. Grantee: The AWS user or group that
  3111. // you want to have access to transcoded files and playlists. To identify the
  3112. // user or group, you can specify the canonical user ID for an AWS account,
  3113. // an origin access identity for a CloudFront distribution, the registered email
  3114. // address of an AWS account, or a predefined Amazon S3 group Access: The
  3115. // permission that you want to give to the AWS user that you specified in Grantee.
  3116. // Permissions are granted on the files that Elastic Transcoder adds to the
  3117. // bucket, including playlists and video files. Valid values include: READ:
  3118. // The grantee can read the objects and metadata for objects that Elastic Transcoder
  3119. // adds to the Amazon S3 bucket. READ_ACP: The grantee can read the object
  3120. // ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket. WRITE_ACP:
  3121. // The grantee can write the ACL for the objects that Elastic Transcoder adds
  3122. // to the Amazon S3 bucket. FULL_CONTROL: The grantee has READ, READ_ACP, and
  3123. // WRITE_ACP permissions for the objects that Elastic Transcoder adds to the
  3124. // Amazon S3 bucket. StorageClass: The Amazon S3 storage class, Standard
  3125. // or ReducedRedundancy, that you want Elastic Transcoder to assign to the video
  3126. // files and playlists that it stores in your Amazon S3 bucket.
  3127. ContentConfig *PipelineOutputConfig `type:"structure"`
  3128. // The ID of the pipeline that you want to update.
  3129. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  3130. // The Amazon S3 bucket in which you saved the media files that you want to
  3131. // transcode and the graphics that you want to use as watermarks.
  3132. InputBucket *string `type:"string"`
  3133. // The name of the pipeline. We recommend that the name be unique within the
  3134. // AWS account, but uniqueness is not enforced.
  3135. //
  3136. // Constraints: Maximum 40 characters
  3137. Name *string `type:"string"`
  3138. // The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify
  3139. // in order to report job status.
  3140. //
  3141. // To receive notifications, you must also subscribe to the new topic in the
  3142. // Amazon SNS console.
  3143. Notifications *Notifications `type:"structure"`
  3144. // The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder
  3145. // to use to transcode jobs for this pipeline.
  3146. Role *string `type:"string"`
  3147. // The ThumbnailConfig object specifies several values, including the Amazon
  3148. // S3 bucket in which you want Elastic Transcoder to save thumbnail files, which
  3149. // users you want to have access to the files, the type of access you want users
  3150. // to have, and the storage class that you want to assign to the files.
  3151. //
  3152. // If you specify values for ContentConfig, you must also specify values for
  3153. // ThumbnailConfig even if you don't want to create thumbnails.
  3154. //
  3155. // If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket
  3156. // object.
  3157. //
  3158. // Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save
  3159. // thumbnail files. Permissions (Optional): The Permissions object specifies
  3160. // which users and/or predefined Amazon S3 groups you want to have access to
  3161. // thumbnail files, and the type of access you want them to have. You can grant
  3162. // permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
  3163. // GranteeType: Specify the type of value that appears in the Grantee object:
  3164. // Canonical: The value in the Grantee object is either the canonical user
  3165. // ID for an AWS account or an origin access identity for an Amazon CloudFront
  3166. // distribution. A canonical user ID is not the same as an AWS account number.
  3167. // Email: The value in the Grantee object is the registered email address
  3168. // of an AWS account. Group: The value in the Grantee object is one of the
  3169. // following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
  3170. // Grantee: The AWS user or group that you want to have access to thumbnail
  3171. // files. To identify the user or group, you can specify the canonical user
  3172. // ID for an AWS account, an origin access identity for a CloudFront distribution,
  3173. // the registered email address of an AWS account, or a predefined Amazon S3
  3174. // group. Access: The permission that you want to give to the AWS user that
  3175. // you specified in Grantee. Permissions are granted on the thumbnail files
  3176. // that Elastic Transcoder adds to the bucket. Valid values include: READ:
  3177. // The grantee can read the thumbnails and metadata for objects that Elastic
  3178. // Transcoder adds to the Amazon S3 bucket. READ_ACP: The grantee can read
  3179. // the object ACL for thumbnails that Elastic Transcoder adds to the Amazon
  3180. // S3 bucket. WRITE_ACP: The grantee can write the ACL for the thumbnails
  3181. // that Elastic Transcoder adds to the Amazon S3 bucket. FULL_CONTROL: The
  3182. // grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails
  3183. // that Elastic Transcoder adds to the Amazon S3 bucket. StorageClass: The
  3184. // Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic
  3185. // Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.
  3186. ThumbnailConfig *PipelineOutputConfig `type:"structure"`
  3187. metadataUpdatePipelineInput `json:"-" xml:"-"`
  3188. }
  3189. type metadataUpdatePipelineInput struct {
  3190. SDKShapeTraits bool `type:"structure"`
  3191. }
  3192. // String returns the string representation
  3193. func (s UpdatePipelineInput) String() string {
  3194. return awsutil.Prettify(s)
  3195. }
  3196. // GoString returns the string representation
  3197. func (s UpdatePipelineInput) GoString() string {
  3198. return s.String()
  3199. }
  3200. // The UpdatePipelineNotificationsRequest structure.
  3201. type UpdatePipelineNotificationsInput struct {
  3202. // The identifier of the pipeline for which you want to change notification
  3203. // settings.
  3204. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  3205. // The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic
  3206. // that you want to notify to report job status.
  3207. //
  3208. // To receive notifications, you must also subscribe to the new topic in the
  3209. // Amazon SNS console. Progressing: The topic ARN for the Amazon Simple Notification
  3210. // Service (Amazon SNS) topic that you want to notify when Elastic Transcoder
  3211. // has started to process jobs that are added to this pipeline. This is the
  3212. // ARN that Amazon SNS returned when you created the topic. Completed: The
  3213. // topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder
  3214. // has finished processing a job. This is the ARN that Amazon SNS returned when
  3215. // you created the topic. Warning: The topic ARN for the Amazon SNS topic that
  3216. // you want to notify when Elastic Transcoder encounters a warning condition.
  3217. // This is the ARN that Amazon SNS returned when you created the topic. Error:
  3218. // The topic ARN for the Amazon SNS topic that you want to notify when Elastic
  3219. // Transcoder encounters an error condition. This is the ARN that Amazon SNS
  3220. // returned when you created the topic.
  3221. Notifications *Notifications `type:"structure" required:"true"`
  3222. metadataUpdatePipelineNotificationsInput `json:"-" xml:"-"`
  3223. }
  3224. type metadataUpdatePipelineNotificationsInput struct {
  3225. SDKShapeTraits bool `type:"structure"`
  3226. }
  3227. // String returns the string representation
  3228. func (s UpdatePipelineNotificationsInput) String() string {
  3229. return awsutil.Prettify(s)
  3230. }
  3231. // GoString returns the string representation
  3232. func (s UpdatePipelineNotificationsInput) GoString() string {
  3233. return s.String()
  3234. }
  3235. // The UpdatePipelineNotificationsResponse structure.
  3236. type UpdatePipelineNotificationsOutput struct {
  3237. // A section of the response body that provides information about the pipeline.
  3238. Pipeline *Pipeline `type:"structure"`
  3239. metadataUpdatePipelineNotificationsOutput `json:"-" xml:"-"`
  3240. }
  3241. type metadataUpdatePipelineNotificationsOutput struct {
  3242. SDKShapeTraits bool `type:"structure"`
  3243. }
  3244. // String returns the string representation
  3245. func (s UpdatePipelineNotificationsOutput) String() string {
  3246. return awsutil.Prettify(s)
  3247. }
  3248. // GoString returns the string representation
  3249. func (s UpdatePipelineNotificationsOutput) GoString() string {
  3250. return s.String()
  3251. }
  3252. // When you update a pipeline, Elastic Transcoder returns the values that you
  3253. // specified in the request.
  3254. type UpdatePipelineOutput struct {
  3255. // The pipeline (queue) that is used to manage jobs.
  3256. Pipeline *Pipeline `type:"structure"`
  3257. // Elastic Transcoder returns a warning if the resources used by your pipeline
  3258. // are not in the same region as the pipeline.
  3259. //
  3260. // Using resources in the same region, such as your Amazon S3 buckets, Amazon
  3261. // SNS notification topics, and AWS KMS key, reduces processing time and prevents
  3262. // cross-regional charges.
  3263. Warnings []*Warning `type:"list"`
  3264. metadataUpdatePipelineOutput `json:"-" xml:"-"`
  3265. }
  3266. type metadataUpdatePipelineOutput struct {
  3267. SDKShapeTraits bool `type:"structure"`
  3268. }
  3269. // String returns the string representation
  3270. func (s UpdatePipelineOutput) String() string {
  3271. return awsutil.Prettify(s)
  3272. }
  3273. // GoString returns the string representation
  3274. func (s UpdatePipelineOutput) GoString() string {
  3275. return s.String()
  3276. }
  3277. // The UpdatePipelineStatusRequest structure.
  3278. type UpdatePipelineStatusInput struct {
  3279. // The identifier of the pipeline to update.
  3280. Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
  3281. // The desired status of the pipeline:
  3282. //
  3283. // Active: The pipeline is processing jobs. Paused: The pipeline is not
  3284. // currently processing jobs.
  3285. Status *string `type:"string" required:"true"`
  3286. metadataUpdatePipelineStatusInput `json:"-" xml:"-"`
  3287. }
  3288. type metadataUpdatePipelineStatusInput struct {
  3289. SDKShapeTraits bool `type:"structure"`
  3290. }
  3291. // String returns the string representation
  3292. func (s UpdatePipelineStatusInput) String() string {
  3293. return awsutil.Prettify(s)
  3294. }
  3295. // GoString returns the string representation
  3296. func (s UpdatePipelineStatusInput) GoString() string {
  3297. return s.String()
  3298. }
  3299. // When you update status for a pipeline, Elastic Transcoder returns the values
  3300. // that you specified in the request.
  3301. type UpdatePipelineStatusOutput struct {
  3302. // A section of the response body that provides information about the pipeline.
  3303. Pipeline *Pipeline `type:"structure"`
  3304. metadataUpdatePipelineStatusOutput `json:"-" xml:"-"`
  3305. }
  3306. type metadataUpdatePipelineStatusOutput struct {
  3307. SDKShapeTraits bool `type:"structure"`
  3308. }
  3309. // String returns the string representation
  3310. func (s UpdatePipelineStatusOutput) String() string {
  3311. return awsutil.Prettify(s)
  3312. }
  3313. // GoString returns the string representation
  3314. func (s UpdatePipelineStatusOutput) GoString() string {
  3315. return s.String()
  3316. }
  3317. // The VideoParameters structure.
  3318. type VideoParameters struct {
  3319. // To better control resolution and aspect ratio of output videos, we recommend
  3320. // that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy,
  3321. // and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups
  3322. // of settings are mutually exclusive. Do not use them together.
  3323. //
  3324. // The display aspect ratio of the video in the output file. Valid values
  3325. // include:
  3326. //
  3327. // auto, 1:1, 4:3, 3:2, 16:9
  3328. //
  3329. // If you specify auto, Elastic Transcoder tries to preserve the aspect ratio
  3330. // of the input file.
  3331. //
  3332. // If you specify an aspect ratio for the output file that differs from aspect
  3333. // ratio of the input file, Elastic Transcoder adds pillarboxing (black bars
  3334. // on the sides) or letterboxing (black bars on the top and bottom) to maintain
  3335. // the aspect ratio of the active region of the video.
  3336. AspectRatio *string `type:"string"`
  3337. // The bit rate of the video stream in the output file, in kilobits/second.
  3338. // Valid values depend on the values of Level and Profile. If you specify auto,
  3339. // Elastic Transcoder uses the detected bit rate of the input source. If you
  3340. // specify a value other than auto, we recommend that you specify a value less
  3341. // than or equal to the maximum H.264-compliant value listed for your level
  3342. // and profile:
  3343. //
  3344. // Level - Maximum video bit rate in kilobits/second (baseline and main Profile)
  3345. // : maximum video bit rate in kilobits/second (high Profile)
  3346. //
  3347. // 1 - 64 : 80 1b - 128 : 160 1.1 - 192 : 240 1.2 - 384 : 480 1.3 - 768 :
  3348. // 960 2 - 2000 : 2500 3 - 10000 : 12500 3.1 - 14000 : 17500 3.2 - 20000 : 25000
  3349. // 4 - 20000 : 25000 4.1 - 50000 : 62500
  3350. BitRate *string `type:"string"`
  3351. // The video codec for the output file. Valid values include gif, H.264, mpeg2,
  3352. // and vp8. You can only specify vp8 when the container type is webm, gif when
  3353. // the container type is gif, and mpeg2 when the container type is mpg.
  3354. Codec *string `type:"string"`
  3355. // Profile (H.264/VP8 Only)
  3356. //
  3357. // The H.264 profile that you want to use for the output file. Elastic Transcoder
  3358. // supports the following profiles:
  3359. //
  3360. // baseline: The profile most commonly used for videoconferencing and for
  3361. // mobile applications. main: The profile used for standard-definition digital
  3362. // TV broadcasts. high: The profile used for high-definition digital TV broadcasts
  3363. // and for Blu-ray discs. Level (H.264 Only)
  3364. //
  3365. // The H.264 level that you want to use for the output file. Elastic Transcoder
  3366. // supports the following levels:
  3367. //
  3368. // 1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1
  3369. //
  3370. // MaxReferenceFrames (H.264 Only)
  3371. //
  3372. // Applicable only when the value of Video:Codec is H.264. The maximum number
  3373. // of previously decoded frames to use as a reference for decoding future frames.
  3374. // Valid values are integers 0 through 16, but we recommend that you not use
  3375. // a value greater than the following:
  3376. //
  3377. // Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width
  3378. // in pixels * Height in pixels)), 16)
  3379. //
  3380. // where Width in pixels and Height in pixels represent either MaxWidth and
  3381. // MaxHeight, or Resolution. Maximum decoded picture buffer in macroblocks depends
  3382. // on the value of the Level object. See the list below. (A macroblock is a
  3383. // block of pixels measuring 16x16.)
  3384. //
  3385. // 1 - 396 1b - 396 1.1 - 900 1.2 - 2376 1.3 - 2376 2 - 2376 2.1 - 4752 2.2
  3386. // - 8100 3 - 8100 3.1 - 18000 3.2 - 20480 4 - 32768 4.1 - 32768 MaxBitRate
  3387. // (Optional, H.264/MPEG2/VP8 only)
  3388. //
  3389. // The maximum number of bits per second in a video buffer; the size of the
  3390. // buffer is specified by BufferSize. Specify a value between 16 and 62,500.
  3391. // You can reduce the bandwidth required to stream a video by reducing the maximum
  3392. // bit rate, but this also reduces the quality of the video.
  3393. //
  3394. // BufferSize (Optional, H.264/MPEG2/VP8 only)
  3395. //
  3396. // The maximum number of bits in any x seconds of the output video. This window
  3397. // is commonly 10 seconds, the standard segment duration when you're using FMP4
  3398. // or MPEG-TS for the container type of the output video. Specify an integer
  3399. // greater than 0. If you specify MaxBitRate and omit BufferSize, Elastic Transcoder
  3400. // sets BufferSize to 10 times the value of MaxBitRate.
  3401. //
  3402. // InterlacedMode (Optional, H.264/MPEG2 Only)
  3403. //
  3404. // The interlace mode for the output video.
  3405. //
  3406. // Interlaced video is used to double the perceived frame rate for a video
  3407. // by interlacing two fields (one field on every other line, the other field
  3408. // on the other lines) so that the human eye registers multiple pictures per
  3409. // frame. Interlacing reduces the bandwidth required for transmitting a video,
  3410. // but can result in blurred images and flickering.
  3411. //
  3412. // Valid values include Progressive (no interlacing, top to bottom), TopFirst
  3413. // (top field first), BottomFirst (bottom field first), and Auto.
  3414. //
  3415. // If InterlaceMode is not specified, Elastic Transcoder uses Progressive for
  3416. // the output. If Auto is specified, Elastic Transcoder interlaces the output.
  3417. //
  3418. // ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)
  3419. //
  3420. // The color space conversion Elastic Transcoder applies to the output video.
  3421. // Color spaces are the algorithms used by the computer to store information
  3422. // about how to render color. Bt.601 is the standard for standard definition
  3423. // video, while Bt.709 is the standard for high definition video.
  3424. //
  3425. // Valid values include None, Bt709toBt601, Bt601toBt709, and Auto.
  3426. //
  3427. // If you chose Auto for ColorSpaceConversionMode and your output is interlaced,
  3428. // your frame rate is one of 23.97, 24, 25, 29.97, 50, or 60, your SegmentDuration
  3429. // is null, and you are using one of the resolution changes from the list below,
  3430. // Elastic Transcoder applies the following color space conversions:
  3431. //
  3432. // Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
  3433. // Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
  3434. // HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
  3435. // HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
  3436. // Elastic Transcoder may change the behavior of the ColorspaceConversionMode
  3437. // Auto mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode.
  3438. // If you do not specify a ColorSpaceConversionMode, Elastic Transcoder does
  3439. // not change the color space of a file. If you are unsure what ColorSpaceConversionMode
  3440. // was applied to your output file, you can check the AppliedColorSpaceConversion
  3441. // parameter included in your job response. If your job does not have an AppliedColorSpaceConversion
  3442. // in its response, no ColorSpaceConversionMode was applied.
  3443. //
  3444. // ChromaSubsampling
  3445. //
  3446. // The sampling pattern for the chroma (color) channels of the output video.
  3447. // Valid values include yuv420p and yuv422p.
  3448. //
  3449. // yuv420p samples the chroma information of every other horizontal and every
  3450. // other vertical line, yuv422p samples the color information of every horizontal
  3451. // line and every other vertical line.
  3452. //
  3453. // LoopCount (Gif Only)
  3454. //
  3455. // The number of times you want the output gif to loop. Valid values include
  3456. // Infinite and integers between 0 and 100, inclusive.
  3457. CodecOptions map[string]*string `type:"map"`
  3458. // The value that Elastic Transcoder adds to the metadata in the output file.
  3459. DisplayAspectRatio *string `type:"string"`
  3460. // Applicable only when the value of Video:Codec is one of H.264, MPEG2, or
  3461. // VP8.
  3462. //
  3463. // Whether to use a fixed value for FixedGOP. Valid values are true and false:
  3464. //
  3465. // true: Elastic Transcoder uses the value of KeyframesMaxDist for the distance
  3466. // between key frames (the number of frames in a group of pictures, or GOP).
  3467. // false: The distance between key frames can vary. FixedGOP must be set to
  3468. // true for fmp4 containers.
  3469. FixedGOP *string `type:"string"`
  3470. // The frames per second for the video stream in the output file. Valid values
  3471. // include:
  3472. //
  3473. // auto, 10, 15, 23.97, 24, 25, 29.97, 30, 60
  3474. //
  3475. // If you specify auto, Elastic Transcoder uses the detected frame rate of
  3476. // the input source. If you specify a frame rate, we recommend that you perform
  3477. // the following calculation:
  3478. //
  3479. // Frame rate = maximum recommended decoding speed in luma samples/second
  3480. // / (width in pixels * height in pixels)
  3481. //
  3482. // where:
  3483. //
  3484. // width in pixels and height in pixels represent the Resolution of the output
  3485. // video. maximum recommended decoding speed in Luma samples/second is less
  3486. // than or equal to the maximum value listed in the following table, based on
  3487. // the value that you specified for Level. The maximum recommended decoding
  3488. // speed in Luma samples/second for each level is described in the following
  3489. // list (Level - Decoding speed):
  3490. //
  3491. // 1 - 380160 1b - 380160 1.1 - 76800 1.2 - 1536000 1.3 - 3041280 2 - 3041280
  3492. // 2.1 - 5068800 2.2 - 5184000 3 - 10368000 3.1 - 27648000 3.2 - 55296000 4
  3493. // - 62914560 4.1 - 62914560
  3494. FrameRate *string `type:"string"`
  3495. // Applicable only when the value of Video:Codec is one of H.264, MPEG2, or
  3496. // VP8.
  3497. //
  3498. // The maximum number of frames between key frames. Key frames are fully encoded
  3499. // frames; the frames between key frames are encoded based, in part, on the
  3500. // content of the key frames. The value is an integer formatted as a string;
  3501. // valid values are between 1 (every frame is a key frame) and 100000, inclusive.
  3502. // A higher value results in higher compression but may also discernibly decrease
  3503. // video quality.
  3504. //
  3505. // For Smooth outputs, the FrameRate must have a constant ratio to the KeyframesMaxDist.
  3506. // This allows Smooth playlists to switch between different quality levels while
  3507. // the file is being played.
  3508. //
  3509. // For example, an input file can have a FrameRate of 30 with a KeyframesMaxDist
  3510. // of 90. The output file then needs to have a ratio of 1:3. Valid outputs would
  3511. // have FrameRate of 30, 25, and 10, and KeyframesMaxDist of 90, 75, and 30,
  3512. // respectively.
  3513. //
  3514. // Alternately, this can be achieved by setting FrameRate to auto and having
  3515. // the same values for MaxFrameRate and KeyframesMaxDist.
  3516. KeyframesMaxDist *string `type:"string"`
  3517. // If you specify auto for FrameRate, Elastic Transcoder uses the frame rate
  3518. // of the input video for the frame rate of the output video. Specify the maximum
  3519. // frame rate that you want Elastic Transcoder to use when the frame rate of
  3520. // the input video is greater than the desired maximum frame rate of the output
  3521. // video. Valid values include: 10, 15, 23.97, 24, 25, 29.97, 30, 60.
  3522. MaxFrameRate *string `type:"string"`
  3523. // The maximum height of the output video in pixels. If you specify auto, Elastic
  3524. // Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric
  3525. // value, enter an even integer between 96 and 3072.
  3526. MaxHeight *string `type:"string"`
  3527. // The maximum width of the output video in pixels. If you specify auto, Elastic
  3528. // Transcoder uses 1920 (Full HD) as the default value. If you specify a numeric
  3529. // value, enter an even integer between 128 and 4096.
  3530. MaxWidth *string `type:"string"`
  3531. // When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars
  3532. // to the top and bottom and/or left and right sides of the output video to
  3533. // make the total size of the output video match the values that you specified
  3534. // for MaxWidth and MaxHeight.
  3535. PaddingPolicy *string `type:"string"`
  3536. // To better control resolution and aspect ratio of output videos, we recommend
  3537. // that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy,
  3538. // and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups
  3539. // of settings are mutually exclusive. Do not use them together.
  3540. //
  3541. // The width and height of the video in the output file, in pixels. Valid
  3542. // values are auto and width x height:
  3543. //
  3544. // auto: Elastic Transcoder attempts to preserve the width and height of
  3545. // the input file, subject to the following rules. width x height: The width
  3546. // and height of the output video in pixels. Note the following about specifying
  3547. // the width and height:
  3548. //
  3549. // The width must be an even integer between 128 and 4096, inclusive. The
  3550. // height must be an even integer between 96 and 3072, inclusive. If you specify
  3551. // a resolution that is less than the resolution of the input file, Elastic
  3552. // Transcoder rescales the output file to the lower resolution. If you specify
  3553. // a resolution that is greater than the resolution of the input file, Elastic
  3554. // Transcoder rescales the output to the higher resolution. We recommend that
  3555. // you specify a resolution for which the product of width and height is less
  3556. // than or equal to the applicable value in the following list (List - Max width
  3557. // x height value): 1 - 25344 1b - 25344 1.1 - 101376 1.2 - 101376 1.3 - 101376
  3558. // 2 - 101376 2.1 - 202752 2.2 - 404720 3 - 404720 3.1 - 921600 3.2 - 1310720
  3559. // 4 - 2097152 4.1 - 2097152
  3560. Resolution *string `type:"string"`
  3561. // Specify one of the following values to control scaling of the output video:
  3562. //
  3563. // Fit: Elastic Transcoder scales the output video so it matches the value
  3564. // that you specified in either MaxWidth or MaxHeight without exceeding the
  3565. // other value. Fill: Elastic Transcoder scales the output video so it matches
  3566. // the value that you specified in either MaxWidth or MaxHeight and matches
  3567. // or exceeds the other value. Elastic Transcoder centers the output video and
  3568. // then crops it in the dimension (if any) that exceeds the maximum value.
  3569. // Stretch: Elastic Transcoder stretches the output video to match the values
  3570. // that you specified for MaxWidth and MaxHeight. If the relative proportions
  3571. // of the input video and the output video are different, the output video will
  3572. // be distorted. Keep: Elastic Transcoder does not scale the output video.
  3573. // If either dimension of the input video exceeds the values that you specified
  3574. // for MaxWidth and MaxHeight, Elastic Transcoder crops the output video. ShrinkToFit:
  3575. // Elastic Transcoder scales the output video down so that its dimensions match
  3576. // the values that you specified for at least one of MaxWidth and MaxHeight
  3577. // without exceeding either value. If you specify this option, Elastic Transcoder
  3578. // does not scale the video up. ShrinkToFill: Elastic Transcoder scales the
  3579. // output video down so that its dimensions match the values that you specified
  3580. // for at least one of MaxWidth and MaxHeight without dropping below either
  3581. // value. If you specify this option, Elastic Transcoder does not scale the
  3582. // video up.
  3583. SizingPolicy *string `type:"string"`
  3584. // Settings for the size, location, and opacity of graphics that you want Elastic
  3585. // Transcoder to overlay over videos that are transcoded using this preset.
  3586. // You can specify settings for up to four watermarks. Watermarks appear in
  3587. // the specified size and location, and with the specified opacity for the duration
  3588. // of the transcoded video.
  3589. //
  3590. // Watermarks can be in .png or .jpg format. If you want to display a watermark
  3591. // that is not rectangular, use the .png format, which supports transparency.
  3592. //
  3593. // When you create a job that uses this preset, you specify the .png or .jpg
  3594. // graphics that you want Elastic Transcoder to include in the transcoded videos.
  3595. // You can specify fewer graphics in the job than you specify watermark settings
  3596. // in the preset, which allows you to use the same preset for up to four watermarks
  3597. // that have different dimensions.
  3598. Watermarks []*PresetWatermark `type:"list"`
  3599. metadataVideoParameters `json:"-" xml:"-"`
  3600. }
  3601. type metadataVideoParameters struct {
  3602. SDKShapeTraits bool `type:"structure"`
  3603. }
  3604. // String returns the string representation
  3605. func (s VideoParameters) String() string {
  3606. return awsutil.Prettify(s)
  3607. }
  3608. // GoString returns the string representation
  3609. func (s VideoParameters) GoString() string {
  3610. return s.String()
  3611. }
  3612. // Elastic Transcoder returns a warning if the resources used by your pipeline
  3613. // are not in the same region as the pipeline.
  3614. //
  3615. // Using resources in the same region, such as your Amazon S3 buckets, Amazon
  3616. // SNS notification topics, and AWS KMS key, reduces processing time and prevents
  3617. // cross-regional charges.
  3618. type Warning struct {
  3619. // The code of the cross-regional warning.
  3620. Code *string `type:"string"`
  3621. // The message explaining what resources are in a different region from the
  3622. // pipeline.
  3623. //
  3624. // Note: AWS KMS keys must be in the same region as the pipeline.
  3625. Message *string `type:"string"`
  3626. metadataWarning `json:"-" xml:"-"`
  3627. }
  3628. type metadataWarning struct {
  3629. SDKShapeTraits bool `type:"structure"`
  3630. }
  3631. // String returns the string representation
  3632. func (s Warning) String() string {
  3633. return awsutil.Prettify(s)
  3634. }
  3635. // GoString returns the string representation
  3636. func (s Warning) GoString() string {
  3637. return s.String()
  3638. }